读“哥德尔不完备定理”-重新审视认知

155 阅读7分钟

在电影《奥本海默》中,当奥本海默前往普林斯顿高等研究院找爱因斯坦时,他看到爱因斯坦正与一人在湖边散步。这人便是哥德尔,他与爱因斯坦在普林斯顿高等研究院并肩散步堪称20世纪科学界最著名的画面之一。奥本海默称赞道:“哥德尔是自亚里士多德以来最伟大的逻辑学家。”物理学家约翰·惠勒评价道:“如果称他为亚里士多德以来最伟大的逻辑学家,你低估了他。”“即使到公元5000年,若宇宙仍然存在,真理也仍然放射光芒的话,人们也将继续视哥德尔的工作为一切知识的中心。”

哥德尔的人生经历

哥德尔出生于当时奥匈帝国的布吕恩市(今捷克的布尔诺),年轻时在奥地利维也纳读书。

1940年,哥德尔被普林斯顿高等研究院聘为研究员。研究院承诺,研究人员无须申请经费,研究院将提供保障,并允许他们自由研究自己感兴趣的课题。哥德尔和晚年的爱因斯坦两个人天真地相信了这个许诺,既不申请经费,也不写灌水文章凑数,单纯地研究自己想研究的问题。正因为如此,这两个人在当时的科学界多少被边缘化了。因为在科研工业化的现代,不申请经费就意味着课题少有人参与,也少有人关注;不大量培养学生,则少有人去继承和发扬他们的思想。哥德尔只有晚年的爱因斯坦这一位密友,没有学生,唯一可以称为他的精神继承者的是图灵。哥德尔几乎凭一己之力完成了自己的研究。

1952年6月17日,哈佛大学授予了哥德尔名誉博士学位,并赞誉他为“本世纪最有意义的数学真理发现者”。这个“最有意义的”内容即哥德尔不完备定理,是哥德尔于1931年提出的。这个定理可以用以下几种形式之一来陈述:

  • GT1. 数学是不可穷尽的。
  • GT2. 每个自洽的形式数学理论一定包含不可判定的命题。
  • GT3. 没有定理证明机器(或程序)能够只证明全部真的数学命题。
  • GT4. 没有既自洽又完备的形式数学理论。
  • GT5. 数学是机械上(或算法上)不可穷尽的(或不可完备的)。

亚里士多德开启理性,哥德尔揭示理性的缺陷

人们认为亚里士多德开创了理性认知的起点,自然是可以被人类理性认知的,这让人们相信理性拥有无穷的力量,能使人们对自然的认知日益清晰。但哥德尔用同样纯理性的方式非常明确地告诉人们,理性是有边界的,是有天然缺陷的。哥德尔证明了直觉才是我们认知中最重要的部分,但自亚里士多德时代以来,人们一直试图将直觉排除在人类的思维过程之外。

1931年,哥德尔发表了一篇包含46条引理、共26页的论文,题为《论〈数学原理〉及相关系统中的形式上不可判定命题》(On Formally Undecidable Propositions of Principia Mathematica and RelatedSystems ),论文中给出了哥德尔不完备定理。

  • 哥德尔不完备定理的第一条定理指出,对于任何一个数学系统,如果它包含了算术系统这个最小的系统,这个系统不可能同时满足完备性和自洽性。换句话说,连算术这个最简单的领域都无法满足,更不用说所有其他数学领域了。
  • 第二条定理指出,对于任何一个数学系统,如果它包含了算术系统,那么其自洽性无法在系统内部被证明。这种自洽性无法被证明,也无法被弥补。没有一套数学系统能在系统内部证明其包含的所有命题都是互不矛盾的。

图灵证明哥德尔不完备定理

  • 定义1:一个形式系统被称为自洽,两个矛盾的命题S与SS不同时为真。
  • 定义2:一个证明系统被称为完备,如果在这个系统中的陈述S或者!S可以被证明为真。

我们的目标在于证明哥德尔不完备定理:不存在一个证明形式系统,自洽性和完备性能够同时满足。回顾一下我们前面提到的问题,怎样构成一个形式化证明?

一个形式化证明系统Π,包括以下3个要素:

  1. 有限的可用于证明的词汇组。
  2. 有限的公设。
  3. 有限的推演规则。

当我们谈到一个形式系统“足够丰富”时,我们事实上要求它具备这样的能力:它可以对任何陈述的输入x,做出或真或假的判定。

  • 定义3:如果一个命题系统中,方程f可以被确定为真命题或假命题,那么我们称这个系统为足够丰富。
  • 定义4:我们使用Q来代表这样一个函数集合:输入任意自然数,通过计算,输出结果是0或1,即Q具有确定的真值。这样,如果一个方程f是属于Q的,任何一个自然数x输入f(x),会得到0或1。
  • 定义5:可计算。方程f是可计算的:如果可以用计算机语言(Python、C语言等)写出一个有限长的程序,在一个可以执行的计算设备上(如个人计算机或者云中心)在有限时间内计算方程f。这样,给定任意的自然数x,程序总能在有限的时间内运行完毕,给出结果f(x)。
  • 定义6:A是Q中所有可计算方程f的集合。我们很容易证明A中的方程是无穷多的。

比如,我们定义第一个方程,这个方程在x=1的时候,等于1,其他输入时候等于0,即: f(1)=1;f(x)=0,x≠1
我们同样可以定义第二个方程,在x=2的时候,这个方程等于1,即:f(2)=1;f(x)=0,x≠2

因为自然数有无穷多个,所以按此方式定义的方程也会有无穷多个。

我们接下来证明一个重要的定理:Q里存在不可计算方程,即可计算方程的集合A是方程集合Q的严格子集。即A比Q 要小,总有些方程可以有确定的真值,即其输出是0或1,但不是一个可计算方程。

证明:

在任何形式系统中,只要某种证明存在,就总有找到对应该证明的算法。由于我们必须假定该系统是以某种符号语言来表达的,而这种语言是由有限的“字母”符号构成的,我们把符号串按照字母顺序进行排列。这意味着对于固定长度的符号串,先排列所有长度为1的,然后是长度为2的,接着是长度为3的,以此类推。通过这种方法,我们可以将所有正确的证明按照字母顺序排列,从而获得该形式系统中所有证明的列表。

我们为可计算方程编写出来的文档排序。具体而言:在编写计算机程序时,我们常用分割符来表示一行的结束。这并不妨碍我们把整个程序当成一个字符串。例如,用某种程序语言编写的程序PfP_f是可计算方程f所对应的程序,这个程序PfP_f是有限长度的字符串。我们依据长度把所有的表示PfP_f的字符串排成一列,如果字符串长度相同,则按字母顺序来排序。这与编字典的方式类似,先按照单词的长度排列,单词长度相同的时候,再按字母顺序排序。于是我们得到了一本包含所有可计算程序的字典L。每一个可计算程序都会在字典L中有一个确定的位置。当然也有可能某个可计算方程f可以对应几个不同的程序Pf1P_{f1}Pf2P_{f2}……由于方程和程序之间实质上是对应的,我们只保留在这个序列中的第一个PfP_f

依据这本字典,我们就可以把输入值和程序列在一起,形成一个足够大的表T,如图所示。为了不失一般性,我们让自然数输入x都对应于f的0或1输出。

image.png

我们现在可以定义一个方程:

f=1fi(i)f^{'} = 1-f_i(i)

ff^{'}也可以把确定的自然数输入、输出为确定的0或1,所以它是有确定真值的函数Q集合中的一员。如在表T 里,对于不同的自然数输入值,f(1)=0,f(2)=0,f(3)=1,f(4)=1...f^{'}(1)=0,f^{'}(2)=0,f^{'}(3)=1,f^{'}(4)=1...

那么,ff^{'}是一个可计算方程吗?答案是否定的,ff^{'}不是一个可计算方程

如果ff^{'}是一个可计算方程,那它应该已经在表T里了,因为我们已经把所有可计算方程列在表T里了。假设ff^{'}在第j行,这样f(x)=fj(x)f^{'}(x)=f_j(x)。比如是在第107行,j=107。但是f(107)=1f107(107)f107(107)f^{'}(107)=1-f_{107}(107)\neq f_{107}(107),所以ff^{'}不在第107行。同样,对于f(j)=1fj(j)fj(j)f^{'}(j)=1-f_j(j)\neq f_j(j)ff^{'}fjf_{j}的输入相同的时候,至少有一个输出是不一样的,这个不同值至少在第j个位置。因此,在表T里,没有一行对应ff^{'}这个方程,因此ff^{'}不是可计算方程A中的一员,但它确实是Q中的一员,因此,A是Q的子集。

这样我们就会看到,我们确实可以定义一个方程,它有确定的含义和输入、输出值,却是不可计算的。

接下来,我们来证明哥德尔第一不完备定理:在系统Π中,存在真实的命题,但不能被证明。我们来补充我们谈论命题“真”和“假”时的含义

我们把一个陈述称为关于f的陈述。对于任何一个自然数输入x,可以表达为“f是1”或“f是0”。这样每一个f陈述,都是一个关于某一自然数的判定,其输出值为0或1。比如f(13)=1就是一个f陈述,输入值自然数x的值是13。我们定义f的陈述输出值是0时,认为命题可以被证伪,输出值是1的时候,认为命题可以被证明。这样对于任何自然数输入值,关于f的陈述只有两个值:0或1。

这样根据上面已经有的讨论,我们确实知道了有这样的陈述存在,它可以唯一地被判定为对或错,但它的证明过程无法被写为一个有限长的序列,出现在可计算函数的列表里——它是不可被证明的!

由哥德尔不完备定理可以得知,如果用PM代表罗素写《数学原理》所能构成的所有陈述,即整个数学原理可以构架的知识体系,如下图所示,那么这一体系中的所有陈述可以分为3部分:可以被证明的部分(图中白色部分)、可以被证伪的部分(图中黑色部分),以及大量不可判定的部分(图中灰色区域)。这些灰色区域包含了数学命题中的绝大部分内容。

image.png

接受人类的不完美,正是我们的伟大之处

今天,尽管哥德尔在公众视野中已渐渐淡去,他在1931年的发现却对数学界产生了深远的影响。哥德尔不完备定理证明了在任何包含基本算术的自洽形式系统内,都存在这样的命题:这个命题既不能被证明为真,也不能被证明为假。这意味着即使是数学这样一个以确定性著称的领域,也存在着无法完全解决的问题。而数学一直以来都被视为一种高度确定性的学科,其命题清晰,逻辑严密,且可以被证明。

哥德尔不完备定理的发现不仅对数学产生了革命性的影响,也对哲学、逻辑学乃至整个科学领域的认知产生了深刻的影响。它告诉我们,即使是在看似最为确定的领域,也存在着不确定性和局限性。这标志着人类对确定性追求的一个新的里程碑,人们开始更加深入地探索相对确定性的概念,并在这一过程中不断扩展知识的边界。