神鸟电子书 > 文学名著电子书 > 皇帝新脑 >

第24部分

皇帝新脑-第24部分

小说: 皇帝新脑 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



惴ǖ氖隆�

  事实上,在任何形式系统中只要某种证明存在,就总有找到证明的算法。由于我们必须假定该系统是以某种符号语言来表达的,这种语言是按照符号的某些有限“字母”来表达的。正如以前一样,让我们把符号串以字典的方式编序。我们记得这表示对于固定的串的长度按字母编序,先取所有串长为1的,然后串长为2的,串长为3的等等(见122页)。这样,我们就把所有正确建立起来的证明按照这个字典方案进行编序。我们有了证明的列表,也就有了该形式系统的所有定理的列表。这是因为定理刚好是出现在正确构造的证明的最后一行的命题。这种列表完全是可计算的:由于不管系统的符号串是否有作为证明的意义,可以先考虑所有的串的字典列表,然后用我们的证明检查算法去检验其是否为一个证明,若不是则抛弃之;然后以同一方法检验第二个,若不是证明则抛弃之;然后第三、第四等等。如果有一个证明,我们则可用这种办法最终在这一列表的某一处找到它。

  这样,如果希尔伯特已经成功地找到它的公理和步骤法则的数学系统,该系统足够有力到能使人们用形式证明决定任何在该系统中正确表达的数学命题的真伪――则就会有一般的算法方法去决定任何这种命题的真理性。为什么这样呢?因为用上述的步骤,如果最终在某个证明的最后一行遇到了我们所寻求的命题,则我们就证明了该命题。反之,如果我们最终遇到的一行是我们命题的否定,则我们就证伪了它。如果希尔伯特方案是完备的,这种或那种的终局就总会发生(并且,如果是协调的,两者永远不会同时发生)。这样,我们的机械步骤总会在某一阶段结束,而我们就应有一种决定系统所有命题真伪的普通算法。这就和第二章阐述的图灵结果相冲突,也就是说不存在决定数学命题的一般算法。因而我们实际上证明了哥德尔定理,就是说希尔伯特期望的方案在刚刚讨论的意义上不可能是完备的。

  由于哥德尔所关心的形式系统的类型只对算术命题而不是对一般的数学命题足够,所以事实上哥德尔定理比上述的更特定。我们是否能安排只用算术的运算去实现图灵机的所有必须的运算呢?换句话说,是否所有自然数的可计算功能(也就是图灵机动作的结果,递推的或算法的功能)可按通常的算术表达呢?我们几乎真的可以,但还不是。我们需要在算术和逻辑(包括 和 )的标准法则外加上一个额外的运算。这个运算简单地  〃选择为“使得K(x)成立的最小自然数x”,这儿K()是任何给出的算术地可计算的命题函数――并假定存在这样的一个数,也就是 〔 ( )〕为真的。(如果没有这样的一个数,则 x k x我们的运算在试图寻求所需的不存在的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,Q1,Q2,Q3,…中的一些实际上在该系统中有证明。这些“可证明的”命题有一些属于N的某一个子集的数字,这事实上就是上面考虑的定理的集P。我们事实上已经看到了在某一个给定形式系统中存在一种一个接一个产生具有证明的所有命题的 。(正如早先概述的,“第 个证明” 是从 算法 n n n ?

  算法地得到的。所有我们要做的是去看第n个证明的最后一行,以发现在系统中可证明的第n个命题,也就是第n个“定理”。)这样,我们就有了一个接一个(也许会有重复――但这无所谓)产生P的元素的算法。

  一个可用某种算法以这种方式产生的集合,譬如P, 叫做递归可列的。

  注意,在系统中可被证伪――也就是其否定的命题可被证明的命题的集合也类似地为递归可列的,因为我们可简单地列举这可证明的命题。在此过程中取它们的否定。存在许多N的其他递归可列的集,我们不想介绍把它们定义出来的形式系统。递归可列集的简单例子是偶数。{0,2,4,6,8,…},和平方的集合{0,1,4,9,16,…},以及质数的集合{2,3,5,7,11,…}。很清楚,我们可以利用算法把这些集中的每一个元素产生出来。在这三个例子中还有这种情形,即集合的补集――也就是不在该集中的自然数的集为递归可列的。三种情形的补集分别为{1,3,5,7,9,…};{2,3,5,6,7,8,10,…};以及{0,1,4,6,8,9,10,12,}。

  为这些补集提供算法是轻而易举的事。我们的确可以算法地决定,对於给定的自然数n,它是否为偶数,是否为平方或者是否为质数。这就为我们提供了既产生集合又产生补集的算法,因为我们可以顺序地跑过自然数,并在每种情况下决定它是否属于原先的集合或它的补集。一个本身及其补集都是递归可列的集合称为递归集。很清楚递归集的补集仍为递归集。

  现在,是否存在递归可列但不是递归的集合呢?我们暂停一下,注意一下它的推论。由于这种集合的元素可由算法产生,我们就有一种对于怀疑属于该集合的元素决定其是否真的属于该集合的手段。这一时刻,我们暂且假定它实际上属于该集合。所有我们要做的是允许我们的算法跑过集合中的所有元素,直到它最终找到我们所考察的特殊的元素。但是假如我们怀疑的元素实际上不在这集合中,则我们的算法就无济于事了。由于它会不断地进行下去,永远得不出一个决断。在这种情形下,我们需要一个产生补集的算法。如果它发现了我们所怀疑的,则我们肯定地知道该元素不在这集合中。我们用两种算法就应该是万无一失了。我们可以简单地交替使用这两种算法,并用任何一种方法找到所怀疑的。然而,这种快乐的情形只发生在递归集的情形下。我们这里只假定集合为递归可列的而不是递归的:我们提议的产生补集的算法不存在!这样,我们就面临着这等古怪的情形,即对于在集合中的一个元素,我们可算法地决定它的确是在这集合中;但是我们用任何算法都不能保证决定恰巧不在这集合中的元素的这一个问题!

  这种古怪的情形是否发生过呢?也就是说,是否的确存在不是递归的递归可列集呢?关于集合P的情况如何呢?它是一个递归集吗?我们已知它是递归可列的,所以我们必须决定其补集是否也为递归可列的。事实上它不是!我们何以知道呢?我们知道图灵机的动作被假定为在我们形式系统中允许的运算。我们用Tn来标志第n台图灵机,则陈述“Tn(n)停止”是一道命题――让我把它写作S(n)――也就是对于每一自然数n,我们可在我们的形式系统中把它表达出来。对于某些n值命题S(n)是真的,对于另外的n值它是错的。n跑过自然数0,1,2,3,…时所有 S(n)的集合将由N的某一个子集S所代表。现在回忆一下图灵的基本结果(第二章71页),在 Tn(n)事实上不停的情形下,不存在作“Tn(n)不停”断言的算法。这表明错的 S(n)的集合不是递归可列的。

  我们观察到S在P中的部分刚好包括了那些是真的S(n)。为什么会这样子呢?如果任何特别的S(n)是可证明的,那么它必须是真的(因为我们已选择了“有意义的”形式系统!),所以S在P中的部分必须只包括真的命题S,而且没有真的命题S(n)能处在P的外头,因为如果T(n)停止,那我们便可在这系统内提供证明说它是真的这样①。

  现在,假定P的补集是递归可列的。那我们就应有某种产生这种补集的算法。我们可以使这些算法运行并在其经过每一命题S(n)时记下来。这些都是错的S(n),所以我们的步骤实际上为我们递归地列举了错的S(n)的集合。但是,我们在上面注意到错的S(n)不是递归可列的。这一矛盾显示了,P的补集根本不是递归可列的;所以集 P不是递归的,这就是我们所需要的结果。这些性质在实际上表明了我们的形式系统不能是完备的,也就是说,在系统中必有一些既不能证明又不能证伪的命题。因为如果没有这样“不可决定的”命题,�

返回目录 上一页 下一页 回到顶部 赞(0) 踩(0)

你可能喜欢的