2026-08-22 · 让公式指向自己的编号
0. 导读与元结构 (Orientation & Meta-structure)
形式系统只能按规则操作符号;“这个句子谈论自己”却像是在系统外部替句子配了一面镜子。真正的问题是:一个算术公式如何在不新增“引用”原语的情况下,获得关于自身句法的可证明陈述?
今天把对象分成四层:
- 元语言中的有限字符串,例如公式 ;
- 元语言中的自然数 ,即公式的 Gödel number(Gödel 编号);
- 对象语言中的数词 ,它在标准模型中表示上述自然数;
- 理论 内的可证关系 。
三者绝不能混型:公式不是自然数,自然数也不是对象语言中的字符串;把元句法编码成数,再用数词送回对象语言,才形成闭环。为减轻记号,后文按惯例把 简写为 ,但这个横线所表示的类型转换始终存在。
先修:一阶公式、自由变量与代入,自然数的原始递归函数,以及“”的元语言含义。去向:Gödel 第一定理与第二不完备定理、Tarski 真不可定义定理、Löb 定理和 provability logic(可证性逻辑)。主导 proof engines 是有效编码、句法操作的原始递归性、在弱算术中的可表示性,以及一次精确的“把代码输入给自身”的对角代入。
这是三日 exploration micro-arc 的第 1 日。今天只造发动机——对角引理;第 2 日才把 取成“编号 的句子不可证”,并审计不可证与不可否证分别需要什么假设;第 3 日再把证明过程内化,进入一致性陈述与第二不完备定理。
1. 核心概念、定理与谱系 (Concept, Theorem & Lineage)
1.1 从有限句法到自然数运算
固定一阶算术语言 ,并固定一种 effective Gödel numbering(有效 Gödel 编号):每个 -项、公式与有限推导都获得一个自然数代码,而且下列元句法判定与操作在代码上是原始递归的:
- : 是否为公式代码;
- : 是否为句子代码;
- :从公式代码得到其否定的代码;
- :若 编码一个指定自由变量为 的公式,就把数词 代入 ,输出所得公式的代码。
对非法输入可任取一个默认输出,使这些函数在 上全定义;这不会影响后面只对合法公式代码的使用。编码的具体质因数方案并不重要,重要的是“编码、识别、拼接、代入”都能由有限机械步骤完成。[1]
设 为 Robinson arithmetic(Robinson 算术)。今天只用它的一个关键能力:每个原始递归函数都可在 中用算术公式 numeralwise represent(逐数词表示),并可选取表示使正确输出对固定输入具有可证明的唯一性。具体到 ,存在公式 ,使得对所有 ,若 ,则
这里 是对象语言中的三元算术公式; 是元语言中的自然数函数。可表示性正是两层之间的接口。
1.2 对角引理:完整量词与构造
定理(Diagonal Lemma / Fixed-point Lemma,对角引理 / 固定点引理)。 设 是算术语言中的任意一阶理论,且 。则
其中 是 的简写。定理不假设 一致,也不假设 的公理可判定;这些假设在把固定点用于“ 内的可证性谓词”时才进入。
证明。 固定只有变量 可能自由出现的公式 。利用上节表示代入的公式 ,定义另一个一元公式
令
按 的定义, 恰是把 的代码 输入给其自身自由变量所得句子的代码,即
由 对 的带唯一性表示,
又因 ,同一公式在 中可证。于是
证毕。[2]
证明中真正的“对角”只有一步:把 的代码 同时放进 的公式代码槽与代入数值槽。句子 不是凭空写下的语义悖论,而是由可计算代入操作机械产生的固定点。
1.3 为什么这会通向不完备性
若 还是 recursively axiomatizable(递归可公理化)的,并含有足够的初等算术,则“ 编码一份 -证明,其末行代码为 ”可被算术公式 表示。定义 provability predicate(可证性谓词)
把对角引理应用于
就得到一个句子 ,满足
这只是构造固定点,还不是不完备定理。要从中推出 ,必须把“外部确有一份 -证明”转成“ 内证明其代码满足 ”,并使用 的一致性;要推出 ,Gödel 原证明还需要更强的 -一致性或相应的 1-一致性条件,Rosser 才把第一定理的假设降到普通一致性。明日将逐步分账。
谱系与现代延伸。 Gödel 1931 年的原论文为形式表达式与证明配置自然数代码,再让元数学关系进入算术;现代教材通常把其中反复出现的替换机制抽离成上面的对角引理。[1][3] 同一固定点机器并不限于“不可能证明”:把 换成含可证性谓词的其他公式,会导向 Löb 定理;把“程序作用于自己的代码”放到可计算函数世界,则与 Kleene recursion theorem(Kleene 递归定理)形成平行结构。共同机制不是含混的“自我意识”,而是有效表示系统拥有可执行的 quotation-plus-substitution(引用加代入)接口。
2. 固定模板习题 (Template Exercise)
题目
设 为任意集合, 为任意函数。证明 不可能为满射。亦即证明
模板识别
信号是“把每个索引 配给一个关于 的对象 ,并要求构造一个不在像中的对象”。遇到这类 surjectivity obstruction(满射障碍),尝试在第 个位置故意与 相反;这就是 diagonal anti-surjection(对角反满射)模板。
分级提示
- 新集合 必须是 的子集;请用一个关于“ 是否属于 ”的谓词定义它。
- 令 。
- 若 满射,则存在 使 ;只检查元素 自己是否属于这两个集合。
- 把定义和 并列,会得到 。
3. 大家之言 (Mathematician in Their Own Words)
语境。 Kurt Gödel 在 1931 年发表于 Monatshefte für Mathematik und Physik 的论文 Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I 中,于脚注 14 专门解释所构造的不可判定句为何不是循环论证。本文已按 Springer 的原文页面核对下面这句短引。[3]
“Ein solcher Satz hat entgegen dem Anschein nichts Zirkelhaftes an sich, denn er behauptet zunächst die Unbeweisbarkeit einer ganz bestimmten Formel”
“这样的命题虽表面如此,实则并无循环性,因为它首先断言某个完全特定的公式不可证。”
释义(paraphrase)。 Gödel 随后说明:该句首先断言某个完全特定的公式不可证;只有在构造完成以后,才发现被谈论的公式恰好就是表达该断言的公式本身。
这段话揭示的不是一般性的“大胆自指”,而是一条严格方法论:先在元语言中指定代码与代入操作,证明所得对象满足形式等价式,最后才允许用“它谈论自己”作直观简称。换言之,解释应当追随 construction(构造),不可取代 construction。今天证明里的 正是消除循环疑虑的技术核心。
4. 反例与边界 (Counterexample & Boundary)
4.1 对角引理本身不产生独立命题
取
逐项检查:
- 扩张 ,所以第 1 节的句法编码与对角引理仍适用;
- 不一致,因为 ,而新增公理给出 ;
- 在经典逻辑中,由矛盾可推出任意句子,故对每个句子 ,都有
- 因而即使对角引理构造出也绝无“ 既不可证又不可否证”的结论。
暴露的边界是:固定点机制不要求一致性;从固定点到独立性才要求一致性。 把二者合并成一句“自指导致不可证”会丢掉真正的证明依赖。
4.2 “递归可公理化”本身也不推出不完备
Presburger arithmetic(Presburger 算术)研究标准自然数中的加法一阶理论。它具有下列性质:[1]
- 有标准模型 ,故一致;
- 可判定,因而其定理集可递归枚举;
- 完备:对语言中的每个句子 ,理论证明 或证明 ;
- 它不具备含乘法的 Robinson 算术 所提供的标准算术强度,因此第 1 节所调用的“在 中表示所需句法函数”这一充分条件并不成立。
所以附近的错误命题
“每个一致且递归可公理化的无限理论都不完备”
被 Presburger 算术直接否定。Gödel 不完备性的适用条件不是形式系统“很大”或对象“无限”,而是系统能在内部承载足够的自然数算术,尤其能把证明检查和对角代入转成可表示的数论关系。
最后再校准一句常见简称:对角引理给的是
不是字符串恒等式
左式是理论内可证等价;右式若被理解成两个公式逐字符相同,通常既非构造目标,也非证明所需。把 material equivalence(实质等价)误读成意义或字符串同一,正是“循环悖论”错觉的来源之一。[1]
5. 今日一问与数学地图 (Question & Map)
今日一问。 设 是一致、递归可公理化且包含 的理论;令 满足
请把下面两个目标分开审计:
为什么第一个目标只需普通一致性,而沿 Gödel 原谓词证明第二个目标时会碰到更强的 1-一致性障碍?如果把“某命题有证明”改成“它有一份早于其否定之任何证明的证明”,Rosser 的证明次序比较可能在哪一步消除这项障碍?
方向提示。 对第一式,暂时假设 ,把这份外部证明的具体代码送入 ;对第二式,不要把“ 没有证明”误写成“ 证明没有证明”,而要追踪一个存在量词式可证性陈述何时可能在标准模型中为假。
数学地图。 路线为
向一侧走,真谓词的固定点导向 Tarski undefinability(Tarski 不可定义性);向另一侧走,把“可证性对蕴含封闭”等事实在 内形式化,导向 Hilbert–Bernays–Löb derivability conditions(可导条件)、第二不完备定理与可证性逻辑。模型论方向则追问:为何非标准自然数会在某些模型中充当“非标准长度证明”的代码。
附录 A:习题完整解答 (Full Solution)
展开完整解答
模板:对角反满射 (diagonal anti-surjection)。
给定任意集合 与任意函数 ,定义
这个定义逐项决定 的成员,所以 ,即 。
下面证明 不在 的像中。反设存在 使
由 的定义,取 ,得到
再用 代换右侧,便有
矛盾。因此
于是 不是满射。由于 与 均任意,得到
复用该模板时应识别三步:按索引构造“相反坐标”的对象;假设它等于某个被枚举对象;在该对象自己的索引处制造双条件矛盾。与第 1 节相比,Cantor 证明在成员关系上翻转对角项;Gödel 构造则先把代入操作编码进算术,再让公式代码成为自己的输入。二者共享对角机制,但对象类型与结论不可混同。
资料与来源 (Sources)
- Stanford Encyclopedia of Philosophy, “Gödel’s Incompleteness Theorems,” 尤见 §§1.2.3、2.2–2.5:形式理论的条件、可表示性、句法算术化、对角引理、Presburger 边界与第一定理。https://plato.stanford.edu/entries/goedel-incompleteness/
- Stanford Encyclopedia of Philosophy, supplement “The Diagonalization Lemma”:以代入函数表示公式构造 与固定点 的逐步证明。https://plato.stanford.edu/entries/goedel-incompleteness/sup2.html
- Kurt Gödel, “Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I,” Monatshefte für Mathematik und Physik 38(1), 173–198 (1931), DOI
10.1007/BF01700692;第 3 节短引核自该页面所呈脚注 14。https://link.springer.com/article/10.1007/BF01700692