样。正是这些直觉是不能被系统化的——它必须超越于任何算法行为!我们利用直觉得出哥德尔命题Pk(k)实际上是算术中的真的陈述,是被逻辑学家称之为反思原理步骤的普遍类型的一个例子:这样,由“反思”公理系统和步骤法则的意义,并使自己坚信这些的确是得到数学真理的有效方法,人们可能把这直觉编码成进一步的真的、不能从那些公理和法则推导出来的数学陈述。正如上面概述的,推出Pk(k)的真理性依赖于这样的一个原则。另一个与原先哥德尔论证相关(虽然在上面没提及)的反思原则依赖于如下的事实去推出新的数学真理,即我们已经相信能有效得到数学真理的公理系统实际上是协调的。反思原理经常涉及有关无限集合的推理,人们使用的时候一定要小心,不要过于接近会导致罗素类型佯谬的论证。反思原理为形式主义推理提供了反题。如果人们很小心的话,就能使他跳出任何形式系统的严格限制之外,并得到原先似乎得不到的新的数学洞察。在我们的数学文献中会有许多完全可接受的结果,其证明需要远远超越原先的算术标准形式系统的法则和公理的洞察。所有这些表明,数学家得到真理判断的心理过程,不能简单地归结为某个特别形式系统的步骤。虽然我们不能从公理推出哥德尔命题Pk(k),却能看到其有效性。这类涉及反思原理的“看见”需要数学的洞察力,而洞察不是能编码成某种数学形式系统的纯粹算法运算的结果。我们将在第十章再回到这个论题上来。读者也许会注意到在建立Pk(k)“不可证明性”的真理和罗素佯谬的论证之间的相似性,还和图灵解决停机问题的图灵机不存在的论证也有相似性。这些相似性不是偶然的。在这三者之间存在有强大的历史连接的脉络。图灵是在研习哥德尔工作之后才找到它的论证的。哥德尔本人非常熟悉罗素的佯谬,并能把这一类将逻辑延伸得这么远的佯谬的推理转化成有效的数学论证。(所有这一切论证都起源于前一章100页描述的康托的“对角线删除法”。)为什么我们应该接受哥德尔和图灵的论证,而必须排斥导致罗素佯谬的推理呢?前者更直截明了得多,作为数学论证而言更出人意表,而罗素佯谬则依靠牵涉到“巨大”集合的更为模糊的推理。但是必须承认,其差别并不真像人们以为的那么清楚。弄清这些差别的企图是整个形式主义观念的强大动机。哥德尔的论断表明,严格的形式主义者的观点是不能成立的,但他没有向我们指出另外完整的可信赖的观点。我认为这问题仍未解决。当代数学中为了避免导致罗素佯谬的“巨大的”集合的推理的类型所实际采用①的步骤不能完全令人满意的。而且,它仍然试图以明晰的形式主义的术语来表达,换句话说,按照我们并不完全相信不会出现矛盾的术语来描述。无论情况如何,依我看来,哥德尔论证的清楚推论是,数学真理的概念不能包容于任何形式主义的框架之中。数学真理是某种超越纯粹形式主义的东西。甚至即使没有哥德尔定理,这一点也是清楚的。在我们去建立一个形式系统任何试图中,如何决定采取什么公理和步骤法则呢?我们在决定采取法则的指导总是,在给定系统的符号的“意义”下对何为“自明正确”的直觉理解。根据关于“自明”和“意义”的直观理解,我们如何决定采用哪个形式系统是有意义的,哪个是没意义的呢?以自身具有一贯性的概念来决定当然不够。人们可以有许多自身具有一贯性但在含义上没有“意义”的系统,它们的公理和步骤法则具有错误的意义,或者根本没有意义。甚至在没有哥德尔定理时,“自明”和“意义”的概念仍然是需要的。然而,若没有哥德尔定理,人们可能想象“自明”和“意义”的直觉①虽然费马的全部命题F的真伪性仍然未知,但是个别命题G(0),G(1),G(2),G3S(3),.直到大约G(125000)的真理性是已知的。也就是说,已经知道没有任何一个立方可以是正数立方的和,没有一个四次方为四次方之和等等,直到相应的关于125000次方的断言。(见66页的译者注脚)。概念只要在开始建立形式系统时用一次就好了,而此后就与决定真理的清楚的数学论证不相干。那么按照形式主义者的观点,这些“模糊的”直觉概念在发现适当形式的论证时,作为数学的初步思维、或者导引而起作用,而在实际展示数学真理时不起作用。哥德尔定理表明,这个观点在数学基本哲学中不能真正站住脚。数学真理的观念远远超越形式主义的整个概念。关于数学真理存在某些绝对的“上帝赋予”的东西。这就是在上一章结尾处讨论的柏拉图主义。任何特定的形式系统都具有临时和“人为”的品格,在数学的讨论中,这类系统的确起着非常有价值的作用,但是它只能为真理提供部分(或近似)的导引。真正的数学真理超越于人为的构造之外。柏拉图主义或直觉主义?柏拉图主义或直觉主义?如果的确有人声称自己为柏拉图主义者,他究竟愿意把柏拉图主义贯彻到何等程度,也有观点上的不同。哥德尔本人是一个非常强烈的柏拉图主义者。我迄今所考虑的数学陈述的类型是相当“缓和的”5。特别在集论中可引入更令人争议的陈述。当考虑集论的所有分支时,就会遭遇到构造极其庞大的模糊的集合,以至于像我这样坚定的柏拉图主义者都会怀疑其存在或它为“绝对的”东西6。也许会面临着这样的阶段,集合具有如此繁复以及概念上可疑的定义,以至于有关它们数学陈述的真伪问题开始具有某种“个人品味”而非“上帝赋予”的品质。人们是否准备和哥德尔一道把柏拉图主义坚持到底,要求关于这么巨大集合的数学论述的真伪总为一个绝对的或“柏拉图”的事体,或者人们在某处停止,只有当集合为合理地构成并且没有这么巨大时才寻求绝对的真伪的解答,对我们的讨论关系并不重大。以我刚刚提到的标准看,对于我们具有意义的(有限或无限)集合,真是不可思议的微小!这样我们不必关心在这些不同柏拉图主义观点之间的差异。然而,存在诸如称为直觉主义(或称作有限主义)的其他数学观点,它走到拒绝任何无限集合的完整存在的另一极端①。直觉主义是1924年由荷兰数学家L.E.J.伯鲁尔作为对某些(诸如罗素的)佯谬的与形式主义相区别的响应而倡导的。这些佯谬是由于在数学推理中太过自由地应用①当形式系统具有k+1个不同符号加上从未用过的新的“零”时,我们可把字典编序认为是“k+1进位”的自然数的通常顺序。这是因为以零开始的数和这前面的零被略去的同一个数一样。共有九个符号的串的简单字典顺序可以用通常的没有零的十进位写出的自然数得到:1,2,3,4……、8,9,11,12,..,19,21,22……,99,111,112,..。无限集合所引起的。这种观点的根源可追溯到亚里斯多德。他虽然是柏拉图的学生,却否定柏拉图关于数学本体的绝对存在和无限集合的可接受性。直觉主义否认(无限或其他)集合自身的“存在性”,而集合仅仅被当作可能确定其成员的规则。无限集合所引起的。这种观点的根源可追溯到亚里斯多德。他虽然是柏拉图的学生,却否定柏拉图关于数学本体的绝对存在和无限集合的可接受性。直觉主义否认(无限或其他)集合自身的“存在性”,而集合仅仅被当作可能确定其成员的规则。陈述的否定之否定等效于该陈述。(可用符号表示为~(~). P,P这是我们上面遇到的关系。)也许亚里斯多德会对在逻辑上如此“显明的”东西受到排斥感到不悦!排中律按照“常识”被认为是自明的真理:如果某事物不真的断言是错的,则该事物一定是真的!(这一个定律是被称作反证法的数学步骤的基础,参阅67页。)但是直觉主义者发现他们能推翻这一个定律。这基本上是因为他们对存在的概念采取不同的看法,他们要求一个确定的(智力上的)构造必须是数学对象实际存在性被接受的先决条件。这样,对于直观主义者来说,“存在”的意思是“构造存在”。在一个用反证法来进行的数学论证中,人们提出某种假设,试图去显示出它的推论会导致一个矛盾,这个矛盾为问题中假设的谬误提供了所需的证明。此假设可采用这样的一个陈述,具有某些必须性质的数学事体不存在。当这个陈述导致矛盾时,在通常数学中,他就推论说所需的事体的确存在。但是,这样的论证本身并没为实际构造这样的事体提供任何手段。对于直觉主义者来说,这类存在根本就不是存在。他们正是在这个意义上拒绝接受排中律以及反证法的步骤。伯鲁尔对此非构造性的“存在”深为不满7。他断言,没有一个实在的构造,这种存在的概念是无意义的。在伯鲁尔的逻辑中,人们不能从某种对象的不存在性的谬误推导出该物体实际上的存在!我认为,虽然关于从数学的存在中寻求构造有某些令人赞赏的东西,但伯鲁尔的观点是过于极端了。伯鲁尔在1924年首次提出他的思想,比彻屈和图灵的工作早十多年。现在按照图灵的可计算性的构造性概念可在数学哲学的传统框架内研究,并没有必要走到像伯鲁尔那么极端的程度。我们可以把构造性的问题和数学存在性的问题分开来讨论。如果我们跟随直觉主义,就必须摒弃自己使用数学中非常强有力的论证的使用,而课题就变得有点窒息和虚弱。我不想细述直觉主义观点导致的种种困难的荒谬;但是仅仅提及一些问题也许是有益的。伯鲁尔经常关心提及的一个例子是π的小数展开:3.141592653589793.。是否在这个展开的某一处存在二十个接连的7的序列,也就是π=3.141592653589793.77777777777777777777.,或者不存在这种情形呢?按照通常的数学,现在所有能说的是,或者存在或者不存在——而我们不知哪个是对的!这看来是一个肯定无害的描述。然而,除非人们已经(以某种直觉主义者接受的构造方式)确立存在这个序列或者不存在这个序列,他们实际上对讲“或者π的小数展开中某处存在连续二十个7的序列或者不存在”采取否决的态度!直接的计算也许足以显示在π的小数展开的某处的确存在二十个连续的7的序列,但要确证没有这样的序列则需要某种数学定理。迄今电脑在计算π时还不能进行足够远到能确认该序列的存在。在基于概率的基础上,人们预料这样的序列的确存在。但是即使利用一台每秒能恒定产生1010位数的电脑,大约也要需要一百或一千年左右才能找到这序列!我认为更可能是,不进行直接计算,该序列的存在某天会在数学上被确认(也许是作为推论某种更有力和更有趣得多的结果)——虽然也许不是以直觉主义者能接受的方式!这一个特殊问题并不具有实际的数学趣味。它只是由于容易叙述才作为例子提出。以伯鲁尔的直觉主义的极端形式,他会宣称:现在断言“在π的小数展开中的某处存在二十位连续的7的序列”既不是真的亦不是伪的。如果在将来用计算或(直觉主义的)数学证明得到适当的这种或那种结果,那么断言就变成“真”的或“伪”的,视当时情况而定。“费马最后定理”是一类似的例子。根据伯鲁尔的极端直觉主义,现在这一道命题既不是真的亦不是伪的,但将来也许会变成其中的一种。对我来讲,数学真理的这种主观性和时间依赖性是不可理喻的。数学结果是否或何时被接受为正式“证明了”的确是一个主观的事体。但是数学真理不应取决于这些依赖社会的判据。对于人们希望能可靠地用来描述物理世界的数学,具有随时间而变的真理概念至少可以说是尴尬的和不令人满意的。并非所有的直觉主义者都采用伯鲁尔那样强烈的观点。尽管这样,甚至对于那些同情构造主义的目的的人也是这么认为,直觉主义观点显然是粗劣的。就仅仅因为人们可允许使用的数学推理的类型过于局限的原因,很少当代数学家愿意全心全意地追随直觉主义。我已经简介了当代数学哲学的三个主流:形式主义、柏拉图主义和直觉主义。我并不掩饰自己强烈同情柏拉图主义的观点,也就是数学真理是绝对的、外在的、永恒的,并不基于人造的判据之上;数学对象具有超越时间的自身的存在,既不依赖于人类社会,也不依赖于特定的物体。我把这种观点贯穿于本节、上一节以及第三章的结尾处。我希望读者准备在这一点上和我大致同心同德。它对于后面要遇到的大量内容都很重要。从图灵结果到类哥德尔定理从图灵结果到类哥德尔定理我提到过,图灵在研究了哥德尔的著作后发展了自己后来的论证,以确立停机问题的不可解性。这两个论证有许多共同的地方,事实上,哥德尔结果的关键方面可利用图灵步骤直接推出。让我们看看这是如何进行的,并因此对哥德尔定理的背后的东西有某种不同的洞察。一个形式数学系统的主要性质是,决定某一给定的符号串是否构成该系统中给定的数学断言的证明应是可计算的事体。表达数学证明的全部要点毕竟在于对于什么是有效推理、什么是无效推理不必作进一步的裁决。以完全机械的和原先预定的办法来检查一个想象的证明是否确实是一个证明应是可能的;也就是说必须有检查证明的算法。另一方面,为提出的数学陈述去找证明(或证伪),我们并不要求它必须是算法的事。事实上,在任何形式系统中只要某种证明存在,就总有找到证明的算法。由于我们必须假定该系统是以某种符号语言来表达的,这种语言是按照符号的某些有限“字母”来表达的。正如以前一样,让我们把符号串以字典的方式编序。我们记得这表示对于固定的串的长度按字母编序,先取所有串长为1的,然后串长为2的,串长为3的等等(见122页)。这样,我们就把所有正确建立起来的证明按照这个字典方案进行编序。我们有了证明的列表,也就有了该形式系统的所有定理的列表。这是因为定理刚好是出现在正确构造的证明的最后一行的命题。这种列表完全是可计算的:由于不管系统的符号串是否有作为证明的意义,可以先考虑所有的串的字典列表,然后用我们的证明检查算法去检验其是否为一个证明,若不是则抛弃之;然后以同一方法检验第二个,若不是证明则抛弃之;然后第三、第四等等。如果有一个证明,我们则可用这种办法最终在这一列表的某一处找到它。这样,如果希尔伯特已经成功地找到它的公理和步骤法则的数学系统,该系统足够有力到能使人们用形式证明决定任何在该系统中正确表达的数学命题的真伪——则就会有一般的算法方法去决定任何这种命题的真理性。为什么这样呢?因为用上述的步骤,如果最终在某个证明的最后一行遇到了我们所寻求的命题,则我们就证明了该命题。反之,如果我们最终遇到的一行是我们命题的否定,则我们就证伪了它。如果希尔伯特方案是完备的,这种或那种的终局就总会发生(并且,如果是协调的,两者永远不会同时发生)。这样,我们的机械步骤总会在某一阶段结束,而我们就应有一种决定系统所有命题真伪的普通算法。这就和第二章阐述的图灵结果相冲突,也就是说不存在决定数学命题的一般算法。因而我们实际上证明了哥德尔定理,就是说希尔伯特期望的方案在刚刚讨论的意义上不可能是完备的。案是完备的,这种或那种的终局就总会发生(并且,如果是协调的,两者永远不会同时发生)。这样,我们的机械步骤总会在某一阶段结束,而我们就应有一种决定系统所有命题真伪的普通算法。这就和第二章阐述的图灵结果相冲突,也就是说不存在决定数学命题的一般算法。因而我们实际上证明了哥德尔定理,就是说希尔伯特期望的方案在刚刚讨论的意义上不可能是完备的。逻辑(包括和")的标准法则外加上一个额外的运算。这个运算简单地$选择为“使得K(x)成立的最小自然数x”,这儿K()是任何给出的算术地可计算的命题函数——并假定存在这样的一个数,也就是$x〔()〕为真的。(如果没有这样的一个数,则xk我们的运算在试图寻求所需的不存在的x时就会“无限地算下去”①。)无论如何,在图灵结果的基础上前面的论证确认了,把数学的一切分支归结为某个形式系统中的计算的希尔伯特规划的确是不成立的。就此而言,这一步骤并没有这么清楚地显示,在这系统中我们具有真的、但不能证明的一个哥德尔命题(例如Pk(k))。然而,如果我们回忆在第二章给出的关于“如何超过算法”(参阅72页)的论证,我们就看到了可以做非常类似的事情。我们在那个论证中指出,如果有决定图灵机动作是否停止的任何算法,我们便能制造图灵机的一个动作,我们看到该动作不停止,但是该算法看不到这一点。(记得我们坚持过,当一台图灵机将要停止时,该算法必须正确地通知我们,虽然在图灵机动作不停止——它会永远运行下去的情形,有时它不能告诉我们。)鉴于上述的哥德尔定理的情形,我们具有利用洞察可以看到实际上必须为真的命题(图灵机的不停运行),但是给定的算法动作不能告诉我们这些。① “集合”和“族”之间存在有差异,集合可允许集中在一起而形成另外的集合或族,但是族不能允许集中在一起而形成任何种类的更大的聚合,这被认为“太大”了。然而除了这种循环的论述,即集合是那种确能聚集成另外聚合的聚合之外,不存在决定何时聚合可被当作集合或只能被当作族考虑的法则。递归可列集递归可列集合0,1,2,3,4,.,这样我们将考察这些聚合,诸如{4,5,8},{0,57,100003},{6},{0},{1,2,3,4,.,9999},{1,2,3,4,.},{0,2,4,6,8,.},甚至整个集合N={0,1,2,3,4,.}或者空集φ={}。我们将只关心可计算性的问题,也就是:“自然数的何种集合可由算法产生,何种不能?”为了提出这样的问题,如果愿意的话,我们可把每一单独的自然数n,在一特别的形式系统中,以特定的符号串来表示。按照系统中(“语法正确”地表达的)命题的某一字典顺序,n表示“第n个”符号串,譬如讲Qn。则每一自然数代表一个命题。形式系统的所有命题的集合是由整个集合N来代表,例如,形式系统的定理可被认为自然数的某一个更小的集合,例如集合P。然而,命题的任何特殊编号系统细节不是重要的。为了在自然数和命题之间建立一种对应,我们需要的是能从任一个自然数n得到它对应的(在一种适当的符号记法中写出的)命题Qn的已知算法,以及从Qn得到n的另一个已知算法。假定已知这两种算法,我们就能随心所欲地把一个特定形式系统的命题集合和自然数集合N相等同。让我们选择一个形式系统,它是协调的,并广泛得足以包括所有图灵机的所有动作——并且在以下的意义上是“有意义的”,即它的公理和步骤法则可认为是“自明地真的”。现在,这形式系统的命题Q0,Q