形式陈述
一个函数在自然数上可计算,怎样变成算术理论能够使用的事实?固定皮亚诺算术 PA 公理库 皮亚诺算术 Peano arithmetic · PA 用一阶语言公理化自然数的零、后继、加法、乘法与归纳模式的形式理论。 ,以 n ― = S n 0 表示标准自然数 n 的数码。总函数 f : N k → N 的一个逐输入唯一图表示 是公式 F ( x , y ) ,自由变量仅在所列变量中,满足:对每组标准输入 n ,若 f ( n ) = m ,则
PA ⊢ F ( n ― , m ― ) , PA ⊢ ∀ y ( F ( n ― , y ) → y = m ― ) . 这里 ⊢ 是语法可推导关系 公理库 句法可推导关系 Syntactic derivability · Provability relation 用有限形式证明把前提集与可由它推出的公式联系起来的元关系。 。两式合起来等价于
PA ⊢ ∀ y ( F ( n ― , y ) ↔ y = m ― ) . “对每组标准输入”在元语言中量化:每给定一组实际自然数,就有相应有限证明;并未把这一族证明直接换成一个以 x 为变量的统一定理。
对于关系 R ( n ) ,通常另称公式 ρ 逐数值表示 R ,若真实例可证 ρ ( n ― ) ,假实例可证 ¬ ρ ( n ― ) 。只把函数图看成这种关系,条件会弱于上面的逐输入唯一性:排除每个错误的标准输出,并不自动排除模型中任意非标准见证。后续对角证明使用的是明确写出的唯一图表示。
直觉
表示公式像一份可在算术内部核验的计算记录。外部先算出答案 m ;内部不仅能确认该答案,还能证明任何满足这份记录的输出都等于 m ― 。第二步允许在证明中取出一个未指定的存在见证,再将它替换为已知数码。
必须区分三个层次。N ⊨ F ( n ― , m ― ) 是标准模型中的语义断言;PA ⊢ F ( n ― , m ― ) 要求一份形式证明;PA ⊢ ∀ x ∃ ! y F ( x , y ) 则是关于全部输入的统一存在唯一性定理。逐输入表示固定的是标准输入;统一总性则在理论的每个模型中量化所有输入元素,需要单独证明。
例子与边界
后继:表示式没有隐藏算法
取 s ( n ) = n + 1 ,令 F s ( x , y ) 为 y = S x 。给定标准 n ,S n ― 按数码定义就是 n + 1 ― ,所以 PA 由等号逻辑证明
F s ( n ― , n + 1 ― ) , ∀ y ( F s ( n ― , y ) → y = n + 1 ― ) . 在这个例子中还可直接证明统一总性:以 S x 作见证,等号给出唯一性。这是由 y = S x 的具体形式得到的额外性质。
复合:唯一性怎样传给下一步
设 f , g : N → N 分别由 F ( x , u ) , K ( u , y ) 表示,先改名避免变量捕获。对 h = g ∘ f 定义
H ( x , y ) := ∃ u ( F ( x , u ) ∧ K ( u , y ) ) . 固定标准 n ,设 f ( n ) = r 、g ( r ) = s 。两个表示式给出 F ( n ― , r ― ) 与 K ( r ― , s ― ) ,因此以 r ― 作见证证明 H ( n ― , s ― ) 。
反过来,若 H ( n ― , y ) ,取其见证 u 。F 的逐输入唯一性给出 u = r ― ;等号替换后得到 K ( r ― , y ) ,再由 K 的唯一性推出 y = s ― 。所有步骤都在 PA 内进行,故 H 表示复合函数。只知道每个错误标准输出都被否定,便不能在这一步消去任意的 u 。
例如把两个后继复合,得到
H ( x , y ) = ∃ u ( u = S x ∧ y = S u ) . 输入 3 ― 时,见证为 4 ― ,输出为 5 ― ;任何见证先被迫等于 4 ― ,输出再被迫等于 5 ― 。这已经展示了后面对角证明所需的“取见证—唯一性—等号替换”机制。
推论与应用
原始递归可表示性定理。 每个有限元原始递归函数 公理库 原始递归函数 Primitive recursive function · Primitive recursion 从零、后继和投影函数出发,有限次使用复合与原始递归构造出的自然数全函数。 都有上述逐输入唯一图表示,甚至在弱于 PA 的 Robinson 算术 Q 中便可得到,因此 PA 也可使用。这里引用完整定理;前面的后继与复合例子展示了其中两个构造分支。原始递归分支还要在算术中编码任意有限计算序列并验证相邻状态,标准证明使用序列编码或 β 函数技术,见 Smith 的 Theorem 17.1。
用于语法编码 公理库 语法的哥德尔编码 Gödel coding of syntax · Arithmetization of syntax 把有限项、公式和自由变量替换编码为自然数运算,为算术内部表达语法提供接口。 时,数码生成及闭项自由替换都是原始递归函数。于是对角代入函数 d 有一个公式 D ( x , y ) :一旦在元语言算出 d ( b ) = g ,即可取得理论内的值实例 D ( b ― , g ― ) 和逐输入唯一性。这是对角引理 公理库 对角引理 Diagonal lemma · Arithmetical fixed-point lemma 对任意一个自由变量的算术公式,构造与该公式作用于自身编码可证等价的句子。 的实际输入,不要求先证明 ∀ x ∃ ! y D ( x , y ) 。
验收练习。 对 H ( x , y ) = ∃ u ( u = S x ∧ y = S u ) 完成输入 3 的值与唯一性证明,并指出从 u = S 3 ― 到 u = 4 ― 用的是数码展开。再解释为什么“对每个标准 k ≠ 5 都证明 ¬ H ( 3 ― , k ― ) ”本身还不等于 ∀ y ( H ( 3 ― , y ) → y = 5 ― ) ;关键差别是后式的 y 遍历任意模型元素。
参考资料
Peter Smith,An Introduction to Gödel’s Theorems ,corrected second edition,§16.1 与 Theorem 17.1 ,印刷119、124–127页:函数的逐输入表示及原始递归可表示性完整结果。
Open Logic Project,The Open Logic Text: Incompleteness ,rev. 9620cc7,Definition 1.12、Theorem 3.27 :值实例、唯一性与更一般的可计算函数表示。