第五部分 · 数学回望自身
哥德尔不完备:数学永远证不完自己
上一课,希尔伯特许下数学史上最宏大的愿望:一套既完备又自洽、还能证明自己自洽的地基。1931 年,一位 25 岁的年轻人用一句会"谈论自己"的命题,把这个梦从内部炸开。这是数学回望自身这条线的终点——也是它最深刻的反转。但还不是整门课的终点:看清了边界的数学,接下来要转身去造一台会学习的机器。
留下的问题:这个梦能实现吗?
本课新增:哥德尔不完备定理。第一定理:任何足够强(强到能表达基本算术)且自洽的形式系统,都存在"真,但在系统内无法证明"的命题——它不可能完备。第二定理:这样的系统无法在自己内部证明自己的自洽。希尔伯特之梦,破灭。然后,我们沿着前五部分这条"思想史"的链,从头走回来一遍——它在这里收束,下一程则换一副面孔重新开始。
哥德尔的奇招:让数学谈论自己
希尔伯特把数学变成了一台形式机器:所有命题都是按规则拼出的符号串,所有证明都是按规则一步步变形的符号串。库尔特·哥德尔(Kurt Gödel)盯着这台机器,看出了一个谁都没料到的破绽——既然命题和证明都只是符号串,那它们就都可以被编号。
这就是著名的哥德尔编码:给每个符号配一个数,再把整串符号编成一个唯一的大数。于是每一个命题对应一个数,每一段证明也对应一个数。一旦如此,奇妙的事发生了:"某命题在系统里有没有证明"这件事,本身变成了一道关于数的算术问题。而算术,正是系统自己能谈论的东西。
那句要命的自指命题 G
有了这面镜子,哥德尔精心拼出一句特殊的命题。把它叫 G,它说的是:
这让人想起上一课罗素的 R:R 问的是"包不包含自己"(成员关系),G 问的是"能不能证明自己"(可证性)。罗素的回路炸毁的是朴素集合论;哥德尔的回路,要炸的是希尔伯特之梦。我们照样只问两条路,逐一推演——假设系统是自洽的(不会推出矛盾),看 G 会怎样。
第一条路:假设 G 可证。那么系统证明了 G。可 G 说的正是"G 不可证"。系统既证出了 G,又因此让 G 所断言的内容("不可证")成了假话——系统证明了一句假命题。一个会证明假命题的系统是不自洽的(它能推出矛盾)。这与我们的前提冲突。所以,只要系统自洽,G 就不可能被证明。
第二条路:那就是 G 不可证。可 G 断言的恰恰就是"G 不可证"——于是 G 说的是真的。我们手上出现了一句为真、却在系统内永远证不出来的命题。这正是"不完备"的定义:有真理漏到了证明的网眼之外。
第二定理:连"我没矛盾"都证不出来
哥德尔还没收手。第一定理说"自洽 ⇒ 存在真而不可证的命题 G"。注意,这整段推理本身也能用算术语言写进系统内部。于是系统可以在内部陈述这样一句话:"如果我是自洽的,那么 G 不可证。"
现在假设系统真能在内部证明自己的自洽(这正是希尔伯特最想要的"自证清白")。把"我是自洽的"代进上面那句,系统就推出了"G 不可证"——可"G 不可证"恰恰就是 G 本身的内容,等于证明了 G。而第一定理已经告诉我们:自洽的系统证不出 G。矛盾。
到这里,希尔伯特那句"我们必须知道,我们终将知道"被温柔而彻底地驳回了。不是因为我们还不够聪明,而是因为这是任何足够强的形式系统逃不掉的内在宿命:它无法在内部既证明所有真理,又担保自己不会崩。
它到底说了什么——以及没说什么
不完备定理是被滥用得最厉害的数学结论之一,所以请把它说精确。它不是说"数学错了""数学自相矛盾"——恰恰相反,它假设系统是自洽的,然后在这个前提下推出不完备。它也不是说"什么都不可知""没有真理可言"——它谈论的是一件非常具体的事:在一个固定的形式公理系统里,"能被形式证明"和"为真"是两回事,前者永远盖不满后者。
它真正做的,是给"形式证明"精确地画了一条边界:证明这台机器很强,但它够不到全部真理,也担保不了自己。这和图灵几年后的停机问题是同一件事的两张面孔——没有一个机械程序,能判定任意程序会不会停下来;同样,没有一套机械程序,能判定任意算术命题真假。不可判定性,是这条认识链共同的终点。这不是失败,而是人类第一次精确地知道了"机械的确定性"能走多远。
回望:前五部分,一条思想史的链
前十八课,一个引擎。我们从"数得清"出发,被一道又一道解不了的问题逼着往前,最后逼到"数学证不完自己"。回头看,每一步都不是谁规定要学的,而是上一步那堵墙逼出来的。让我们沿着这条思想史的链,把它重新走一遍——
看清这条链,第 00 课那个钩子就有了答案。一把尺量不出 √2,不是因为尺子不好,而是因为"所有数"这个概念本身不够大,必须被扩张。整门课,就是人类一次次发现"现有的概念不够大、不够稳",然后亲手把它造大、造稳的故事。