更改

跳到导航 跳到搜索
删除5字节 、 2026年9月8日 (星期二)
第10行: 第10行:  
'''第二递归定理(日常语言版)''':''对任何可计算的全函数 <math>f</math>(一个对任何输入都停机的"程序变换"),总存在一个源程序 <math>c</math>,使得执行 <math>c</math> 的效果,等同于执行 <math>f(c)</math>——即 <math>f</math> 拿着 <math>c</math> 自己的源代码算出来的那个程序。'' 用符号写就是:<math>\phi_c = \phi_{f(c)}</math>。<ref name="rogers1967" />
 
'''第二递归定理(日常语言版)''':''对任何可计算的全函数 <math>f</math>(一个对任何输入都停机的"程序变换"),总存在一个源程序 <math>c</math>,使得执行 <math>c</math> 的效果,等同于执行 <math>f(c)</math>——即 <math>f</math> 拿着 <math>c</math> 自己的源代码算出来的那个程序。'' 用符号写就是:<math>\phi_c = \phi_{f(c)}</math>。<ref name="rogers1967" />
   −
'''第一递归定理(日常语言版)''':''任何递归定义——即把一个函数在某处的值,写成它自己在其他输入上的值(比如阶乘 <math>fac(n) = n\cdot fac(n−1)</math>)——都必然有解,而且其中"最小"的那个解一定能被机器算出。'' 换句话说,'''机械式的递归定义永远合法、永远有解'''。<ref name="rogers1967" />
+
'''第一递归定理(日常语言版)''':''任何递归定义——即把一个函数在某处的值,写成它自己在其他输入上的值(比如阶乘 <math>fac(n) = n\cdot fac(n−1)</math>)——都必然有解'' ,而且其中"最小"的那个解一定能被机器算出。换句话说,'''机械式的递归定义永远合法、永远有解'''。<ref name="rogers1967" />
    
两个定理的对照表(其中涉及的符号会在第二节逐一解释,此处可先跳过细节):
 
两个定理的对照表(其中涉及的符号会在第二节逐一解释,此处可先跳过细节):
第46行: 第46行:     
第二递归定理被 [[Yiannis N. Moschovakis|Moschovakis]] 称为 '''"令人惊叹的"(amazing)'''——他的综述标题就叫 ''Kleene's Amazing Second Recursion Theorem''<ref name="moschovakis2010" />;计算机科学家 Neil Jones 称之'''"可计算性的瑞士军刀"(A Swiss Pocket Knife for Computability)'''〔转引自 Kiselyov, §1〕。它的一行证明看似只是个小技巧,却支撑了从 [[哥德尔|Gödel]] 不完备定理到[[序数]]理论、从程序自复制到有效[[描述集合论]]的庞大理论大厦(详见第五、六节)。
 
第二递归定理被 [[Yiannis N. Moschovakis|Moschovakis]] 称为 '''"令人惊叹的"(amazing)'''——他的综述标题就叫 ''Kleene's Amazing Second Recursion Theorem''<ref name="moschovakis2010" />;计算机科学家 Neil Jones 称之'''"可计算性的瑞士军刀"(A Swiss Pocket Knife for Computability)'''〔转引自 Kiselyov, §1〕。它的一行证明看似只是个小技巧,却支撑了从 [[哥德尔|Gödel]] 不完备定理到[[序数]]理论、从程序自复制到有效[[描述集合论]]的庞大理论大厦(详见第五、六节)。
−
  −
---
      
== 预备知识:读懂本词条所需的全部概念 ==
 
== 预备知识:读懂本词条所需的全部概念 ==

导航菜单