九章格数学 PhiloMath · 数学家的故事绘本 · 第三辑

哥德尔 · 理性的边界

第 30 册 · 数学家的故事 · 第三辑 · 1906—1978 · 奥地利/美国 · 明线:形式系统 · 哥德尔编码 · 自指 · 不完全性 · 希尔伯特纲领的终结 · 暗线:知道自己的限度,才是真正的知道
明线 · 编码 · 自指 · 不完全暗线 · 理性的自觉1906—1978 · 奥地利/美国全龄通识 · 三层可读
题解这一册怎么读p.2

库尔特·哥德尔(Kurt Gödel),1906 年生于奥匈帝国的布尔诺,1978 年卒于美国普林斯顿。二十五岁那年,他证明了两条定理,一举终结了数学界一项最宏大的计划,也改变了此后一切关于「数学能做什么」的讨论。

本册的明线有五样。第一样,形式系统:把数学写成一套符号游戏,公理是棋盘的初始摆法,推理规则是走法,「证明」就是从初始摆法按规则走出来的每一步。第二样,可证与真的分别:在形式系统里,「可证」是一个机械动作,「真」是一个关于对象世界的事实,两者不是一回事。第三样,哥德尔编码:把符号、公式、证明统统编成自然数,让数学命题自己变成算术的研究对象。第四样,自指与不完全性:编了码之后,可以造出一句话,它说的正是自己不可证——而它偏偏是真的。第五样,希尔伯特纲领的终结:数学不能用自己的方法证明自己没有矛盾。

暗线一句:知道自己的限度,才是真正的知道。这条定理常被误读成「数学有极限,所以理性不行了」。恰好相反:能看清并证明「哪里够不着」,本身就是理性最出色的动作。看不见边界的人,才真正被边界困住。

本册分五幕:第一幕讲布尔诺的少年与维也纳求学,以及一条关于逻辑完备性的年轻论文(p.6—p.12);第二幕讲形式系统、可证与真的分别、希尔伯特纲领(p.13—p.19);第三幕讲编码、自指与第一不完全性定理(p.20—p.26);第四幕讲第二不完全性定理、与维也纳学派的分歧、1940 年的逃亡(p.27—p.33);第五幕讲普林斯顿、爱因斯坦、晚年与遗产(p.34—p.40)。

三层读法照旧:故事层无需预备知识;数学层只用到整数、乘方与素因数分解(p.7—p.9、p.14—p.16、p.21—p.23、p.28—p.30、p.35—p.37),每一步都从头展开,遇到编码会停下来把算术做完;注疏层给出文献、年份与版本源流,逐页可查。

引子一九三〇年秋天的一间会议室p.3

1930 年 9 月,哥尼斯堡——康托尔没有到过的城市,康德出生的城市——正在开科学大会。会议有个圆桌讨论,议题是「数学基础」。到场的都是当时最锋利的头脑:维也纳学派的哲学家、逻辑主义者、直觉主义者,各执一词,吵了三天。

讨论的最后一天,一个二十四岁的博士生举手发言。他说的不是立场,是一项结果:一阶逻辑的完备性定理刚刚被证明——凡在一切模型中为真的公式,都可以形式地证明。

在场的人里,只有一位听懂了这句话的分量。而对哥德尔来说,这只是序曲:完备性说的是「逻辑够用」,可他随后要证明的是「公理不够」——数学的推理机器再完备,也装不下数学的全部真理。

三个月后,1931 年,那篇文章刊出。题目很长,开端是一个字母 I——他本来计划写两篇,第二篇没有写,因为第一篇里包含的东西已经够用了。

文章只有三十多页,可它同时做了三件事:发明了一种把数学写成数字的方法;造出一个谈论自身的命题;用它证明了数学的一条边界。这三件事里任何一件单独拿出来都够一篇论文,他把它们叠在了一起。

故事从布尔诺开始——一座讲德语的捷克城市,一座纺织厂,一个总问「为什么」的孩子。

引子布尔诺:纺织厂主的小儿子p.4

1906 年 4 月 28 日,哥德尔生在布尔诺。父亲是纺织厂主的合伙人,家境宽裕;母亲受过良好教育,家里讲德语。城市本身是三种语言的:德语、捷克语、还有街上的意大利口音——他后来对「语言」的敏感,在这里就有了根。

童年有两件事常被提起。一是他六岁患风湿热,病愈后开始对健康极度在意,这个习惯跟了他一生,并最终以最坏的方式收场。二是家里给他起了个绰号「Herr Warum」——为什么先生。他问问题的方式与别的孩子不同:不是「这是什么」,而是「凭什么说它是这个」。

中学他读的是以德语教学的实科中学,成绩全优,数学与语言并驾齐驱。1924 年入维也纳大学,先按家里意思学物理。转折发生在听贡佩尔茨的哲学课与富特文勒的数论课时——他发现真正让他着迷的不是「世界是什么」,而是「我们能对世界说出什么」。

1926 年起,他参加石里克小组的讨论——后来这批人被叫作「维也纳学派」。这个学派的主张是:一切有意义的命题,要么可由经验检验,要么是逻辑与数学的重言式;形而上学是无意义的。哥德尔按时到场,很少发言,却始终没有完全接受这套主张。

1928 年,希尔伯特与阿克曼的一本逻辑教科书出版。书里留了一个未解的问题:一阶逻辑的规则是否完备——有没有「在一切模型中为真、却无法形式证明」的公式?哥德尔把它当作博士论文题目,1929 年完成,答案是「没有」:规则是完备的。

这件事本身是一条好消息。可它把他引到了一个更麻烦的问题上——那就是下一幕的事了。

引子两条线:把证明变成机器,把真留在外面p.5

看哥德尔,有两条线,方向相反。

第一条线:把证明变成机器。十九世纪末以来,数学界一直在做一件事:把推理写成规则,把公理写成出发点,让「证明」成为一件原则上可以机械检验的事——一步一步,每一步都能核对。这条线的理想是:把数学从「聪明人的直觉」变成「人人可查的流水线」。

第二条线:把真留在外面。证明是符号的动作,真却是关于对象的事实。「这个命题可以推出来」与「这个命题是对的」,在有限的世界里一致,在数学的地基上却必须分开。哥德尔后来的全部工作,就是量出这两件事之间的距离。

两条线的交汇点是 1931 年的那篇论文。它先顺着第一条线走到底——把证明彻底数字化;然后调转方向,用这套机械本身,造出一个真而不可证的东西。机器撞上了自己造出来的墙,而墙的位置恰好可以用机器精确地标出。

这一册的故事,就在这两条线之间来回。看完之后会明白一件事:那条定理不是「数学的失败」,而是「数学对自己的认识加深了一层」——它不但说了哪里够不着,还精确说了为什么、差多少。

第一幕 · 故事一间书房与一本教科书p.6

1928 年冬天,二十二岁的哥德尔在维也纳的寓所里读一本刚出的逻辑教科书。书不厚,两位作者是当时数学界最有权势的人物之一——希尔伯特——与他的合作者阿克曼。书的第一章末尾,留着一个没解决的问题。

问题需要先讲清楚一件事。逻辑里有两层:一层是对象语言——数学命题本身;另一层是推理规则——允许从哪些命题推出哪些命题。一阶逻辑的规则很朴素:从一个「所有……都……」可以推出其中某一个;从一个「要么……要么……」加上「不是前者」可以推出后者。这些规则写了不到十条。

希尔伯特的担心是:这十条够不够?会不会存在这样一条结论——它在每一种可能的情况下都成立,可无论怎么翻来覆去用这十条规则,就是推不出来?如果存在,逻辑这架机器就有漏洞,需要往里加规则;如果不只一条,机器也许根本修不好。

书里给的提示是:这个问题「似乎困难」,可能需要新的方法。哥德尔读到这里,把书合上,开始自己想。他的做法不是去找新规则,而是反过来问:如果机器真有漏洞,那会是什么样子?

1929 年夏天,他有了答案:没有漏洞。凡在一切模型中都成立的结论,都能用那十条规则推出来。这就是完备性定理。秋天他把证明写成博士论文,导师哈恩签了字。

好消息到此为止。因为完备性定理的证明用了一个反证:假设有一条推不出来的结论,就构造一个让它不成立的模型。这个「构造模型」的手法,一年之后被他原样搬去,做成了完全相反的事——那件事的名字叫不完全性。

第一幕 · 数学什么是形式系统p.7

形式系统是一套极简的装置,只有四样东西。

第一样:符号表。一组可以写出来的字符,比如 0、S(后继,即加一)、+、=、(、)、变量 x。符号本身没有意义,只是记号。

第二样:语法。规定哪些符号串算「合格的公式」。x = 0 合格,= = 0x 不合格。判断是否合格不需要懂任何数学,只看形状。

第三样:公理。几条一开始就摆着的公式。皮亚诺算术的公理里有一条是

∀x ¬(Sx = 0) (任何数的后继都不为零)

第四样:推理规则。从已有公式造新公式的动作。最重要的一条是分离规则:有 A 与「A 则 B」两条,就得出 B。

「证明」的定义随之而来:一个证明是一串公式,第一串从公理出发,每一步都由前面的公式经一条规则得到。「定理」就是有证明的公式。

注意这里没有任何东西涉及「意思」。整个系统可以由一个不懂数学、只认形状的人来操作:给他公理清单和规则清单,他就能机械地生成所有定理——快慢不论,原则上没有障碍。这正是希尔伯特想要的:把数学的可靠性交给一套可以逐字核对的程序。

拿一个最小的例子走一遍。公理 S0 = S0(任何东西等于自己,等词公理的特例)不需要证明,直接成立。而 0 = 0 可由等词公理代入得到。每一步都可以核对:用的哪条公理、哪条规则、代入了什么。一台机器完全可以做这件事。

第一幕 · 数学模型:给符号一个世界p.8

公理和规则只是符号的游戏。要让「真」出场,需要另一件东西:模型。

模型是给符号指派的对象。比如给 0 指派「零」这个数,给 S 指派「加一」这个操作,给 = 指派「相等」这个关系——这一套指派做完,公式就有了真假:S0 = S0 在标准模型里为真,因为 1 = 1。

关键在于:同一套公理可以有许多不同的模型。把 0 指派为「北风」,S 指派为「下一位」,照样满足全部皮亚诺公理——只要不出现「后继绕回零」的情形。这样的模型与自然数不同构,却让同样的公理为真。

于是「真」分出了层次。

在一个特定模型中为真:如 0 + 0 = 0 在标准自然数里为真。

在一切模型中都为真(逻辑有效):如「所有 x 满足 x = x」,无论指派什么对象都成立。

完备性定理说的正是第二层与「可证」的关系:逻辑有效的公式全部可证,反之亦然。这是对逻辑机器的放行令——机器没有漏洞。

但请注意分寸。完备性说的是「逻辑」的完备,不是「数学公理」的完备。逻辑规则够用,不等于皮亚诺公理把自然数的全部事实都装进来了。前者是发动机没有毛病,后者是油箱够不够大——两件事。

哥德尔 1929 年证明的正是发动机没有毛病。而 1930 年秋天,他开始怀疑油箱——那一年的会议记录里,有人在讨论把分析学(实数理论)归约到算术,他在讨论中插了一句:这件事恐怕做不到。没有人追问,他就把这句吞了回去,回去自己证明。

第一幕 · 数学真比可证多p.9

把完备性定理与即将到来的不完全性定理放在一起,最容易看清楚。

完备性定理(1929):逻辑有效 ⇔ 可证。发动机没有毛病。

不完全性定理(1931):存在真的算术命题不可证。油箱装不下全部事实。

两条并不矛盾,因为「真」在两处指的不是同一个东西。前者讨论的是逻辑有效(一切模型都真);后者讨论的是在标准模型(真正的自然数)里真。一条公式可以不是逻辑有效的——在某些模型里假——却仍在标准模型里为真。不完全性的全部机巧,就藏在这个「标准」与「一切」的落差里。

用一个可以想清楚的比喻。「所有单身汉都未婚」在一切模型里为真,因为它由词义推出,可以证明。而「哥尼斯堡七桥问题无解」只在标准模型里为真——它依赖数学对象的实际结构,不是词义。前者的真是逻辑的,后者的真是事实的。

哥德尔要问的是:把全部「事实性的真理」都交给一套公理,可行吗?答案是:不可行。而且不可行的方式出奇地具体——对任何一套足够强的公理,都能写出一个明确的算术命题,它在标准模型里为真,却没有证明。

更狠的是第二层:这套公理连「自己没有矛盾」都证明不了。这意味着,希尔伯特想给数学造的那件终极保险——用有穷方法核对公理不炸——根本造不出来。

这两条结论合起来,不是给数学判了死刑。定理没有说某个具体的数学问题不可解,它说的是:不存在一台万能机器。具体问题照旧一个一个地解,只是永远别指望那份清单会完结。

第一幕 · 暗线一个不属于任何阵营的人p.10

1930 年前后的维也纳,数学基础领域有三个阵营,壁垒分明。

逻辑主义:数学可还原为逻辑(罗素一系)。形式主义:数学是符号游戏,要紧的是不矛盾(希尔伯特一系)。直觉主义:数学是人类心智的构造活动,非构造的存在证明不算数(布劳威尔一系)。

维也纳学派的立场接近逻辑主义与经验主义的混合:逻辑与数学命题是重言的,不陈述世界的事实。石里克小组每周四晚讨论,哥德尔是常客,坐在后排,很少说话。

他不是不参与,而是不归属。学派认为哲学的任务是澄清语言;他相信哲学的任务是认识世界的结构,包括数学对象的存在方式。学派不接受「数学真理独立于人心」;他信。多年后他回忆说,学派的每一份宣言他都只同意一半。

这种不合群的位置,恰好是做出 1931 年那篇论文的位置。逻辑主义者以为全部数学已经在逻辑里,他证明这不可能;形式主义者想要机器保险,他证明保险造不出;直觉主义者欢呼「看,非构造的数学崩塌了」,他却在注里写明:他的构造完全是直觉主义可以接受的。

三边都以为他站在对面,其实他谁的面子都不给。他给出的不是立场,是一个事实;事实对立场一视同仁。这大概是他一生唯一的立场:先弄清事实,站队的事以后再说。

第一幕 · 交汇从「够用」到「不够」p.11

把第一幕的三页数学合起来看。

形式系统把证明变成机械动作;模型把真假交给对象世界;完备性定理确认了逻辑机器在这两层之间没有漏洞。

到这一步为止,一切都是好消息。哥德尔手里握着的,是当时世界上对「证明」与「真」的分别看得最清楚的一副眼镜。而镜片是磨得越亮,照出的裂缝越分明。

他接下来的动作,在事后看极其自然:既然完备性定理的证明需要「构造一个模型」,那么反过来,不完备性的证明也需要一个东西——一个在标准模型里为真、却在系统内无法接近的命题。这个命题不是碰运气找到的,是造出来的。

造它的材料,全是现成的:自然数、乘方、素因数分解。把这些算术的最基本操作对准形式系统本身,符号变数字,公式变大数,证明变得更大的数——然后,算术开始谈论算术。

这个转折在今天看来是理所当然的一步,在当时却是没有人走过的路。它把「谈论数学的语言」与「数学谈论的对象」合并成了同一个东西。合并的瞬间,自指就有了落脚点。

第一幕 · 小结这一幕在讲什么p.12

一句话:一台没有毛病的机器,恰好是照出油箱容量的灯。

三件事值得记住。

第一,形式系统是一个纯机械的装置:符号、语法、公理、规则,四样东西,无一需要懂数学。证明是形状的变换,可以逐字核对。「可证」从此有了操作定义。

第二,模型让真假出场,但真假分层:在某个模型里真、在一切模型里真(逻辑有效)、在标准模型里真,是三个不同的等级。完备性定理管的是中间那层,不完全性定理管的是第三层。

第三,哥德尔的位置在所有阵营之外。这让他能同时看到三边的盲点:逻辑主义者高估了逻辑的承载力,形式主义者高估了机器的自检能力,直觉主义者低估了构造性方法能证明的东西。1931 年的论文对三边各还了一笔账。

下一幕走进希尔伯特纲领——二十世纪数学最雄心勃勃的一项计划,也是哥德尔那篇论文的正面靶子。

第二幕 · 故事一位老人的最后一场战役p.13

要讲清 1931 年那篇论文打中的是什么,得先讲清希尔伯特在想什么。

大卫·希尔伯特,1862 年生,是当时活着的最有势力的数学家。他一生的战役清单几乎就是现代数学的目录:不变量理论、代数数论、几何基础、积分方程、数学物理。1900 年巴黎那场演讲,他把二十三个问题摆在下个世纪面前;到 1930 年,其中一半已被解决。

但 1930 年的希尔伯特已是六十八岁的老人,而且他的阵地正在失守。集合论的悖论(罗素 1901 年)撕开了朴素集合论;直觉主义者在背后紧逼,说古典数学里一半的「存在性证明」是空话;荷兰人布劳威尔的声望如日中天。

希尔伯特的回答是一项庞大的计划,后人叫它希尔伯特纲领。目标一句话:把全部数学装进一套形式系统,再用一种无可争议的方法证明这套系统永远不会自相矛盾。装进去之后,直觉主义者说「不可靠」的一切——无穷集合、非构造的存在——都可以留下,因为保险单已经生效。

1930 年 9 月,柯尼斯堡——他的家乡——为他授予「荣誉市民」。他在大会上做了一场演讲,结尾的话被刻在了他家乡的碑上:我们必须知道,我们必将知道。说这话时,台下坐着一位二十四岁的维也纳人,怀里揣着一篇还没讲完的论文。

演讲与论文相遇,是那个年代最短的一幕戏:「我们必将知道」说完三天,哥德尔在同一个城市宣布——有些事,知道不了。希尔伯特本人直到几年后才真正读到这篇文章;起初,他的反应是愤怒。

第二幕 · 数学纲领的三步走p.14

希尔伯特纲领分三步,一步比一步硬。

第一步:公理化。把数学的每个分支写成形式系统——符号、语法、公理、规则。这一步在 1930 年已基本完成:算术有皮亚诺系统,实数理论与分析学可以建立在其上,集合论有策梅洛—弗兰克尔系统。

第二步:完备性。证明这套系统把该领域的一切真命题都包含进来:凡真皆可证。这样,「定理」与「真理」就没有落差,数学判断最终归于机械操作。

第三步:一致性。证明系统不会推出矛盾——公理与规则无论怎么用,都推不出 P 与 ¬P 同时成立。这是整个纲领的承重墙。

为什么一致性是承重墙?因为形式逻辑里有一条爆炸原理:从一对矛盾可以推出一切。看一眼它怎么运作。设已有 P 与 ¬P。由 P 可得「P 或 Q」(析取引入)。由「P 或 Q」与 ¬P,用析取三段论得 Q。两步,任何 Q 都到手了——「7 是素数」「7 不是素数」同时成立。

所以一个形式系统只要含一个矛盾,它就什么都「证明」,同时什么都不证明:定理的概念立刻报废。这就是为什么一致性不是锦上添花,而是全部工程的根基。

还有一层要求:第三步的证明必须用「有穷方法」——比被保护的系统更弱的、无可争议的手段。否则就是循环:用一个可疑的方法证明另一个方法可疑系统可靠,什么也没得到。这一层要求是纲领最精巧也最脆弱的地方,下一页细说。

第二幕 · 数学有穷方法:一把更小的尺p.15

「有穷方法」是希尔伯特为保险单指定的材质。它的要求近乎苛刻:只谈论具体的、写得出符号串的对象;只做有限步的操作;只做可以逐项核查的判断。

拿一个例子校准尺度。问:3863 是不是素数?做法:用 2 到 61 的每个整数去除,都不整除,所以是素数。每一步都是具体的除法,次数有限(60 次),结论可以由任何人重复核对。这就有穷。

再看一个反例。问:「每个偶数都是两个素数之和」对不对?验证不了——偶数有无穷多个。「每个」「存在」「无穷多」这类量词超出了有穷方法的边界。有穷方法里可以谈「这个串可以变形为那个串」「找出一个反例」,不可以谈「所有」「无论」。

希尔伯特的洞察在于:有穷方法虽然装不下数学,却足够谈论「符号游戏」本身。形式系统里的证明是有限长的符号串,公理是有限条,「推出矛盾」意味着「找到某个有限的推导,末尾是 P 与 ¬P」——这些全部是有穷对象。所以用有穷方法检验「没有矛盾」,原则上可能。

具体的路径叫证明论:把证明本身当作对象,研究证明的结构。比如给每个证明赋予一个「复杂度」,然后证明:任何推导若以矛盾收尾,其复杂度必低于某个界——而逐项检查发现达不到。这类似于用初等方法证明「某个方程无解」。

1920 年代,这套方法在初等算术的一个片段上确实成功了:阿克曼与冯·诺依曼先后证明了皮亚诺算术一个受限版本的一致性。看起来只差几步就能推广到全部数学。

哥德尔的结果说的正是:这一步永远迈不出去。不是方法不够巧,是墙就在那里——凡是有穷方法能证明一致性的系统,自身必然弱到推不出全部算术。

第二幕 · 数学把证明本身当作对象p.16

证明论的做法听起来像绕口令:用数学研究数学。其实它有一个干净的分层。

底层是对象系统——比如皮亚诺算术,它谈论的对象是自然数。上层是元数学——谈论「皮亚诺算术」这套系统本身:它的公式有多长、证明有多少步、公理里有没有矛盾。

这个分层在 1930 年是清晰的:对象系统谈数,元数学谈符号串,两个世界隔着一条线。希尔伯特的设想是:元数学只用有穷方法,对象系统随便多强——上层比下层更朴素,所以上层对下层的担保可信。

哥德尔做的事,是把这条线抹掉。他的办法在第三幕展开,这里只说结论:元数学谈论的一切——符号、公式、证明——都可以编成自然数;编完之后,元数学的每句话都自动变成一句算术。

于是上层的担保,成了下层自己的一个命题。「皮亚诺算术一致」本身可以翻译成一条算术式:Con(PA)——一个只含 0、S、+、× 的式子。这带来的局面是:系统要谈自己,就绕不开自己;担保人被写进了被担保者的账本里。

这一步翻转的实质,是用算术自身做成了那面照自己的镜子。在此之前,「证明」是站在数学外面的法官;在此之后,法官坐进了被告席。

还剩一个问题:元数学谈的「无穷」怎么办?比如「存在一个证明使……」是有穷的(证明是有限串),但「对所有公式都有……」带量词。哥德尔证明:这些量词语句同样可以算术化,而且算术化之后在系统内部有对应物。正是这个「可表达性」,让自指的机器转了起来。

第二幕 · 暗线安全感来自哪里p.17

为什么数学家会需要那样一张保险单?这件事要从三十年的恐慌说起。

十九世纪末,数学的地基看起来很稳:算术是直观的,分析归约到算术,集合论刚刚由康托尔建成,正被当作最一般的框架。然后悖论来了:1897 年序数悖论,1899 年基数悖论,1901 年罗素悖论——最后一个最狠,它不碰无穷、不碰大数,只用「不以自身为元素的集合」这一个最朴素的短语就造出矛盾。

罗素悖论发表时,弗雷格的《算术基础》第二卷正在印刷。他在书末加了一段附记,说工作完成后地基被人抽走,是科学家最不愿遇到的事。那不是修辞:他此后多年几乎停止发表。

恐慌的实质,是数学第一次意识到自己可能「说错话而不自知」。以前的错误都能定位:某个证明有漏洞,补上就好。悖论不一样——它出现在公认的基础概念(「集合」「属于」)上,漏洞可能在每一页里。

于是有了三条自救路线:逻辑主义重建地基、直觉主义收缩阵地、形式主义加保险。希尔伯特纲领是三路线中最从容的一个:不否认任何现成数学,只要求给它们补一张不矛盾的保单。

这张保单的吸引力超出了技术层面。它许诺的是:数学的可靠性不依赖人类心智的任何神秘能力,也不依赖世界恰好配合,只依赖一套可以逐字核对的符号操作。这是一个彻底世俗化、彻底透明的可靠。哥德尔要摧毁的不是数学,是这个许诺的绝对形式——而他给出的替代方案,反而更深一层:可靠性是有的,只是它不能被系统自己担保。

第二幕 · 交汇十月的一场宣读p.18

1930 年秋天,两个会议把第二幕与第三幕连在一起。

第一个是 9 月的柯尼斯堡。哥德尔在德国数学家联合会的分组会上报告了完备性定理——他的第一项成果。报告结束时,他补充了一句:即使不考虑可证性是否与有效性重合,也可以找到形式系统不可判定的命题。会场没有人接话。

第二个是 10 月 23 日,维也纳科学院的例会。导师哈恩走上讲台,宣读了一篇摘要:存在算术命题,在任何包含算术的形式系统里都不可判定。这是不完全性定理的首次公开。摘要很短,一页纸。

两次宣读之间隔了一个半月。那个半月里发生了什么,没有完整的记录,能确定的是:结果的完整证明在哥德尔手里,写作与推敲正连夜进行。

反应分两种。一种是不明白——多数人把结果当成了又一条技术引理;另一种是不高兴——少数明白的人意识到,「数学的完备性」这个事业被划上了句号。柯尼斯堡圆桌上的哲学家们后来回忆,那天在场的没有一个人追问细节;只有冯·诺依曼会后拉住了他。

冯·诺依曼听完,回普林斯顿推演了几周,独立得出了第二定理——系统不能证明自身一致——并写信告知哥德尔;信到时,哥德尔的稿子已付印。这是科学史上少见的并行:两个人从同一个入口走进去,在同一个深度相遇。

第二幕 · 小结这一幕在讲什么p.19

一句话:保单的条款写得很精巧,保单要保的对象偏偏装不下保单本身。

三件事值得记住。

第一,希尔伯特纲领三步走:公理化、完备、一致。第一步在 1930 年已近完成;第二步对逻辑成立、对算术公理不成立;第三步——一致性——是承重墙,而它恰恰是要塌的那一堵。

第二,爆炸原理解释了为什么一致性性命攸关:一个矛盾,两步推理,就得出任意命题。不一致的系统不是「有错误的系统」,而是「没有意义的系统」——它证明一切,因此什么也没说。

第三,有穷方法是纲领最精巧的部分:用比对象更朴素的方法担保对象。它的可行范围恰好覆盖「符号串的操作」,而这正是哥德尔编码要接管的地盘。

还有一条背景值得带走:纲领诞生于三十年恐慌——从弗雷格的附记到罗素的信,基础研究者都亲历过地基塌陷。理解了那种恐慌,才能理解 1931 年的消息有多重:它宣布的不是某个方法失败,而是「绝对透明的可靠性」这个愿望本身,在数学里没有实现的位置。

第三幕 · 故事三十页纸的冬天p.20

1930 年 10 月到 1931 年 1 月,哥德尔把自己关在维也纳的寓所里写那篇论文。写作的进度可以从《月讯》编辑部收稿的日期倒推:全文三十余页,脚注四十七条,改动密集到几乎每一段都有跨页的补充。

写作的难点不在证明,在解释。「把公式编成数字」这个动作,当时没有现成的说法;每一处都要停下来定义。文中最重要的那个谓词——「第 x 号公式是可证的」——在正文里写成了一整页的长式子,展开后有三十九行。

期间穿插着一场家庭风波。父亲在 1929 年去世,母亲与姐姐仍住在布尔诺;他住在维也纳,肺病初愈,医生叮嘱静养。论文写完时,他的体重掉了不少;此后一辈子,他把「一天工作四小时、必须散步」当成纪律。

1931 年论文刊出后,他把单行本寄给各地同行。给母校导师哈恩留了一份,给冯·诺依曼寄了一份,给荝尔奈斯也寄了一份——那位比他大三岁的瑞士数学家曾在 1926 年提出过类似构想,但没有做严格证明;哥德尔在脚注里如实写明了这一点。

也有奇特的回音。维也纳学派的维特根斯坦当时在剑桥,读到关于此文的转述后写下一串批评,认为「真正的证明」应该与此不同。这些评论在他身后刊出,学界至今争论其意;哥德尔本人的评价只有一句:那不是理解,那是误解。

第三幕 · 数学把公式变成一个数p.21

哥德尔编码的第一步:给每个符号发一个号。本册用一套简化编号来说明——

0 → 1 = → 5 ( → 6 ) → 7 x → 9

真实的表更长(还有逻辑符号、逗号、更多变量),但原理一样。

第二步:把公式变成一串素数的乘积。规则:公式里第 n 个符号,对应乘上第 n 个素数的「符号号数」次方。素数序列是 2, 3, 5, 7, 11, 13, …

算两个例子。

例一:公式 0 = 0。三个符号依次是 0(1)、=(5)、0(1)。编号为

21 · 35 · 51 = 2 × 243 × 5 = 2430

例二:公式 x = 0。符号依次是 x(9)、=(5)、0(1)。编号为

29 · 35 · 51 = 512 × 243 × 5 = 622080

反着走一遍验证。取 2430,做素因数分解:

2430 = 2 × 3 × 5 × 81 = 21 · 35 · 51 · 70 · 110 · …

各位次指数是 1、5、1——查表得符号 0、=、0,拼回公式 0 = 0。一个数,一条公式,一来一回无歧义。

为什么用素数?因为算术基本定理保证分解唯一:一个数只有一种素因数分解,所以从数回到公式不会歧义。若用别的编码(比如直接拼接数字),会出现 12 是「1,2」还是「12」的问题;素数幂的编码天然没有这个问题。

证明也可以编码:证明是一串公式,公式有编号,一串编号再取一串素数幂。于是「第 n 号证明存在吗」变成一个纯粹关于自然数的问题。

这一步做完,形式系统的全部内容——符号、公式、证明——都变成了自然数的家族。而且这个家族的结构可以由算术自己来谈论:比大小、整除、是否存在某个因子,全是算术自己的话。

第三幕 · 数学算术开始谈论算术p.22

编码完成之后,出现了一个崭新的可能:算术自己可以谈论形式系统。因为形式系统的一切都已变成数,而谈论数是算术的本职。

举三个关键的谓词,看看它们怎样变成算术式。

「数 n 是某公式的编号」:即 n 的素因数分解中,每个指数都对应一个合法符号,且结构上构成合格公式。这是一个可以机械检验的性质——所以它可以用算术式写出。

「数 m 是一个证明的编号,它证的是编号为 n 的公式」:把 m 分解,检查每一层指数是不是合格公式,再检查相邻两式之间是否符合推理规则,最后看末式是否为 n 号。全部是有限步的形状检查,同样可用算术式写出。

「编号为 n 的公式可证」:定义成「存在 m,使 m 是证明 n 的编号」。这个谓词记作 Prov(n)。它在系统内部有一个对应物:公式 ∃m Proof(m, n)。

这三个谓词有一个共同的来源:它们全是「可判定」的——给具体的 m、n,机械地查一遍就知真假。可判定的性质,全部可以用初等算术的语言表达——这一条是哥德尔证明的地基,今天称「可表达性」。

但注意 Prov(n) 里那个「存在 m」。证明存在与否,对于给定的 n 是可以查的(把所有证明挨个翻);可「对一切 n 都没有证明」这种全称否定,就没有直接的机械检验法。这条裂缝稍后要派上大用场。

还有一个容易忽略的要点:这些算术式与它们谈论的对象系统是同一个系统。写 Proof(m, n) 用的符号,与皮亚诺算术的符号完全相同。镜子照的正是照镜子的手。

第三幕 · 数学一句话谈论自己p.23

现在造那句话。先看一个日常语言里的同类品,它来自逻辑学家蒯因:

「把引号内的文字抄两遍,第二遍加上引号,所得句子不可证。」
把引号内的文字抄两遍,第二遍加上引号,所得句子不可证。

操作一下:抄两遍、第二遍加引号,得到的正是这句话本身。于是这句话在说:「本句不可证。」——一个谈自己的句子,不需要任何神秘能力,只用一个机械的抄写规则。

哥德尔在形式系统里做的就是这件事,抄写规则换成了算术。定义一个替换操作:

δ(n) = 把数 n 代入编号为 n 的公式后所得公式的编号

比如编号为 n 的公式是 x = 0,那么 δ(n) 就是 9 = 0 的编号(把变量 x 换成数字 9)。δ 是一个纯算术函数,可机械计算,可被算术式表达。

然后取一个含自由变量的公式 D(y),说的是「δ(y) 号公式不可证」。现在把 D 自己的编号 d 代进去,得到句子

G = D(d) 意思是:「δ(d) 号公式不可证」

而 δ(d) 号公式正是 G 自己——这与蒯因句的抄写规则一模一样。于是

G 说的正是:G 不可证

G 的真值马上可判:若系统一致,它证不出 G(否则 G 说谎);也证不出 ¬G(否则系统「证明了一个不可证之句的否定」,仍不协调——这条要第四幕说清)。所以 G 真,而不可证。

整台机器的零件清点一遍:编码(公式变数)、可表达性(谓词变算术式)、δ(自抄写规则)——三件都是纯机械的事,没有一步用到「无穷」「直觉」或任何可疑的对象。这正是它的可怕之处:墙是从最结实的砖里砌出来的。

第三幕 · 暗线从悖论到定理:一次翻译p.24

「本句为假」——说谎者悖论在古希腊就有记载。它的问题出在真假可以自我指派:一句话谈论自己的真假,逻辑立刻打结。

两千年来,这个悖论被当成语言游戏,与数学无关。直到 1905 年,法国人理查德把它带进了数字的世界:把「能用有限文字定义的实数」排成清单,然后用同样的有限文字定义一个新数——它与清单上第 n 个数在第 n 位不同。这个新数按定义无法在清单里,可它的定义又是「有限文字的」——按规则本应在清单里。矛盾。

同年,英国人贝里给出更短的版本:「用至多十九个英文字母无法定义的最小自然数」——这句话本身不足二十个字母,却定义了它。

这些悖论曾让逻辑学家头疼了二十年。哥德尔的天才是把它们从麻烦变成了工具。

关键的一步翻译:悖论出错,是因为「假」这种性质在普通语言里可以谈论任何句子;而在形式系统里,「可证」是被精确定义、有明确边界的性质。把说谎者句里的「为假」换成「不可证」——矛盾消失了,取而代之的是一个可以证明的事实:这个句子真而不可证。

为什么换成「不可证」就稳了?因为「可证」是形式系统内部有严格定义的操作,它不依赖语言的自指诡计;而「真」在系统内部根本无法定义(塔斯基 1933 年证明)。说谎者悖论炸的是「真」,哥德尔搬走的是「可证」——把炸药换成了轴承。

这个翻译有普遍的教益:悖论不是要消灭的对象,而是信号——它标记着「概念用得越界」的地方;找到边界、划清范围,悖论就变成定理。罗素对「集合」做的、塔斯基对「真」做的、哥德尔对「证明」做的,是同一件事的三次执行。

第三幕 · 交汇定理说了什么,没说什么p.25

第一不完全性定理的准确表述值得逐字看:

任何一致、可递归公理化、且包含初等算术的形式系统 T,都存在一个算术语句 G,使 T 既不能证明 G,也不能证明 ¬G;而 G 在标准自然数模型中为真。

三个前提缺一不可,也各有深意。

「一致」:若系统本身矛盾,它什么都能证,谈不上「不可证」。「可递归公理化」:公理清单必须是机械可查的——这是「把数学变成机器」这个纲领自身的要求;若允许随手加公理,每遇到 G 就把它加进去,当然没有不可证的东西,但那份清单就不再是机器了。「包含初等算术」:太弱的系统(如只管加减没有乘法的 Presburger 算术)反而完备——墙只在足够高的地方出现。

接着是常见的误读,逐个清掉。

误读一:数学有不可知的真理。定理没有这么说。它说的是公理系统与真理有落差,且落差可以精确描述。许多 G 在系统外加一条更强的公理后就变得可证。

误读二:一切系统都有不可判定的命题。反例随手可得:命题演算完备且可判定;带加法无乘法的算术也可判定。「包含乘法与归纳」是关键门槛。

误读三:它证明了某个具体问题(如哥德巴赫猜想)不可解。定理不给具体命题的判定,它给的是存在性与构造方法。某个具体的猜想是不是不可判定,要单独研究。

误读四:它说明逻辑不靠谱。恰好相反——定理是逻辑最严格的一次应用,每一步都可形式复核;它证明的正是「形式方法能照出自己的边界」。

第三幕 · 小结这一幕在讲什么p.26

一句话:用最机械的手段,造出一个真而机械不可及的句子。

三件事值得记住。

第一,编码是桥:素数幂把公式变成数,算术基本定理保证不歧义。从此元数学谈论的一切都是数。

第二,自指是抄写,不是魔法:δ 函数把「给公式编号」与「把数字代入公式」两个操作对上,蒯因句在形式系统里重建。整台机器只用可判定的算术零件。

第三,「不可证」取代「为假」,是悖论变定理的关键。塔斯基证明「真」不可内部定义,哥德尔证明「可证」可以内部定义——正因为「可证」有边界,边界才被照出来。

还有一个悬着的口子。第一定理只说 G 不可证,没说「系统证不出自己的 G 不可证」这件事的系统内版本——那就是第二定理「系统不能证明自身一致」,下一幕的正题。

第四幕 · 故事第二发子弹与一次逃亡p.27

1930 年代的欧洲没有给哥德尔多少安宁。维也纳的政局一年紧过一年;1934 年,总理陶尔斐斯在官邸被刺,内阁见血。哥德尔此时在大学做无薪讲师(Privatdozent),收入微薄,靠父亲遗产补贴。

学术上倒是接连有收获。1931 年的第二定理(系统不能证明自身一致)与第一定理一起,把希尔伯特纲领的两根支柱同时抽掉;1932—1933 年,他又给出直觉主义逻辑的算术解释,把布劳威尔的一套系统翻译进古典逻辑——再次左右开弓:这一回两边都发现他不是自己人。

1933 年他第一次赴美,在普林斯顿讲不完全性定理。听众里有人听完说「这不可能」,有人沉默;冯·诺依曼则说,这正是他要找的东西。此后几年他数次赴美,往返大西洋。

1938 年 6 月,他与舞者阿黛尔结婚。这段婚姻在维也纳的学术圈里不受待见——阿黛尔出身普通家庭,做过夜总会舞者,比他年长六岁;但此后四十年,她是唯一能把他从抑郁与疑病里拉回来的人。同年秋,他赴普林斯顿高等研究院,证出了连续统假设的一致性。

1939 年 9 月,战争爆发。他拖着阿黛尔想办法离开欧洲。1940 年 1 月,两人沿西伯利亚铁路横穿苏联,从海参崴乘船到旧金山——当时这是极少数仍开放的路。3 月抵达普林斯顿。这一去就是三十八年,他再没有回过欧洲。

第四幕 · 数学系统不能给自己开健康证明p.28

第二不完全性定理的表述只有一句:

若 T 一致、可递归公理化且包含初等算术,则 T 不能证明 Con(T)。

Con(T) 是「T 一致」的算术化:「不存在一个证明,其最后两行分别推出 P 与 ¬P」——翻译成关于数的话:不存在一个数,它编码的证明以那样两行收尾。

先看它与第一定理的连接。取第一定理里的 G(「G 不可证」),把「不可证」展开写,就是「不存在证明 G 的编码」。而 Con(T) 说的是「不存在矛盾证明的编码」。两者形状相同,都否定某类证明的存在。哥德尔证明:从 Con(T) 可以推出 G。

于是链条是:若 T 能证 Con(T),则它能证 G;但第一定理说它证不出 G。所以它证不出 Con(T)。

这条定理常被说成「系统不能证明自己一致」。措辞要更小心:它说的是「这种表达方式下的 Con(T)」。若有人给「一致」换一个不等价的说法,或在证明中动用超出 T 的公理,情况会变——用更强的系统证弱系统的一致性,完全合法,也是今日集合论的实际做法。

对希尔伯特纲领的判决在此落锤:有穷方法若能证明 Con(PA),那么这个证明本身可以被形式化进 PA——而 PA 证不出它。所以有穷方法根本没有那样的证明。纲领第三步,此路不通。

还有一点要替哥德尔说清。这条定理不暗示系统可能真的不一致。多数数学家相信 PA 一致,理由在系统之外:我们理解自然数的结构,知道公理描述的正是它。定理说的是,这份「理解」不能被系统自己兑换成证明——理解是元层的,证明是层内的,两者不能兑换。

第四幕 · 数学一致性与完备性:一张对照表p.29

「完备」与「一致」两个词在逻辑里各有精确含义,混用会全盘误解。并排列出来。

一致性:系统推不出矛盾,即不存在 P 使 T ⊢ P 且 T ⊢ ¬P。这是系统「活着」的最低条件。判定方向:不存在某个证明——全局否定,机械上不可查。

(句法)完备性:对每个语句 φ,要么 T ⊢ φ,要么 T ⊢ ¬φ。这是「没有悬案」的条件。

(语义)完备性:凡在所有模型中为真的皆可证——这是哥德尔 1929 年定理的内容,它对一阶逻辑成立。

三种「完备」中,句法完备性正是第一定理否定的:存在 G,两者皆不可证,两边都留下缺口。

用数字点一下几个名系统在这张表上的位置。

命题演算:一致 ✓ 句法完备 ✓ 可判定 ✓
Presburger 算术(只有加法):一致 ✓ 句法完备 ✓ 可判定 ✓
皮亚诺算术(含乘法与归纳):一致 ✓(元层相信) 句法完备 ✗ 可判定 ✗
策梅洛—弗兰克尔集合论 ZFC:一致 ✓(元层相信) 句法完备 ✗ 可判定 ✗

规律一目了然:表达能力一旦越过某个门槛(乘法与归纳),句法完备性与可判定性同时消失。门槛之下,机器游刃有余;门槛之上,机器永远留下缺口。而人类的全部算术与分析,都在门槛之上。

这张表还回答一个常见疑问:既然 PA 不完备,加一条公理把 G 收进去,不就完备了吗?收了它,编码机器照转,又会造出新的 G′。补丁无限,缺口随行——这正是「不存在万能公理清单」的含义。

第四幕 · 数学边界在哪里,为什么偏偏在那里p.30

门槛为什么恰好画在「乘法加归纳」?这件事值得花一页讲透。

只有加法的算术里,句子太「短」了:它谈的是 x + y = z 这类线性关系,模型结构松弛,所有真语句都有机械判定法。乘法一进来,局面全变:乘法让人可以编码序列——素数幂编码正是靠乘法;归纳让人可以证明关于所有数的普遍规律。编码+归纳,正好凑齐「系统谈论自己」的全部材料。

换句话说:门槛不是人为划的,是「自指所需的最小装备」自然划定的。要造 G,至少需要能谈论「公式」「代入」「证明」这些组合操作;而表达组合操作的最小算术,就是带乘法的皮亚诺系统。边界所在,恰是自指成为可能之处。

这件事有个更深的读法。「系统谈论自己」的能力与「系统不完备」是同一枚硬币:足够弱的系统谈不上自己,所以完备;足够强的系统谈得了自己,于是必不完备。越强,缺口越大;想要完备,就得放弃谈论自己的能力。

推论在 1936 年由图灵接住:一切机械计算的整体也有同样的门槛——不存在判定一切命题真假的算法。图灵用「停机问题」证明:给一段程序,无法机械判定它会不会停下。证明的核心与哥德尔同构:让程序读入自己的编码,问「我会不会停下」。

于是 1931 年的结果不再只是数学基础的事。凡能做符号操作的装置——纸笔、公式、计算机——只要够强到谈论自己,就有机械上够不着的问题。这条界线不是技术限制,是逻辑结构本身;它是哥德尔那页编码在另一个世界里的投影。

第四幕 · 暗线维特根斯坦与学派的背影p.31

不完全性定理发表后,三个阵营的反应各有一段公案。

维也纳学派:石里克与卡尔纳普起初把它当作「又一个技术结果」;卡尔纳普后来在 1934 年的逻辑讲义里采用了哥德尔的技术,却坚持他的哲学立场不变。哥德尔对此的私下评论是:他们取走了数学,留下了哲学,而两者本是一体。

维特根斯坦:他在剑桥读到转述后写下一组评论,大意是:数学没有「不可知」,哥德尔构造的句子根本不是真正的数学命题。这些评论文笔锋利,但多数逻辑学家读不出反驳的着力点;哥德尔本人只说了一句话:他没有理解问题。这场隔空争执至今没有公认的裁决,但有一点公论:维特根斯坦没有给出任何形式化的反例。

直觉主义:布劳威尔一系起初很欢迎——看,非构造的数学果然不完备。但哥德尔 1932—1933 年的工作浇了冷水:他证明了直觉主义算术可以解释古典算术——古典命题翻译成直觉主义命题后,后者证前者也成立。换言之,直觉主义并不比古典数学更「安全」,两者在证明力上可以互相翻译。这条结果今称「双负翻译」。

三段公案有一个共同的底色:1931 年之后,哲学立场再也挡不住技术结果。哲学立场尽可以不同,编码却绕不过去;「真而不可证」的哲学意味尽可以怀疑,可那个句子就摆在那里,每一步都能机器核对。

哥德尔对此看得清楚,也从不为哲学立场辩护。他的说法始终是:把事实摆出来,哲学自然会跟上。

第四幕 · 交汇1938 年:给连续统假设补一张保单p.32

哥德尔与集合论的缘分不始于 1938 年。第一定理的构造本来就在集合论的框架里做;而 1930 年代,连续统假设正处在僵局中——康托尔猜了三十年没证出来,希尔伯特把它列为第一问题,也没有结果。

哥德尔换了一个问法:不问 CH 是真是假,先问它能不能被否证。思路来自他自己的第二定理:一致性是可以在「更强的立足点」上证明的。

于是他造了一个精瘦的集合宇宙:从空集出发,每一层只收「可以由前面的层明确构造出来」的集合,重复可数多次,最后取并。这个宇宙记作 L,称为可构造宇宙。

L 有两个好性质。第一,它满足 ZF 的全部公理——它是一个合法的集合宇宙。第二,在 L 里,选择公理成立,广义连续统假设也成立——每一层的基数都被数得清清楚楚,没有夹层。

两件事合起来:若 ZF 一致,则「ZF + AC + CH」也一致。结论:CH 不可能被 ZF 否证——只要 ZF 本身没毛病。

这个结果 1938 年在普林斯顿做出,1940 年出版成一本小册子。它与第一定理的相似之处一眼可见:都是「造一个模型,说明某种否定走不通」。差别在于深度:第一定理造的是系统内的自指句,这一次造的是整个宇宙。

缺的另一半也清楚:还得证明 CH 也不能被证明——需要造一个 CH 为假的合法宇宙。哥德尔试过,没成功。这半个问题悬了二十五年,直到 1963 年科恩发明力迫法——那是下一幕的事。

第四幕 · 小结这一幕在讲什么p.33

一句话:系统不能给自己开健康证明——而人类恰好一直站在系统外面。

四件事值得记住。

第一,第二定理从第一定理直接长出:Con(T) 推出 G,而 G 不可证,故 Con(T) 不可证。两发子弹出自同一杆枪。

第二,「一致」与「完备」是两把不同的尺。一阶逻辑在语义完备性上通关;算术在句法完备性与可判定性上同时失守。门槛画在「乘法+归纳」——自指装备齐全的地方。

第三,第二定理没有质疑系统的一致性。相信 PA 一致的理由在元层:我们理解自然数。定理只是说:这份理解无法兑换成系统内的证明。

第四,1938 年的 L 是同一种方法的第二次胜利:造一个模型,堵死一个方向的否定。「存在性+否定不可能」与「否定性+肯定不可能」,两次各堵一边,合起来才叫独立。

欧洲的戏到这里落幕。下一幕换一座舞台:普林斯顿的一间办公室,一位每天下午在门口等他散步的物理学家——爱因斯坦。

第五幕 · 故事每天下午四点的散步p.34

1940 年之后的哥德尔,人生半径缩短到一条路:高等研究院的办公室, Linden Lane 的寓所,以及两点之间的那条林荫道。

研究院里最出名的是爱因斯坦。两人年龄差二十七岁,学术领域不同,却从 1942 年起每天下班一起走回家。多年后有人问爱因斯坦,为何每天去办公室,他答了一句后来被反复引用的话:他的工作已不再重要,他去研究院,只是为了能与哥德尔一起走回家的这份荣幸。

他们聊什么,没有系统记录。据哥德尔晚年回忆,主要话题是物理学、哲学与政治,几乎不聊数学。爱因斯坦曾说,在普林斯顿,他每天都要去办公室,因为「不与哥德尔散步是错的」。

研究院给哥德尔的头衔长期是「永久成员」,正式教授的任命拖到 1953 年——有人反对,理由是「这个人不做正经数学」。1951 年他获第一届爱因斯坦奖;1975 年福特总统授予国家科学奖章,他因病未去白宫领。

数学上,五十年代之后他几乎没有新论文。但他的笔记本写满了:旋转宇宙、连续统问题的哲学、莱布尼茨手稿的考据、上帝存在的本体论证明的形式化——大多未发表。

1946 年,他在研究院成立十周年的演讲里说了一句常被引用的话:数学的事,要么按这条路走到底,要么换一条路——但不会有第三条。这句话的上下文,正是关于「机器能做什么」的讨论。

第五幕 · 数学旋转的宇宙与倒流的时间p.35

1949 年,爱因斯坦七十岁。朋友们合编了一本纪念文集,哥德尔交了一篇谁都没想到的文章:广义相对论的一个新解——不是数学基础,是物理学。

先补一点背景。爱因斯坦的场方程描述「物质如何弯曲时空」:给定物质的分布,方程定出时空的几何。解这个方程很不容易——很多年人们只找到寥寥几个精确解,每一个都对应一种理想化的宇宙。

哥德尔找到的解是这样的:一个均匀旋转、布满尘埃的宇宙,加上一个负的宇宙常数。解出的时空有一个奇怪的性质:存在「闭合类时曲线」——一条沿时间方向走的路径,绕一圈后回到出发事件的过去。用日常话说:在这样的宇宙里,沿某条路线航行一圈,可以回到昨天。

这不是直觉产物,是一段可以逐行核对的计算:写出度规、代入场方程、验证每一项相消。爱因斯坦读后写了一段诚实的回应:这个解满足方程,没有错;但对应的宇宙与实际观测不符,因此「回到过去」在现实宇宙里大概率不会发生。

哥德尔要的恰恰不是物理实现。他的论点是:如果相对论是正确的时间理论,而它允许「时间绕圈」的解,那么「时间的流逝」就不是时空结构自带的东西——它要么另有来源,要么只是一种感觉。「现在」没有宇宙学意义上的绝对地位。

这篇文章与不完备性定理隔着十八年,精神却是一贯的:拿一个被当成不言自明的概念——真理、证明、时间——找到一个合法定义的角落,看它在那里还站不站得住。

后来物理学家在这个方向上走得很远:闭合类时曲线成了广义相对论的正式研究对象,与虫洞、时间旅行的讨论连成一片。那本纪念文集里最不「哥德尔」的一篇,如今被引用得最多。

第五幕 · 数学1963 年:缺的另一半补上了p.36

1940 年的 L 堵住了一个方向:CH 不可否证。剩下的是另一头:CH 也不可证明——需要一个 CH 为假的合法集合宇宙。

这一等是二十三年。1963 年,斯坦福大学的科恩——一位做调和分析的数学家,此前与逻辑毫无瓜葛——发明了「力迫法」。

思路一句话:造一个比现有宇宙「多东西」的新宇宙,而多出来的东西恰好把 CH 弄假。

具体的操作需要几步铺陈。

第一,从一个小宇宙出发。取一个满足 ZFC 的「标准」宇宙 M——技术上叫可数传递模型。它小到可以被观察者从外面看穿。

第二,往里塞一个新集合。选一个「力迫关系」⟂——它规定 M 里的条件如何「约束」一个尚不存在的新对象 G。G 是刻意造得「不匹配 M 内任何旧规则」的。

第三,把 G 接进 M,得到扩张 M[G]。力迫法的核心定理是:M[G] 仍满足 ZFC 的全部公理——新东西进来,规矩不破。

第四,选一个恰当的力迫关系,使 M[G] 里的实数变多,而 ℵ1 不变——于是 𝔠 超过了 ℵ1,CH 为假。

合起来的判决书:

1940:Con(ZF) ⇒ Con(ZF+AC+CH) (哥德尔,L 宇宙)
1963:Con(ZFC) ⇒ Con(ZFC+¬CH) (科恩,力迫扩张)

两边各堵一个方向,CH 对 ZFC 的独立性就此成立。康托尔 1878 年的猜想,悬了八十五年,最终被证明「问不出确定答案」。

哥德尔对此的态度值得一提。他欢迎科恩的结果,同时坚持:独立性不等于「没有真假」——他相信集合宇宙客观存在,CH 总有一个真值,只是公理没抓住。1960 年代末他还提出一条路线:扩充公理(比如大基数),看能否把 𝔠 定下来。这条路线至今仍是集合论的主力方向之一。

第五幕 · 数学机器的边界,被人看清了p.37

哥德尔 1931 年的编码给了一个暗示:既然证明可以编码,那么「按规则变换符号」这件事,本质上就是算术。把它反过来读:一切机械过程都对应某种算术操作。

这个想法在 1934 年由哥德尔在普林斯顿的讲稿中明确提出,随后被两个人做成了精确的理论:丘奇(1936)用 λ 演算,图灵(1936)用后来被称为「图灵机」的装置。两个定义最后被证明等价——「能机械算出来」这件事有了一个稳定的数学身份:可计算。

然后是那条著名的边界。图灵问:给定一段程序和一个输入,能不能机械地判定它会不会停?答案是不能。证明与哥德尔同构:假设有一个判定器 H,造一个程序 P,它读入自己的编码后做与 H 相反的事——于是 P(P) 停当且仅当它不停。矛盾。

把这几块拼起来,1930 年代末出现了一幅完整的图。

哥德尔 1931:形式系统有不可判定命题
丘奇 1936:一阶逻辑不可判定
图灵 1936:停机问题不可判定

三条结论说的是同一件事的三个侧面:凡是能谈论自身的机械装置,必有机械上够不着的问题。

哥德尔对图灵的工作评价极高。他晚年说过:图灵的可计算性定义,把「机械过程」这个此前模糊的概念第一次变成了严格的数学对象——在他看来,这是图灵比他强的地方:他把「机器」这个词钉死了。

回头看,1931 年的编码与 1936 年的机器是同一件事的两次书写:前者把证明变成数,后者把过程变成机器;两次都在最完备处照出了最明确的边界。今天所有关于「计算机能不能思考」的讨论,地基都铺在这两条定理上。

第五幕 · 暗线最后一间办公室p.38

哥德尔的最后十年,是从一间越来越小的房间里度过的。

他一辈子体弱:六岁患风湿热,青年患心因性神经衰弱,一生对药物与医生态度狐疑。中年以后,疑病症加重:他坚信医生无能,只在极度必要时才就医;饮食只吃妻子阿黛尔做的饭。

1977 年夏,阿黛尔病重住院七个月。没有她做饭,哥德尔开始绝食。他不是「吃不下」,而是「拒绝吃」——他怀疑食物有问题。同事劝、医生劝,都无效。1977 年底,他的体重掉到不足三十公斤。

1978 年 1 月 14 日,他在普林斯顿的椅子上离世,七十一岁。死亡证明写的是「因人格障碍导致的营养不良与衰竭」。葬礼极小,到场者不足二十人。骨灰葬在普林斯顿公墓,与爱因斯坦的墓隔着不远。

这件事常被讲成一个悲剧的句号。但还有一个几乎无人讲述的事实:直到 1977 年秋天,他还在工作。笔记本里有他最后的条目,关于集合论公理、关于莱布尼茨、关于他一生没能完成的那篇「第二论文」。他的脑子到最后是清楚的;垮掉的是他与外部世界之间唯一的一条补给线。

还有一件值得记录的事。1970 年代,王浩定期从洛克菲勒大学来看他,做了系统的哲学谈话。这些谈话后来整理成两本书,是哥德尔哲学立场最完整的记录。在那些谈话里,他说得最多的一句话是:数学对象是客观存在的,我们只是发现它们。

一个把自己的一生用来给理性划定边界的人,最后对理性的信心反而比任何人都坚定。这两件事并不矛盾——恰恰因为量过边界,才知道边界以内有多少东西。

第五幕 · 交汇留下的东西清单p.39

盘点哥德尔留下的东西,可以分三层。

第一层:数学的技术遗产。完备性定理是一阶逻辑的地基,教科书的通用定理;不完全性两条是元数学的核心;算术化与可表达性是整套方法论的模板;L 宇宙开创了内模型技术。今天集合论与可计算性的教科书,骨架大半是他搭的。

第二层:计算机科学的家底。停机问题、可计算性理论、莱斯定理、P 与 NP 的整个框架,源头都在「编码+自指」这套方法。今天写的每一行程序,都运行在那条「机械边界」以内;知道边界在哪,才知道什么该交给机器、什么不该。

第三层:哲学的地形图。他留下的未刊札记超过三万页,涉及本体论证明、莱布尼茨、时间的本性、连续统问题的哲学。这些札记至今仍在被整理与研究。他最核心的立场只有一句:数学对象客观存在,理性有能力认识它们,只是必须先弄清自己的工具。

三层的底下垫着同一块石头:1931 年那条定理的态度——不回避边界,把它量清楚,然后站在量出来的位置上继续工作。

对照第三辑的另外两位:康托尔给出无穷的结构,威尔斯特拉斯给出微积分的语言,哥德尔给出这两者共同的边界。三个人做的其实是同一件事——把「无穷」从直觉变成对象,再把对象放进框架,最后检查框架本身。

第五幕 · 小结这一幕在讲什么p.40

一句话:他把边界量清楚,然后在边界之内从容地活了一辈子。

三件事值得记住。

第一,他不止做逻辑。旋转宇宙、负宇宙常数、闭合类时曲线——广义相对论里也留了他的名字。方法始终一样:找最公认的概念,在最严格的地方问一句「真的吗」。

第二,CH 的独立是两个人的接力:L 堵住否定(1940),力迫堵住肯定(1963)。一道悬了八十五年的猜想,最终以「公理定不下它」收场——这不是失败,这是把问题的性质查清了。

第三,可计算性理论是编码思想的另一种书写。停机问题与不完全性定理同构;今天每一台计算机都活在那条被量出的边界之内。

最后回到暗线。「知道自己的限度,才是真正的知道」——这句话在他身上有两个层面。定理层面:不完备性说的正是「系统的自知有界」。人生层面:他对自己的健康、名誉、社交,都量得极准,从不越界行事。两件事用的是同一种方法:先看清自己有什么、没有什么,然后在「有什么」里面工作。

收束回望:一条时间线p.41

1906 年 4 月 28 日 生于布尔诺,奥匈帝国摩拉维亚。1912 六岁患风湿热,此后一生对健康极度在意。

1924 入维也纳大学,先学物理。1926 转入数学与哲学,参加石里克小组的讨论。

1928 希尔伯特与阿克曼的逻辑教科书出版,书末留下完备性问题。1929 以此为题完成博士论文,答案:逻辑规则是完备的。

1930 年 9 月 柯尼斯堡的会议上报告完备性定理,并在讨论中补一句:形式系统里可以找到不可判定的命题。10 月 23 日 导师哈恩在维也纳科学院代读摘要,不完全性定理首次公开。

1931 长论文刊于《月讯数学物理》第 38 卷,pp. 173—198。同年 冯·诺依曼独立得出第二定理,写信告知时稿已付印。

1933 首访美国,在普林斯顿讲学。1934 普林斯顿讲稿中给出「一般递归函数」的表述。

1936 石里克在大学的台阶上被一名昔日的学生枪杀,维也纳学派的聚会从此解散。1936—1937 丘奇与图灵分别给出可计算性的两种模型,并证明其等价。

1938 年 6 月 与阿黛尔结婚。同年秋 赴普林斯顿,做出连续统假设的相对一致性;11 月 9 日 初步报告刊于《美国科学院院刊》。

1940 年 1 月 取道西伯利亚铁路、海参崴、横滨赴美,3 月抵普林斯顿。同年 《选择公理与广义连续统假设的一致性》出版。

1942 年起 与爱因斯坦每日下班同行回家,直至 1955 年。1948 入美国籍,爱因斯坦与摩根斯特恩陪同前往宣誓。1949 给出旋转宇宙解,论文刊于《现代物理评论》。

1951 获第一届爱因斯坦奖。1953 任高等研究院正教授。1958 发表对《数学、科学和哲学》的译注。1963 年 5 月 24 日 科恩在普林斯顿报告连续统假设的独立性。1966 科恩获菲尔兹奖。

1975 福特总统授予国家科学奖章,因病未往白宫领受。1977 年 6 月 阿黛尔住院七个月,哥德尔开始绝食。1978 年 1 月 14 日 卒于普林斯顿,七十一岁。

收束他的文章该怎么读p.42

读哥德尔的原文,第一感受往往不是难懂,而是冷。

他几乎不解释。定义给出,立刻使用;一个记号在正文里出现二十次,注里才提一句它来自哪篇文献。没有铺垫,没有例子,没有「直观地说」——他写给同行看,把读者预设成已经站在同一级台阶上的人。那篇三十页的论文里,一个具体数字也没有出现:编码是全称的说法,不做演示。

给读原文的人三条建议。

第一条,先读 §1 与 §2 的结论,再回头补技术。论文的结构是:先说明要证什么、为什么重要,再建编码机器,最后收口。把开头的三段与结尾的两段先读,中间那些密集的符号就有了去处。

第二条,分清三个技术条件的层次。「原始递归」「可表达」「ω-一致」——前两个是构造工具,第三个是定理成立所要求的额外假设。原文要求 ω-一致,比「一致」强;1936 年罗塞尔把它减弱到只需一致。这一层差别,是初学者最容易读漏、也最容易误会定理强度的地方。

第三条,把证明骨架单独抄成一页纸。骨架只有四步:编码(符号变数)→ 可表达性(谓词变算术式)→ 对角线引理(造出自指句)→ 两难收口(证不得,否证不得)。抄完这一页,再回去看原文的细节,就知道每一段在补哪一块砖。

还有一层要留意。他晚年的文章文体变了:1958 年那篇译注、1964 年给论文加的补充,句子变长,哲学术语变多,语气也不再是纯技术报告。这些文字与数学论证往往并不同构,但解释了他为什么坚持——他相信数学描述的是一个独立存在的对象世界,而不是一套约定。

最后一句提醒:不要从 1931 年那篇正文开始。先读《文集》第一卷的编者导言,再读一本二手讲述(如斯莫利安的教科书前两章),把编码与对角线引理各走一遍,最后再回原文。这样读,那三十页会突然变得清楚——它本来就是写给已经会这些的人的。

收束 · 暗线三个还没有答案的问题p.43

第一个:一致性究竟能靠什么担保。第二定理说,系统不能用自己的方法证明自己无矛盾。可它没有说这件事绝对办不到——根岑 1936 年就办到了:用超限归纳到 ε0,证出皮亚诺算术一致。代价是所用的方法超出了「有穷」的界线。于是问题变成:哪一档方法算「可信」?这条梯子每一级都要靠上一级担保,顶端站在哪里,至今没有公认答案。

第二个:人能不能看到机器看不到的东西。卢卡斯 1961 年、彭罗斯 1989 年都提出过同一个论证:给定任何一致的机器系统,人能造出它的 G 并看出其为真,机器却证不出;所以人心不是机器。反驳也很硬:人凭什么确信自己用的系统一致?若人也会出错,这一步就跨不过去。这场争论六十年没有结论,因为它争的不是定理,而是「人凭什么相信自己的判断」。

第三个:真凭什么独立于可证。定理说真多于可证,那么「真」靠什么确定?塔斯基 1933 年证明:一个足够强的系统里,无法定义自己的真谓词——要说「这句话是真的」,必须站到系统外面去。于是有一件奇怪的事:真这个概念在每个系统里都不可定义,却处处被使用。柏拉图主义者说这说明真有客观来源;形式主义者说这只是一层语言分层。两种立场都能自洽,谁也驳不倒谁。

三个问题有一个共同点:它们都不是「还没算出来」,而是「不知道怎么才算回答」。一门学科最深的困难,往往不在解题,而在确定什么算答案。

这也解释了哥德尔为什么让人不安。他不只是给出了新定理,他改动了「数学能对自己说什么」的界线:在此之前,可靠性是一个可以论证的愿望;在此之后,它是一个必须分层处理的技术问题。这一步改动比任何一条定理都深,也因此比任何一条定理都更难被消化。

动手做给一句话编号p.44

材料:一支笔、一张纸、一支能算乘方的计算器。目标:亲手把公式变成数,再变回来。

第一步,抄下符号表。本册用一张简化的表,只有五个符号:

0 → 1 = → 5 ( → 6 ) → 7 x → 9

第二步,记住规则。公式里第 n 个符号,取第 n 个素数的「符号号数」次方,全部相乘。素数序列:2, 3, 5, 7, 11, 13, …

第三步,编码。算三个。

0 = 0 → 21 · 35 · 51 = 2 × 243 × 5 = 2430
0 = x → 21 · 35 · 59 = 2 × 243 × 1953125 = 949218750
x = x → 29 · 35 · 59 = 512 × 243 × 1953125 = 243000000000

最后一个数有十一位。只是一个三符号的公式,编号已经这么大——四个符号就会超过千万亿。这不影响它的用处:哥德尔要的不是「能写下来」,而是「是一个确定的自然数」。

第四步,解码。倒着走。把数做素因数分解,读出每个位次的指数:

2430 = 21 · 35 · 51 → 1, 5, 1 → 0 = 0
486 = 21 · 35 → 1, 5 → 0 =(缺一个)
1458 = 21 · 36 → 1, 6 → 0 ((括号没关)

后两个解出的符号串不是合格公式。这一步很重要:每个公式都只有一个编号(分解唯一),但不是每个数都是某个公式的编号(符号串未必合格)。「一个数是不是公式的编号」,机械地查一遍就能答——分解、对表、看结构,三步都是有限的。

第五步,验一个倍数关系。比较 2430 与 243000000000:两者相差 108 倍。为什么正好是一亿倍?因为把 0 换成 x,号数从 1 变成 9,位次 1 与位次 3 各多乘了 28 与 58,而 28 × 58 = 108。位次与符号各管一头,互不干扰——这正是素数幂编码的用意。

最后想一想:如果改用「把号数直接连写成十进制」,0 = 0 会变成 151,x = 0 会变成 951,看上去也像个数。可 12 到底是「1 后面跟 2」还是「12」?读的人分不清。素数幂编码把「第几位」和「是哪个符号」分别交给素数序号与指数,两件事再也不会混在一起——这是它值得写下来的唯一理由,也是全部理由。

动手做造一个不在表里的句子p.45

材料:一支笔、一张纸。目标分两步:先造一个「漏网」的串,再让这个串变成一句谈论自己的话。

第一步,写出五行字。每行五个字母,只用 A 与 B:

1 A B A A B
2 B B A B A
3 A A B B A
4 B A A A B
5 A B B A A

第二步,取斜线。第 1 行第 1 个、第 2 行第 2 个、第 3 行第 3 个、第 4 行第 4 个、第 5 行第 5 个:

A B B A A

第三步,逐位改写。规则:A 写 B,B 写 A。

A → B B → A B → A A → B A → B  →  B A A B B

第四步,逐行核对,看新串 B A A B B 是否在表里:

与 1:第 1 位 B ≠ A
与 2:第 2 位 A ≠ B
与 3:第 3 位 A ≠ B
与 4:第 4 位 B ≠ A
与 5:第 5 位 B ≠ A

每行都至少差一位,所以新串不在表里。把新串添成第 6 行,再走一遍,又会造出一个不在 6 行里的串。添一次漏一次——不需要数有多少行,就能断定任何一张表都漏。这个做法在数学里叫对角线法。

第五步,让串变成话。现在换一套「行」:把「模板」当行,模板里留一个空格 □。规则:把某行前面的编号填进这一行的 □。

取一个模板,编号为 42,内容是:

把数字 □ 填进编号 42 的模板的 □ 里,所得的那句话不可证。

把 42 填进去,得到:

「把数字 42 填进编号 42 的模板的 □ 里,所得的那句话不可证。」

所得的那句话,正是这句话自己。于是它说的是:「本句不可证。」——这一步没有用任何神秘能力,只用了「编号」与「填」两个机械动作,与第四步的「取斜线、逐位改」是同一种操作。

最后想一想:这两步合起来就是哥德尔的骨架。第一步造出「表外之物」,第五步让表外之物开口说自己。真正的工作量在中间:把「不可证」这三个字写成一条算术式——那要用到编码与可表达性,也就是前一页做的事。骨架简单,血肉难砌;难的部分全在让算术学会说自己的话。

小典本册关键词条p.46

形式系统 由符号表、形成规则(哪些符号串是公式)、公理集、推理规则组成。证明是有限长的公式序列,每项或为公理,或由前面各项按规则得出。

语法与语义 语法管符号怎么排,语义管符号指什么。「可证」属语法,「真」属语义,二者分属两层,这是本册全部分析的起点。

一致(协调) 不存在公式 φ 使 φ 与 ¬φ 都可证。不一致的系统由爆炸原理可证一切命题,因而什么也没说。

完备(语义) 凡在一切模型中为真的公式都可证。一阶逻辑完备(哥德尔 1929);含算术的系统不完备(1931)。两组结论不冲突:前者说规则够用,后者说公理不够。

可判定 存在有限步机械程序,对任一输入在有限步内答是或否。可判定性质都可用初等算术的语言表达。

原始递归 由零、后继与投影出发,经复合与递归两类操作生成的函数类。加法、乘法、素因数分解、编码与解码全在其中。

可表达性 凡递归关系 R,存在算术式 R′,使 R 成立时系统证明 R′,不成立时证明其否定。哥德尔证明的地基。

哥德尔编码 给每个符号发一个自然数,公式与证明按位次取素数幂相乘,得到唯一的自然数。唯一性由算术基本定理保证。

⌜φ⌝ 公式 φ 的编号,读作「φ 的哥德尔数」。数名与对象在此合流,是自指得以实现的关键。

Prov(x) 「编号为 x 的公式可证」,即 ∃y Proof(y, x)。它是递归可枚举而非可判定:有证明可验,无证明不可验。

Con(T) 系统 T 一致,写成「不存在 y 使 y 是矛盾式的证明编号」。

对角线引理 对任何含一个自由变元的算术式 D(y),可造出句子 G 使 G ↔ D(⌜G⌝) 可证。自指句的标准生成器。

ω-一致 比一致更强的条件:若对每个具体的 n 都能证 φ(n),则不能证 ∃x¬φ(x)。原文要求它,罗塞尔 1936 年将之减为一致。

第一不完全性定理 任何一致、可递归公理化、且能表达基本算术的系统,都存在既不可证也不可反驳的句子。

第二不完全性定理 这样的系统不能证明自身的一致性:Con(T) 在 T 内不可证。

有穷方法 希尔伯特纲领所要求的方法:只处理具体符号串的具体操作,不预设任何无穷总体。第二定理限制的是它的范围,不是它的合法性。

可计算性 丘奇 λ 演算、图灵机、递归函数三种模型给出同一个类。丘奇—图灵论题:凡直觉上可机械计算者,皆是此类函数。

停机问题 不存在程序能对任意程序与输入判定其是否停机。与第一不完全性定理同构,图灵 1936 年给出。

力迫法 科恩 1963 年为证明独立性而发明的方法:从已知模型出发,添入一个新对象构造扩张模型,并控制其性质。

L(可构成宇宙) 哥德尔 1938 年定义的集合层级:只收「可定义」的子集。在其中选择公理与广义连续统假设都成立。

小典本册人物与书目p.47

人物

哥德尔(1906—1978) 本册主角,不完备性定理与可构成宇宙的提出者。
阿黛尔(1899—1981) 1938 年与哥德尔结婚,此后四十年是他生活的唯一支点。
哈恩(1879—1968) 维也纳大学数学教授,哥德尔的博士导师,1930 年 10 月代读其摘要。
石里克(1882—1936) 维也纳学派领袖,1936 年在大学的台阶上被一名昔日的学生枪杀。
卡尔纳普(1891—1970) 学派核心成员,最早采用哥德尔的编码技术。
魏斯曼(1896—1959) 学派成员,与哥德尔在 1930 年前后有多次技术讨论。
希尔伯特(1862—1943) 提出纲领与二十三问题,其计划是哥德尔定理的直接对象。
阿克曼(1896—1962) 与希尔伯特合著 1928 年逻辑教科书,完备性问题出于此书。
根岑(1909—1945) 1936 年用超限归纳证明皮亚诺算术一致,越过了第二定理的界线。
冯·诺依曼(1903—1957) 独立得出第二定理,并在此后转向计算与博弈。
弗雷格(1848—1925) 《概念文字》开创现代逻辑;1902 年收到罗素的信。
罗素(1872—1970) 与怀特海合著《数学原理》,哥德尔 1931 年论文的对象系统。
塔斯基(1901—1983) 1933 年证明真不可在系统内定义。
丘奇(1903—1995) λ 演算,1936 年证明一阶逻辑不可判定。
图灵(1912—1954) 1936 年给出图灵机与停机问题,1937 年在附录中证两模型等价。
罗塞尔(1907—1989) 1936 年把第一定理的一致性假设减弱。
斯科伦(1887—1963) 1920 年代的模型论工作,与完备性问题相关。
科恩(1934—2007) 1963 年用力迫法证连续统假设独立,1966 年获菲尔兹奖。
爱因斯坦(1879—1955) 1942—1955 年与哥德尔每日同行,两人在物理与哲学上互为对手。
摩根斯特恩(1902—1977) 经济学家,哥德尔入籍时的陪同者之一,留下当日记录。
王浩(1921—1995) 1970 年代与哥德尔多次长谈,其记录是晚年思想的主要来源。

书目

《哥德尔文集》第一至五卷(Collected Works, ed. S. Feferman et al., Oxford, 1986—2003)——一手材料的唯一全集,含编者导言与未刊札记。
《论〈数学原理〉及其相关系统中的形式不可判定命题 I》,《月讯数学物理》第 38 卷(1931),pp. 173—198——本册核心论文。
《选择公理与广义连续统假设的一致性》(Annals of Mathematics Studies No. 3, 1940)——L 宇宙的原始论述。
J. W. Dawson, Logical Dilemmas: The Life and Work of Kurt Gödel(1997)——最完整的传记,考订精严。
Hao Wang, Reflections on Kurt Gödel(1987)——晚年谈话与思想侧写。
R. Smullyan, Gödel's Incompleteness Theorems(1992)——最省力的技术入门。
G. Boolos, The Logic of Provability(1993)——第二定理的现代处理。
E. Nagel & J. R. Newman, Gödel's Proof(1958)——经典通俗读本,篇幅不足百页。
M. H. A. Newman et al., Kurt Gödel: Essays for his Centennial(2010)——各方向的后继评述。

延伸五个台阶:从普遍文字到通用机器p.48

哥德尔不是从空地里冒出来的。他站在一条三百年的路尽头,而那条路一共五个台阶。

第一级:莱布尼茨的梦。十七世纪七十年代,他设想一种「普遍文字」:把所有概念分解成基本项,用符号代替,争论时双方说「让我们算一算」。他连推理的运算规则都想过几条,但没有做出系统。这个梦此后被反复重提,成为「机械化」最早的形状。

第二级:布尔的代数。1854 年《思维规律的研究》把「与、或、非」写成乘法、加法与补运算。逻辑第一次有了可计算的形状——虽然它管的只是类与命题,还够不上数学。

第三级:弗雷格的记号。1879 年《概念文字》引入量词与约束变元,第一次把「对一切」「存在」写成符号。这一步把数学的推理真正写成了线性符号串,也就是后来一切形式系统的语法雏形。

第四级:希尔伯特的手术。1920 年代,他把「证明」本身当成研究对象:不问某个定理是否为真,只问这串符号是否合规。这一步把数学变成了一门关于书写的研究,也把「一致性」变成了可以讨论的技术问题。

第五级:哥德尔与图灵。1931 年,编码让系统能谈论自己;1936 年,图灵把「机械可计算」定义成一台纸带机器。两个结果从两侧夹住了同一个边界:能写的、能算的,都有一处够不着。

五个台阶的共同点是:每一级都不是新事实的出现,而是把「算」这个字推得更远一点。莱布尼茨推到了概念,布尔推到了命题,弗雷格推到了量词,希尔伯特推到了证明,图灵推到了机器。每推一步,边界就清楚一分——而边界变清楚,从来不是退步。

还有一级正在施工,只是还没有定名。今天的证明助手把「可检验」做到了工程级:一条定理的证明可以由机器逐行核对,误差为零。这些工具大多不越过哥德尔的界线——它们检验证明,不生产真理;能核对每一步,不等于能造出那一步。界线仍在原处,只是被绕行得更熟练了。

延伸三桩公案与延伸阅读p.49

公案一:那条多余的假设。原文的第一定理要求系统 ω-一致,比「一致」更强。这个条件从第一天起就让人不舒服:定理说的是「一致的系统不完备」,可证明却要多要一点东西。1936 年,二十五岁的罗塞尔找到一个改写:把自指句的构造从「本句不可证」换成「对本句的任何证明,都有一个更短的否证」,条件就降到只需一致。哥德尔在原文的一条脚注里几乎走到这条路上,却没有走完。今天教科书里的「哥德尔—罗塞尔定理」才是标准形式,而多数通俗讲述仍在重复 1931 年的强条件。

公案二:一句被读反的话。1950 年代之后,这条定理被大量通俗写作读成「理性破产」「数学没有可靠性」。哥德尔本人 1951 年在布朗大学的吉布斯演讲里说的恰好相反:这些定理说明数学的内容不能被任何形式框架穷尽,因此数学的对象是客观的。他把结果当作柏拉图主义的证据,而传播者把它当作怀疑论的证据。同一串符号,两个方向相反的解释,各自都能自圆其说——这桩公案至今仍在重演。

公案三:写在译注里的哲学。哥德尔一生极少写哲学论文。他对「数学只是语言约定」这一实证主义主张最系统的反驳,写在 1958 年为一本哲学书写做的译注里,而不是任何一篇论文中。这篇译注篇幅不长,语气却与 1931 年那篇判若两人:句子拉长,术语密集,反复讨论「概念有客观内容」这件事。一个把技术做到极致的人,晚年把力气花在了说明「为什么要做这些技术」上。

延伸阅读的建议:先读一本不足百页的通俗本,把定理说了什么、没说什么分清;再读一本教科书的前两章,把编码与对角线引理各走一遍;最后回原文,读 §1 与 §2。若还有余力,读王浩的谈话记录——那里有一个技术极强的人怎样谈论自己工作的意义,比任何转述都可靠。

给家长这册在讲什么p.50
▤ · ✦一 盏 灯 与 两 把 椅

这册书讲一个人,和他问的一个问题:能不能把全部数学,交给一套写死的规则去做。

这个问题孩子其实很熟。「为什么 1 加 1 等于 2?」「怎么知道的?」「规则是谁定的?」大人通常答「规定就是这样」,然后把话题转开。哥德尔没有转开,他把「规则」写到了极致,然后量出了它的边界:任何一套足够强的规则,都会有它证不出、却确实为真的句子。

对孩子来说,这册书能给出三样东西。第一样是「把规则说清」的经验:什么算一步,什么不算,说清了才能照着做——这是编程、下棋、做实验共通的能力。第二样是一个可以玩的游戏:「这句话是假的」到底真不真?两边都不通,可只要换个说法,两边就都通了。第三样是一个人的样子:他用四年时间想清一件事,然后用余生守着它。

这册书不要求孩子学会编码。数学层里的素数幂计算可以跳过,故事层与暗线层是完整的。如果孩子只记住一件事,希望是这一件:能说出「我这里做不到」,比假装做得到要难,也有用得多。

有一点要提前说明:哥德尔晚年患有疑病与进食障碍,最后因拒绝进食去世。本册在 p.37 与 p.38 如实写到这件事,但把它写成处境,不写成传奇。疾病与他的数学成就之间没有因果关系,把两者绑在一起讲,既不准确,也不尊重。

给家长可以一起聊的三件事p.51
◌ ◌ ◌ · ✦三 个 并 排 的 小 圈

话题一:「这句话是假的。」先让孩子判断真假。若真,则它说的是假话,所以假;若假,则它说的不是假话,所以真。两边都通不了。然后一起把它改成:「这句话不可证。」这一次两边都通了:它确实不可证,而且它确实是真的。可以顺势讲:把「假」换成「证不出来」,悖论就变成了定理——这是本册最核心的一步,也是孩子能亲手走的一步。

话题二:如果一台机器能证明所有数学定理,它会遇见什么?不必讲编码,只讲规则:机器的规则是写死的,写死的规则可以拿来谈论自己。于是它能写出一句「本句在机器里证不出来」。机器若证它,就证了一句假话;若不证它,它就真而没被证出。可以问孩子:这时候该说是机器不够强,还是这句话本来就超出了「证」的范围?这个问题没有标准答案,但讨论的过程就是数学。

话题三:一个人说「这件事我做不到」,是软弱还是清醒?这是本册暗线的落点。可以讲几个事实:哥德尔二十五岁做出最重要的结果,此后四十多年主要在做补充与澄清;他拒绝了很多邀请,也拒绝了很多争论。然后问孩子:如果明知道自己只能做好一件事,是该勉强样样都做,还是把这一件做到极处?这个问题值得聊很久,不必给出答案。

如果孩子对「机器能不能想」特别感兴趣,可以往下讲两个方向。一个是停机问题:写一个程序,判断另一个程序会不会永远运行下去——图灵证明这样的程序不存在。另一个是今天的证明助手:机器可以逐行核对一条证明,却不会自己产生那个关键的念头。

版权与编目版权页p.52

《数学家的故事》第三辑 第 30 册
哥德尔 · 理性的边界

体例:五幕 · 52 页 · 三层可读(故事/数学/注疏)
插画:40 幅(留白线体)
数值:全册关键数值实算复核

本册为「格物致知」系列数学通识读物之一,面向全龄读者。
故事层无需预备知识;数学层对应小学高年级至初中;注疏层供检索与延伸。

格式 · 格物致知 · JUST FOR FUN