更改

跳到导航 跳到搜索
删除52字节 、 2026年9月8日 (星期二)
第126行: 第126行:  
=== 定理表述 ===
 
=== 定理表述 ===
   −
'''定义(可计算的变换规则)''':如果变换 <math>\Psi</math> 满足下面两条,就称它是'''递归算子(recursive operator)''':
+
'''定义(可计算的变换规则)''':如果变换 <math>\Psi</math> 满足下面两条,就称它是'''[[递归算子]](recursive operator)''':
   −
1. '''单调性''':<math>\phi \subseteq \psi</math>(即 <math>\psi</math> 在 <math>\phi</math> 有定义的地方都有定义且取值相同)蕴含 <math>\Psi(\phi) \subseteq \Psi(\psi)</math>;
+
# '''单调性''':<math>\phi \subseteq \psi</math>(即 <math>\psi</math> 在 <math>\phi</math> 有定义的地方都有定义且取值相同)蕴含 <math>\Psi(\phi) \subseteq \Psi(\psi)</math>;
−
2. '''有限性/连续性''':<math>\Psi(\phi)</math> 的每个输出只依赖 <math>\phi</math> 在'''有限个'''输入上的值。
+
# '''有限性/连续性''':<math>\Psi(\phi)</math> 的每个输出只依赖 <math>\phi</math> 在'''有限个'''输入上的值。
   −
直觉地说,第二条就是"机器在任何时刻只能查看有限多的已有计算结果"——这是"机械可执行"的数学化。阶乘、斐波那契、以及绝大多数程序语言中的递归定义都满足这两条。<ref name="rogers1967" />
+
直觉地说,第二条就是"机器在任何时刻只能查看有限多的已有计算结果"——这是"机械可执行"的数学化。[[阶乘]]、[[斐波那契数列]]、以及绝大多数程序语言中的递归定义都满足这两条<ref name="rogers1967" />.
   −
> '''第一递归定理''':设 <math>\Psi</math> 是递归算子,则存在函数 <math>\phi</math> 使得:
+
* '''第一递归定理''':设 <math>\Psi</math> 是递归算子,则存在函数 <math>\phi</math> 使得:
−
>
  −
> 1. <math>\Psi(\phi) = \phi</math>(<math>\phi</math> 是方程的解,即 <math>\Psi</math> 的不动点);
  −
> 2. '''最小性''':任何其他解 <math>\psi</math> 都满足 <math>\phi \subseteq \psi</math>(<math>\phi</math> 是"信息最少"的解);
  −
> 3. '''可计算性''':<math>\phi</math> 是可计算的部分函数。
  −
>
  −
> <ref name="rogers1967" />
     −
'''证明思路'''(两分钟版):从"处处无定义的空函数"出发,反复应用 <math>\Psi</math>:<math>\phi_0</math> = 空,<math>\phi_1 = \Psi(\phi_0)</math>,<math>\phi_2 = \Psi(\phi_1)</math>,<math>\ldots</math><math>\ldots</math>。单调性保证这个序列不断"变长"(每次迭代只增不减);有限性保证最终收敛到一个函数 <math>\phi</math>,且 <math>\Psi(\phi) = \phi</math>;"每一步都是机械操作"保证 <math>\phi</math> 整体可计算。取所有 <math>\phi</math>ₙ 的并就是答案。<ref name="rogers1967" />
+
# <math>\Psi(\phi) = \phi</math>(<math>\phi</math> 是方程的解,即 <math>\Psi</math> 的不动点);
 +
# '''最小性''':任何其他解 <math>\psi</math> 都满足 <math>\phi \subseteq \psi</math>(<math>\phi</math> 是"信息最少"的解);
 +
# '''可计算性''':<math>\phi</math> 是可计算的部分函数。
   −
'''例子''':方程组 <math>\phi(1) = 2</math>,<math>\phi(2x) = 2</math><math>\phi(x)</math> 对应一个递归算子,其最小不动点是:<math>\phi(x) = x</math>(当 x 是 2 的幂),其余输入无定义。注意"最小性"自动处理了定义不完整的分支——机器在"非 2 的幂"上自然发散。<ref name="rogers1967" />
+
* '''证明思路'''(两分钟版):从"处处无定义的空函数"出发,反复应用 <math>\Psi</math>:<math>\phi_0</math> = 空,<math>\phi_1 = \Psi(\phi_0)</math>,<math>\phi_2 = \Psi(\phi_1),\ldots\ldots</math>。单调性保证这个序列不断"变长"(每次迭代只增不减);有限性保证最终收敛到一个函数 <math>\phi</math>,且 <math>\Psi(\phi) = \phi</math>;"每一步都是机械操作"保证 <math>\phi</math> 整体可计算。取所有 <math>\phi_n</math>的并就是答案<ref name="rogers1967" />。
 +
 
 +
* '''例子''':方程组 <math>\phi(1) = 2</math>,<math>\phi(2x) = 2\phi(x)</math> 对应一个递归算子,其最小不动点是:<math>\phi(x) = x</math>(当 <math>x</math> 是 2 的幂),其余输入无定义。注意"最小性"自动处理了定义不完整的分支——机器在"非 2 的幂"上自然发散<ref name="rogers1967" />。
    
=== 意义:递归定义的"存在性定理" ===
 
=== 意义:递归定义的"存在性定理" ===

导航菜单