第15章:一致性与完备性——形式系统的两堵墙
你能建造一个不说谎、又无所不知的系统吗?
第14章给了我们一台精密的机器:形式系统接受公理,按推断规则运行,输出定理。这台机器看起来很可靠。但"看起来"不够好。我们需要知道它实际上有多可靠。
这个问题有两个维度,方向相反。
第一个维度:系统会不会说谎?也就是说,它证明出来的东西,是不是都真的成立?这叫一致性。
第二个维度:系统会不会遗漏?也就是说,所有真的东西,它能不能都证明出来?这叫完备性。
两个要求都很合理。20世纪初,数学家 David Hilbert 雄心勃勃地相信,可以为整个数学建立一个同时满足这两个条件的形式基础——严格、完备、无懈可击。这个计划叫做 Hilbert 纲领。
1931年,一个26岁的奥地利数学家,用两个定理,把这个纲领彻底摧毁了。
15.1 一致性:系统不说谎
先精确说清楚"说谎"是什么意思。
如果一个形式系统能同时证明某个命题
所以一致性是形式系统的底线,低于这条线的系统是废的。
兔狲教授评
"废"不是形容词,是诊断结论。一旦不一致,系统能证明所有命题,包括"1=2"。这不是系统"有点不对",而是系统失去了证明的全部意义——它能证明一切,等于什么都没证明。这是全面失效,不是局部故障。
"任何命题都可证"——为什么这是灾难?
这个推论有一个拉丁名:ex contradictione quodlibet(从矛盾可得任意结论)。证明过程非常短:已知
验证一致性的标准方法是构造一个模型——一个使所有公理为真的解释。命题逻辑是一致的,因为它的公理在真值表下都是重言式,而推断规则保持重言式的性质,所以系统不可能推出矛盾。
但对于更强的系统——比如皮亚诺算术——构造模型变得困难,依赖这类方法来保证一致性也变得靠不住。原因就在第二个定理里,稍后揭晓。
15.2 完备性:系统不遗漏
完备性说的是:凡是语义上成立的,句法上都可以证明。
更精确地,若
哥德尔 1930 年证明了一阶谓词逻辑满足这个性质。这是一个令人振奋的结果:一阶逻辑的推断规则恰好是"正确的",没有遗漏任何语义上应该成立的推断。
完备性定理的意义
这个定理说的是:我们写下的那些推断规则——假言推理、全称例化、存在引入……——恰好捕捉了所有语义上有效的推断,一条不多,一条不少。这不是设计的结果,而是一个需要证明的非平凡事实。如果完备性不成立,意味着有些"显然成立"的推断被规则体系遗漏了,需要补充新的推断规则——而哥德尔告诉你:不需要。
这是哥德尔带来的最后一个好消息。
兔狲教授评
"最后一个好消息"——这句话值得停一下。1930年的完备性定理和1931年的不完备定理,是同一个人在相邻两年里带来的,方向完全相反。一阶逻辑完备,足够强的算术系统不完备。边界就在这里,非常精确,不是模糊的悲观主义。
一年之后,他带来的是完全不同的东西。问题出在"足够强"这三个字上。一旦系统强大到能够表达算术——自然数、加法、乘法——完备性就永久地失去了。
15.3 哥德尔的两个定理
1931年,哥德尔发表了《论〈数学原理〉及相关系统的形式不可判定命题》。文章开头直接给出了结论,毫无铺垫:
定理一(第一不完备定理):任何足够强的一致形式系统,都包含既无法被证明也无法被反驳的命题。
定理二(第二不完备定理):任何足够强的一致形式系统,都无法在自身内部证明自身的一致性。
这两个定理的"足够强"是一个技术条件:系统能表达初等算术。皮亚诺算术满足,ZFC 集合论满足,几乎所有实际数学使用的系统都满足。
让我们追踪哥德尔是怎么做到的。
15.4 哥德尔编号:让系统看见自己
哥德尔的关键洞察可以用一句话说完:语法也是数学对象。
形式系统里的符号、公式、证明,全都是有限的字符串。有限字符串可以被编码为自然数——给每个符号分配一个数字,把公式编码为这些数字的某种算术组合。这个编码叫做哥德尔编号,把命题
一旦语法被编码为自然数,"这个命题在系统里可证"这件事,就变成了一个关于自然数的算术陈述。而皮亚诺算术恰好能表达关于自然数的陈述。于是系统获得了一种奇特的能力:它可以谈论自己。
编码是否是一种作弊?
这是一个合理的怀疑。哥德尔编号是否只是一种技巧性的把戏,实质上没有意义?不。编码的关键不是编号本身,而是:关于"哪些符号串是合法证明"的问题,可以用算术谓词表达——这是可以验证的数学事实,不依赖于编号的具体方式。换言之,任何足够强的算术系统,都能用自己的语言谈论"可证性"这件事,而不仅仅是谈论数字。哥德尔只是把这个可能性利用到了极致。
这就是自指的入口。
15.5 哥德尔句:说"我不可证"的命题
利用哥德尔编号,可以在系统内部表达一个谓词
现在的任务是:构造一个命题
这看起来像循环定义——
对角化引理解决的正是这个结。
先考虑一个一元谓词
构造分两步。
第一步:引入替换函数。 定义一个算术函数
第二步:写出自指公式。 取谓词
现在计算
关键观察:
把
现在来看
若
若
所以,在系统一致的前提下,
结论:在一致的系统里,
"从系统外部看出"是什么意思?
这是整个论证里最微妙的一步。我们说"
15.6 第二定理:系统无法为自己担保
第二不完备定理是第一个定理的一个推论,但它的冲击力不亚于第一个。
把"系统
第一定理的证明过程本身可以在系统内部被形式化——因为证明过程是有限的符号操作,而系统能表达算术。形式化之后,得到:
也就是说,系统自己能证明:"如果我是一致的,那么
现在假设系统还能证明自身一致,即
因此,系统不可能证明自身的一致性。
这不是谦虚,也不是能力不足。这是逻辑的结构性事实:你无法用一把尺子测量这把尺子本身是否准确。任何关于系统一致性的证明,都必须来自一个更强的外部系统,而那个更强系统的一致性又是一个悬而未决的问题——这个层级没有顶端。
兔狲教授评
真正震撼的是第二定理说的不是"很难",而是"原则上不可能"——不是工程问题,是逻辑结构问题。一个系统对自身一致性的证明,永远需要一个更强的外部系统背书。没有顶端。这才是重点,不是那把尺子的比喻。
那我们怎么相信 ZFC 是一致的?
实话实说:我们不能证明。数学界接受 ZFC 的理由是:它用了将近一百年,产生了大量相互一致的结果,没有出现矛盾。这是归纳推理,不是演绎证明。哥德尔第二定理告诉我们,这也是我们能做到的最好程度。数学的地基不是一块被证明无误的磐石,而是一个被反复压测、至今未裂的支撑结构。这个区别,比大多数数学课承认的要重要。
15.7 Hilbert 纲领的终结与遗产
Hilbert 的目标是建立一个完备、一致、可判定的数学基础。两个不完备定理说明了:
- 完备性:在足够强的一致系统里,不可能实现。
- 一致性的自我保证:不可能在系统内部完成。
- 可判定性:图灵 1936 年证明了不可能,这是第19章的故事。
三项目标,全军覆没。
但 Hilbert 不是失败者
Hilbert 纲领的失败是科学史上最有价值的失败之一。正是因为他把目标定得足够精确,哥德尔和图灵才能精确地证明那些目标不可达。如果 Hilbert 说的是"数学应该有个好的基础",就没有什么可以反驳,也没有什么可以学习。精确的问题,才能得到精确的否定答案——而精确的否定答案,比模糊的肯定答案更有价值。
但这不是悲剧的终点,而是一个更清醒认识的起点。Hilbert 纲领的失败没有让数学崩溃,而是让数学家更精确地知道了边界在哪里。边界之内,形式系统依然是人类历史上最可靠的知识建构工具。边界之外,是永久的开放问题——有些命题的真假,永远取决于你选择接受哪些公理。
这种清醒,比盲目的乐观更有价值。
15.8 实战:算术被形式化是什么感觉
本章一直在说"足够强的系统"——强到能表达算术。这不是抽象的描述。皮亚诺算术(PA)是这样一个系统,它有五条关于自然数的公理。在进入"悬而未决"之前,先花几分钟真实接触它。
皮亚诺公理(非形式版本):
是自然数。 - 每个自然数
都有唯一的后继 ,也是自然数。 不是任何自然数的后继(即不存在 使得 )。 - 不同的自然数有不同的后继:若
,则 。 - 数学归纳原理:若某个性质对
成立,且对任意 成立时对 也成立,则它对所有自然数成立。
在这五条公理里,加法可以被定义出来:
这不是约定,是定义——加法的全部行为由这两条递归方程决定。
练习:用这个定义,推出
首先约定符号:
每一步用了哪条定义?第一步是展开符号,第二步用了加法的第二条定义(
这就是
现在感受一下这个系统"足够强"是什么意思:它能表达所有关于自然数的初等陈述——"存在无穷多个质数"、"每个偶数是两个质数之和(哥德巴赫猜想)"、甚至"这个系统本身是否一致"——都可以在 PA 的语言里被写成公式。正是这种表达能力,让哥德尔的对角化引理得以发挥。一个系统能谈论自己,是因为它能谈论所有足够复杂的数论陈述——而关于自身的陈述,是数论陈述的一个特例。
悬而未决
不完备性与停机问题是同一件事吗? 哥德尔和图灵都通过自指构造建立了边界,两者在结构上高度相似。递归函数论给出了部分答案——它们确实是同一枚硬币的两面——但这个故事的全貌在第19章才会展开。
能否逃出不完备性? 把
不完备性是由哪条结构规则造成的? 第14章列出了三条在后台默默运行的结构规则:弱化、收缩、交换。哥德尔定理的存在,根植于系统足够强——而"足够强"依赖于假设可以被任意重复使用。如果我们质疑这一点——如果每个假设只能用一次——推理会变成什么?这是第16章的起点。
思考题
★ 热身
对角化引理的核心是替换函数
的输入是两个自然数,输出也是一个自然数。(对/错?) 的结果,是把公式 里的自由变量替换为公式 本身之后的哥德尔编号。(对/错?) - 哥德尔编号的具体方式(比如用质数幂乘积还是别的编码)会影响第一不完备定理的结论。(对/错?)
(这三道题的目的是确认:哥德尔编号是算术操作,不依赖编码方式的选择。)
★★ 推导
把哥德尔句
还是一致的吗?(提示: 在 中不可证意味着什么?把 加进去会和 的其他定理矛盾吗?) 有自己的哥德尔句 吗? 和 是同一个命题吗?为什么不是? - 这个过程可以无限重复。把所有这样的哥德尔句全部加入,得到的极限系统是否完备?试着用自然语言解释为什么答案是否定的——完备性逃不掉。
★★★ 挑战
第二不完备定理说:
试着用本章的语言写出:这个"外部论证"本身依赖什么?它用了哪个更强系统的一致性?这个更强系统的一致性,又依赖什么?
这个问题没有终点,但试着把无穷退回的结构写清楚——用
不需要解决这些问题——只需要想清楚为什么每个问题都比看起来的更难。
