LESSON 040 · MATHEMATICS · LOGIC

哥德尔不完备定理

Gödel's Incompleteness Theorems · the limits of what can be proved
提出者
库尔特·哥德尔
年份
1931
领域
数理逻辑 · 认识论
靶子
希尔伯特纲领
缘起 · 一个二十五岁的人拆掉了一座圣殿 ORIGIN

十九世纪末,数学出了乱子。集合论里长出了悖论(罗素 1901:那个"由一切不包含自身的集合组成的集合",包不包含自身?),微积分的地基被反复重铺,直觉不再可靠。数学家们决定:不再相信直觉,只相信形式——把全部数学化成一套明确的符号、公理与推理规则,像下棋一样机械地推演。

这项工程的旗手是大卫·希尔伯特(David Hilbert,1862–1943)。他的纲领要求一套形式系统同时满足三条:一致(推不出矛盾)、完备(每个真命题都推得出来)、可判定(有机械程序判断一个命题是否可证)。罗素与怀特海的《数学原理》(Principia Mathematica, 1910–13)花了三卷、几百页才推出"1+1=2",正是朝这个方向的苦役。1930 年 9 月 8 日,希尔伯特在柯尼斯堡的电台演讲里留下了那句后来刻上墓碑的话:"我们必须知道,我们必将知道。"(Wir müssen wissen. Wir werden wissen.)

而就在前一天,同一座城市的一场学术会议上,一位二十四岁的维也纳青年在讨论环节轻声说了几句话——几乎没人听懂,只有冯·诺依曼当场追上去追问。这个人叫库尔特·哥德尔(Kurt Gödel,1906–1978)。他刚刚证明:希尔伯特要的那三件事,不可能同时得到。1931 年,论文正式发表——《论〈数学原理〉及有关系统中的形式不可判定命题》。希尔伯特的墓碑落成时,那句"我们必将知道"已经被一个二十五岁的人反驳了。

原典 THE PRIMARY TEXT
KURT GÖDEL · 1931
第一不完备定理:任何一个一致的公理可有效枚举的、并且足以表达初等算术的形式系统中,都存在一个关于自然数的命题,它为真,却在该系统内既不可证明、也不可否证

第二不完备定理:这样的系统,无法在自身内部证明自己的一致性
——《Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I》,Monatshefte für Mathematik und Physik 38 (1931) · 中文转述

三个限定词,一个都不能少,它们才是这条定理的全部要害

哥德尔最漂亮的技术发明叫哥德尔编码(Gödel numbering):给每个符号、每个公式、每一步证明配一个自然数。于是"某公式在此系统内可证明"这件关于系统的陈述,被翻译成了一个关于自然数的算术命题。系统被逼着开口谈论自己。剩下的事,就是构造那句著名的自指句:"本命题在此系统内不可证明。"

释义 · 那句自己咬自己的话 PLAIN MEANING

先看古老的说谎者悖论:"这句话是假的。"——真则假,假则真,死循环。哥德尔的天才在于,他把"假的"换成了"不可证明的",悖论立刻变成了定理。构造出的句子 G 说:

"G 在系统 S 内不可证明。"

推一遍就好:若 S 能证明 G,那 S 就证明了一个假命题(G 说自己不可证),S 不一致;若 S 能否证 G(即证明 G 的反面"G 可证"),S 同样在撒谎。所以,只要 S 一致,S 就既证不出 G,也证不出非 G——而站在系统外面的我们看得清清楚楚:G 说的是真话,它确实证不出来。

这就是全部。它不神秘,也不玄学。用两句大白话记住:

而第二定理更让人难受:一个系统,越是想证明"我没病",越证明不了。一致性这件事,只能从外面、用更强的假设来担保——而那个更强的系统,同样无法自证。一路向上,没有尽头,没有终点站。

后人之论 LATER INTERPRETATIONS
阿尔弗雷德·塔斯基 ALFRED TARSKI · 1933

波兰逻辑学家塔斯基把刀又往里推了一层:哥德尔说"真"超出了"可证",塔斯基则证明了"真"这个概念本身在系统内根本无法定义——真理不可定义定理(1933 波兰文,1936 德文)。一个足够强的形式语言,无法在自身之内给出自己的真值谓词;要谈论一门语言的真假,你必须站到元语言里去。

但塔斯基还留下了极重要的另一半(常被忽略):他证明了实闭域理论与初等欧氏几何是完备且可判定的不完备不是数学的普遍宿命,而是"强到能做算术"这件事的代价。

格里高利·蔡廷 GREGORY CHAITIN · 1974

蔡廷用算法信息论重讲了一遍不完备,得到一个几乎更粗暴的版本:一个公理系统的"信息含量"是有限的,它无法证明任何比它自身复杂度更高的东西。具体说:对每个形式系统都存在一个常数 c,使得系统无法证明任何一个具体串的柯尔莫哥洛夫复杂度大于 c——尽管几乎所有串的复杂度都大于 c。

他还造出了那个著名的停机概率 Ω:一个定义明确、却不可计算的实数,它的二进制位几乎全是"数学上不可归约的事实"。蔡廷的说法是:数学里的真理,大部分是随机的——不是因为它们深奥,而是因为它们没有比自身更短的理由。(→ 与柯氏复杂度、香农熵 №010 同源)

卢卡斯 / 彭罗斯 · 侯世达 LUCAS 1961 · PENROSE 1989 · HOFSTADTER 1979

哲学家 J.R. 卢卡斯(1961)与物理学家罗杰·彭罗斯(《皇帝新脑》1989、《意识的阴影》1994)由此推出一个大胆论断:机器是形式系统,逃不出哥德尔句;而我们人类"看得出" G 是真的——所以人心不是机器。这是二十世纪最著名的哥德尔式论证,也是被反驳得最彻底的一个(见反例④)。

相反的路子是侯世达的《哥德尔、艾舍尔、巴赫》(1979,普利策奖):自指不是心智的豁免权,恰恰是心智的成因"怪圈"(strange loop)——一个系统折回来指涉自身——正是"我"这个东西得以浮现的机制。同一条定理,一个人用它证明人不是机器,另一个人用它解释机器如何能有"我"。

托克尔·弗兰岑 TORKEL FRANZÉN · 2005

瑞典逻辑学家弗兰岑写了一本专门"救火"的书——《Gödel's Theorem: An Incomplete Guide to Its Use and Abuse》。他的工作近乎清道夫:耐心地把每一种流行的哥德尔式引用拆开,指出它错在哪里。"不完备定理证明了真理是相对的"、"证明了科学有极限"、"证明了上帝存在"、"证明了后现代主义"——没有一个成立

他的核心提醒值得钉在墙上:哥德尔定理是关于"形式系统中形式可证性"的一个极其精确的数学陈述。它不谈心灵,不谈物理,不谈道德,不谈知识的普遍界限。把它搬出形式系统的门,它就不再是定理,只是一个响亮的比喻。

案例 CASE STUDIES
CASE 01 柯尼斯堡的那两天 1930-09-07/08 · 柯尼斯堡

9 月 7 日,"精确科学认识论会议"的圆桌讨论上,哥德尔在发言的末尾几乎是顺便地提到:可以举出内容上为真、却在形式系统内不可证的命题。会议记录显示,现场几乎无人反应。唯一当场领会其分量的是冯·诺依曼——他会后追上哥德尔细问,并很快自己推出了第二定理(发现哥德尔已先一步写出,遂作罢)。次日,希尔伯特在同城电台讲出了"我们必将知道"。

科学史上最刺眼的一次时间差:一个纲领的胜利宣言,与它的死刑判决,隔了不到二十四小时,且发生在同一座城市。而当时听懂判决的,只有一个人。
CASE 02 根岑:绕过去,但要付钱 1936 · 哥廷根

第二定理说"算术无法自证一致"。但格哈德·根岑(Gerhard Gentzen)1936 年做到了一件看似矛盾的事:他证明了皮亚诺算术的一致性。代价是——他用了一条皮亚诺算术本身没有的工具:直到序数 ε₀ 的超限归纳

这不是反驳,而是对定理的精确确认:一致性是可以被证明的,但必须借用系统外部、且强度更高的假设。天下没有免费的自我担保——你只能把信任往上挪一层,挪不到零。
CASE 03 连续统假设:一个真正独立的问题 1940 / 1963

"在可数无穷与实数之间,还有没有别的无穷?"——希尔伯特二十三问的第一问。哥德尔 1940 年证明:假设它成立,不会与 ZFC 集合论矛盾;保罗·科恩 1963 年(用他发明的"力迫法")证明:假设它不成立,也不会矛盾。两半合起来:连续统假设独立于 ZFC。科恩因此获 1966 年菲尔兹奖。

哥德尔句 G 是人工造出来的怪句子,容易让人觉得"不过是个逻辑把戏"。连续统假设不是——它是数学家真心想知道答案的问题,而答案是:在现有公理里,它没有答案。不完备走出了实验室。
CASE 04 古德斯坦定理:一个"自然的"不可证命题 1944 / 1982

古德斯坦序列是一个看起来必然爆炸增长的数列,但它总会在有限步内归零(Goodstein,1944)。1982 年,柯比与帕里斯(Kirby & Paris)证明:这条真定理,在皮亚诺算术内不可证明——要证它,必须动用超限序数。同类的还有帕里斯–哈灵顿定理(1977,一个拉姆齐型组合命题)。

这堵住了最常见的一句轻描淡写:"不可判定命题都是人为构造的病态例子,真正的数学家一辈子碰不到。"碰不到,但它们不是病态的——它们是关于普通自然数的、朴素的真命题。
CASE 05 证明者本人的结局 1978 · 普林斯顿

哥德尔后半生在普林斯顿高等研究院,是爱因斯坦最亲密的散步伙伴(爱因斯坦晚年说,他去研究院"只是为了有幸能和哥德尔一起走回家")。1947 年他申请美国公民时,坚称自己在宪法里发现了一个可以合法演变成独裁的逻辑漏洞,摩根斯特恩与爱因斯坦一路劝他别在法官面前提。晚年他患严重的被害妄想,坚信有人下毒,只吃妻子阿德勒准备的食物;阿德勒住院后,他拒绝进食,1978 年 1 月因营养不良去世,体重约 30 公斤

这不是煽情,是一个提醒:那个把"系统无法自我担保"证明给全世界看的人,最后毁于自己无法为自身的安全给出一个足以让他相信的证明。形式的边界是数学,信任的边界是人。
反例与限制 CRITIQUE & LIMITS

没有哪条数学定理像它这样,被引用得如此频繁、误用得如此彻底。它本身没有反例(它是被严格证明的),所以这一节说的是:它并不主张什么

① 它没有说"真理是相对的""什么都无法证明"这是滥用之王。恰恰相反——哥德尔本人是坚定的数学柏拉图主义者,他相信数学真理客观存在,他证明的正是"真"超出"可证",而不是"真"不存在。把它读成相对主义、虚无主义、后现代主义的背书,方向完全反了。(弗兰岑那本书基本上就是在处理这一类误读。)
② 适用条件严格,弱系统反而完美普雷斯伯格算术(1929:只有加法、没有乘法的自然数理论)是一致、完备且可判定的;塔斯基证明实闭域理论与初等欧氏几何同样完备可判定;命题逻辑、一阶谓词逻辑本身也完备(哥德尔 1929 年博士论文证的正是完备性定理——同一个人,先证完备,两年后证不完备,讲的是两件不同的事)。不完备是"强"的代价,不是数学的普遍诅咒。
③ 它几乎不妨碍日常数学费马大定理证出来了,四色定理证出来了,绝大多数数学家一生的工作从未撞上不可判定的墙。不完备定理划的是一条极远的地平线,不是脚下的坑。用它论证"所以数学不可靠""所以科学到头了",是把地平线当成了围墙。
④ 卢卡斯–彭罗斯的"人心超越机器"论证站不住它至少默认了两件无法确立的事:人类的推理是一个一致的形式系统,并且我们能知道自己的那套公理是什么。可哥德尔句的"人能看出 G 为真"是有前提的——只有当我们已知 S 一致时才成立。而"我自己一致"这件事,按第二定理,恰恰是我们也无法自证的。普特南、费弗曼等人反复指出了这个循环。这条论证是哥德尔被援引最广、也最经不起推敲的一次。
⑤ 搬出形式系统的门,它就只是比喻公司制度、法律体系、道德准则、人对自我的认识——这些都不是"公理可有效枚举、足以表达算术的一致形式系统"。用哥德尔定理去论证"任何制度都必有漏洞""人无法认识自己",是不成立的推论;把它当作一个提示性的类比,则完全可以(本页第八节正是这样用的)。区别在于:类比可以启发,不可以充当证据。

一句话收束:哥德尔定理是一把极其锋利、但极其短的刀。它在自己的射程内所向披靡,射程之外一寸都不到。凡是引用它来支持某个宏大人生结论的人,几乎都在越界——包括我们下面第八节,那里写的是启发,不是证明。

相关理论网络 CONNECTIONS
希尔伯特纲领
Hilbert's Program · 1920s
⟵ 直接靶子
一致 + 完备 + 可判定。哥德尔干掉了前两条的组合,图灵干掉了第三条。
停机问题
Halting Problem · Turing 1936
⟺ 计算版同构
"不存在能判定任意程序是否停机的程序"。同一个自指结构,从"可证"搬到了"可计算"。
真理不可定义定理
Tarski · 1933
⟹ 更进一层
"真"不但超出可证,而且在系统内根本无法被定义。要谈真假,须站到元语言。
罗素悖论 · 说谎者悖论
Self-Reference
⟵ 思想材料
哥德尔的手法是把悖论"驯化":把"这句话是假的"改成"这句话不可证",悖论就成了定理。
香农熵 · 柯氏复杂度
Shannon Entropy · №010
⟺ 信息版同源(内链)
蔡廷:公理系统的信息含量有限,证不出比自己更复杂的东西。真理的稀缺,也是一个信息量问题。
奥卡姆剃刀
Occam's Razor · №014
⟺ 简单性的两面(内链)
剃刀说"最短的解释优先";蔡廷说"有些真理没有比自身更短的解释"。剃刀有剃不动的地方。
黑天鹅
Black Swan · №004
⟺ 边界对照(内链)
两种"不可知"必须分清:黑天鹅是经验的边界(归纳不出未见之事),哥德尔是演绎的边界(推不出已真之事)。
库恩范式转移
Paradigm Shift · №006
⟺ 元层次呼应(内链)
系统的一致性只能由更强的外部系统担保;范式的合理性也无法在范式内部裁决。都得往上走一层。
致用(以下皆为类比,不是定理的推论) APPLICATION
识别滥用
这是它最实用的一条。凡是听到"哥德尔证明了……"后面跟着一个关于人生、社会、上帝或科学极限的宏大结论,几乎可以直接判定为误用。正确的追问只有一句:你说的那个东西,是一个公理可枚举、足以表达算术的一致形式系统吗?——不是,那就与哥德尔无关。一副识别智识唬人的探测器。
规则与制度设计
形式系统的教训可以借来一用:任何一套试图穷尽一切情形的规则,都会在自己的边缘长出它处理不了的情形。KPI、法条、公司流程越是追求"无死角自动执行",越会撞上需要人来裁量的缺口。与其幻想一套完美闭合的规则,不如明确地为它设计一个"外部裁量层"——并承认那一层不是规则,是判断。(→ 与古德哈特定律 №005 是同一族的谦卑)
自我认知
第二定理最动人的一句类比是:没有人能只靠自己给自己出具一份"我没病"的证明。反复用自己的标准检验自己的标准,只会转圈。要校验一个系统,必须借助系统之外的东西——一个朋友,一次外部反馈,一份和你的框架不同的证据。找外部视角不是软弱,是逻辑上的必需。
面对"证不出来"
哥德尔给出的最大安慰是:"我暂时证不出它"和"它是假的",是两件完全不同的事。系统内推不出的真理,实实在在地为真。做决定时也一样——有些你确信的事,你就是拿不出让对方(或让当时的自己)满意的证明。这不必然意味着你错了;但也别反过来,把"证不出来"当成"我一定对"的许可证。它划的是边界,不是免责。
技术与 AI
停机问题(哥德尔的计算版孪生)是实打实的工程约束:不存在能对任意程序判定"会不会死循环/有没有 bug"的通用程序——静态分析工具、形式化验证注定要在"保守但可靠"和"宽松但漏报"之间取舍。但请顺便记住反例④:用哥德尔证明"AI 永远不可能有心智",是一条被反驳了六十年的路。
反观三问 THREE QUESTIONS
我用来检验自己的那套标准,是谁给的?我有没有过一次真正站在它外面看它?
我坚信为真、却始终拿不出证明的事情,有哪一件?——我是把它当成"待证的真理",还是偷偷当成了"不需要被质疑的特权"?
我手里那套规则(团队的、家里的、给自己定的),最近一次是在哪个"它没预料到的情形"上撞了墙?我是补了一条规则,还是承认了那里需要人来判断?
延伸阅读 FURTHER READING
← PREVIOUS №039 创造性破坏 HOME 百里路