美籍奥地利数学家、逻辑学家库尔特·哥德尔(KurtGdel,1906年4月28日—1978年1月14日)是二十世纪最伟大的逻辑学家之一,其最杰出的贡献是哥德尔不完全性定理。
库尔特·哥德尔(KurtGdel)
那个时代的数学家们为数学寻求了坚实的基础:一系列基本的数学事实或公理,这些事实既是一致的——不会导致矛盾——也是完整的,是所有数学真理的基础。
但是,哥德尔25岁时发表的令人震惊的不完全性定理粉碎了这一梦想。他证明了任何可以作为数学基础的公理都不可避免地是不完整的。关于这些数字,总会有真实的事实不能被那些公理证明。他还表明,没有任何一套公理能够证明其自身的一致性。
他的不完全性定理意味着,不可能对所有事物都进行数学理论,对可证明的和真实的事物也无法统一。数学家可以证明的内容取决于他们的初始假设,而不是所有答案所依据的任何基本事实。
自哥德尔发现以来的89年中,数学家偶然发现了他的定理所预言的那些无法回答的问题。例如,哥德尔本人帮助建立了关于无穷大的连续性假说是不确定的,而停止问题则是不确定的,该问题询问使用随机输入的计算机程序将永远运行还是最终停止。物理学中甚至还出现了无法确定的问题,这表明哥德尔式的不完备性不仅影响数学,而且以某种不被理解的方式影响现实。
这是哥德尔如何证明他的定理的简化的非正式总结。
哥德尔数
哥德尔的主要策略是将有关公理系统的陈述映射到系统内的陈述,即关于数字的陈述。这种映射使公理系统能够轻松地谈论自己。
此过程的第一步是将任何可能的数学陈述或一系列陈述映射到称为哥德尔数的唯一数字。
欧内斯特·内格尔(Ernest Nagel)
欧内斯特·内格尔(Ernest Nagel)和詹姆士·纽曼(James Newman)在1958年出版的《哥德尔证明》中,对哥德尔方案进行了略微修改,最初以12个基本符号作为词汇来表达一系列基本公理。 例如,存在的陈述可以用符号expressed表示,而加法则用+表示。 重要的是,符号s表示“的继任者”,提供了一种指定数字的方式。 例如,ss0指的是2。
然后为这12个符号分配哥德尔数字1到12。
接下来,代表变量(以x,y和z开头)的字母映射到大于12的质数(即13,13,17,19,…)。
然后,这些符号和变量的任何组合(即可以构造的任何算术公式或公式序列)都将获得自己的哥德尔编号。
例如,假设0 =0。公式的三个符号对应于哥德尔数字6、5和6。哥德尔需要将此三数字序列更改为一个唯一的数字——其他符号序列将不会生成的数字。为此,他采用前三个质数(2、3和5),将每个质数提高到序列中相同位置的符号的哥德尔数,然后将它们相乘。因此0 = 0变为2^6×3^5×5^6或243,000,000。
该映射之所以有效,是因为没有两个公式会以相同的哥德尔数结尾。哥德尔数是整数,并且整数仅以一种方式分解为质数。因此,243,000,000的唯一质数分解是2^6×3^5×5^6,这意味着只有一种可能的方法可以解码哥德尔数:公式0 = 0。
然后,哥德尔又走了一步。数学证明由一系列公式组成。因此,哥德尔也为每个公式序列赋予了唯一的哥德尔数。在这种情况下,他从之前的质数列表开始——2、3、5,依此类推。然后,他将每个素数提高到序列中相同位置的公式的哥德尔值(例如,如果先出现0 = 0,则为2243,000,000×……),然后将所有内容相乘。
算术化数学
真正的好处是,甚至有关算术公式的语句(称为元数学语句)也可以自己转换为具有自己的哥德尔数的公式。
首先考虑公式(0 = 0),表示“零不等于零”。 这个公式显然是错误的。 但是,它有一个哥德尔数:2乘以1的幂(符号的哥德尔编号),再乘以3乘以8的幂(“空心括号”符号的哥德尔编号),依此类推 ,得出2×3^8×5^6×7^5×11^6×13^9。
因为我们可以为所有公式甚至错误的公式生成哥德尔数,所以我们可以通过讨论它们的哥德尔数来明智地谈论这些公式。
考虑以下语句:“公式(0 = 0)的第一个符号是波浪号。”关于(0 = 0)的(真实)元数学陈述转化为关于公式的哥德尔数的陈述——即,其第一个指数为1,即代字号的哥德尔数。换句话说,我们的陈述说2×3^8×5^6×7^5×11^6×13^9只有2的单个因数。如果(0 = 0)以除波浪号以外的任何符号开头,则其哥德尔数至少应为这是2的两个因数。因此,更准确地说,2是2×3^8×5^6×7^5×11^6×13^9的因数,而2^2不是因数。
我们可以将最后一个句子转换为精确的算术公式,可以使用基本符号记下*。这个公式当然有一个哥德尔数,我们可以通过将其符号映射到素数的幂上来进行计算。
内格尔和纽曼写道,这个例子“说明了一个非常普遍而深刻的见解,这是哥德尔发现的核心所在:可以通过讨论大型整数的质因子属性,以间接但完全准确的方式谈论长链符号的排版属性。”
对于超数学陈述,也可以转换为符号:“存在一些数为x的公式序列,可以证明哥德尔数为k的公式”,或者简而言之,“可以证明哥德尔数为k的公式。”将此类陈述“算术化”的能力为意外而成功的行动奠定了基础。
G本身
哥德尔的独到见解是,他可以用公式本身的公式代入自己的哥德尔数,从而避免麻烦。
要查看替换的工作原理,请考虑公式(x)(x = sy)。 (它显示为“存在一些变量x,它是y的后继”,或者简而言之,“ y有一个后继”。)像所有公式一样,它具有哥德尔数——一些大的整数,我们将其简称为m 。
现在让我们在公式中用m代替符号y。 这形成一个新公式(formulax)(x = sm),表示“ m有一个后继”。我们怎么称呼这个公式的哥德尔数?需要传达三点信息:我们从具有哥德尔数m的公式开始。在其中,我们用m代替了符号y。 根据前面介绍的映射方案,符号y的哥德尔数为17。因此,让我们指定新公式的哥德尔数sub(m,m,17)。
替代构成了哥德尔证明的关键。
他认为,“无法证明具有哥德尔数sub(y,y,17)的公式”的形而上的数学陈述。回想一下我们刚刚学到的符号,具有哥德尔数sub(y,y,17)的公式是通过取带有哥德尔数y(某些未知变量)的公式并将该变量y代入有哥德尔数为17(也就是说,在任何地方都可以)。
事情变得扑朔迷离,但是,尽管如此,我们的超数学陈述(“无法证明具有哥德尔数子(y,y,17)的公式”)肯定会转化为具有唯一哥德尔数的公式。我们称它为n。
现在,进行最后一轮替换:哥德尔通过将数字n替换为先前公式中存在y的位置来创建一个新公式。他的新公式为:“无法证明哥德尔数为sub(n,n,17)的公式。”我们将此新公式称为G。
自然,G有一个哥德尔数。它有什么价值?瞧,它必须是sub(n,n,17)。顾名思义,sub(n,n,17)是公式的哥德尔数,它是通过将哥德尔数为n的公式代入n并代入带有哥德尔数为17的符号的任何地方而得出的。G正是这个公式!由于素数分解的唯一性,我们现在看到G所讨论的公式就是G本身。
G宣称自己无法证明。
但是可以证明G吗?如果是这样,则意味着存在一些公式序列,可以证明该公式具有哥德尔数sub(n,n,17)。但这与G相反,后者说不存在这样的证明。相反的陈述G和G在一致的公理体系中都不可能成立。因此,G的真相必须不确定。
但是,尽管G不确定,但事实确实如此。 G说:“无法证明哥德尔数为sub(n,n,17)的公式。”这就是我们发现的事实!由于G是真实的,但在用于构造它的公理系统中无法确定,因此该系统是不完整的。
您可能认为您可以提出一些额外的公理,使用它证明G并解决悖论。但是你不能。哥德尔表示,增强的公理系统将允许构建新的,真实的公式G(根据与之前类似的蓝图),而该公式无法在新的增强系统中得到证明。在努力建立完整的数学系统时,您永远无法摆脱困境。
没有一致性证明。
我们了解到,如果一组公理是一致的,则它是不完整的。那是哥德尔的第一个不完全性定理。 第二种方法很容易遵循,即没有一套公理可以证明其自身的一致性。
如果一套公理可以证明它永远不会产生矛盾,那意味着什么?这将意味着存在根据这些公理构建的一系列公式,该公式从数学上证明了“这组公理是一致的”。 按照第一个定理,这套公理就必然是不完整的。
但是,“公理集不完整”与“有一个无法证明的真实公式”相同。这个陈述等于我们的公式G,我们知道公理不能证明G。
因此,哥德尔创造了一个矛盾的证明:如果一组公理可以证明其自身的一致性,那么我们将能够证明G。但是我们不能。 因此,没有一组公理可以证明其自身的一致性。
哥德尔的证明扼杀了对一个一致、完整的数学系统的追求。内格尔(Nagel)和纽曼(Newman)在1958年写道,“不完全性的含义”还没有被完全理解,今天仍然如此。