tutte定理证明hall定理_哥德尔(第一)不完备定理的一个简短证明

7db145788966dc4bd81af28a0c95dc58.png

【本文基于Dr T. Forster在2019年11月于剑桥Clare Hall的讲座,其中笔者做过些许增减、修改。为了不让文章过于晦涩,部分内容已经进行简化,故而会丧失些许严谨性。如果想阅读完整证明,请参照Boolos, G. (1999). Logic, logic, and logic. Cambridge, Mass.: Harvard Univ. Pr.(注:本文中的证明和书中不尽相同)】

语义悖论是古典逻辑学中十分常见的研究对象。说谎者悖论、理发师悖论等例子早已路人皆知。不过今天我们先从一个相对少见的悖论开始讲起:

第一个不能由小于六十个中文字定义的正整数

显然,这个数是存在的:因为中文字只有有限个,能由小于六十个中文字定义的正整数也只能有有限个,所以一定有一个正整数不能被这样定义。然而这个数反而可以通过“第一个不能由小于六十个中文字定义的正整数”(注意这里只有二十个字)来定义,故而产生悖论。

这个悖论叫做“Berry Paradox”,而和说谎者悖论一样, 这也是个由自指引发的矛盾。而构造这个悖论背后的思想有一定的启发性:用任何一个只含有有限个字符的语言,在限制字符串长度的情况下,它可以严谨描述的物件数量是有限的,故而任何一个这样的语言通过有限长度的句子可以描述的物件数量最多和自然数一样多(“可数个”)。

这是一句废话,但也是一句有用的废话。这个事实直接证明了如下定理:

存在一个不可计算的实数

我们也可以同样证明

存在一个函数
,使得不存在一个算法可以在有限时间内计算
的值

更重要的是,如果我把一个(有有限个公理)的公理系统作为我的语言,那么就只存在可数个证明。当然,我们也只能在公理系统中构造出可数个问题。然而,这可数个证明是否可以解决所有这些问题呢?

Berry's Paradox引发的这种想法促成了Boolos在1989年对Gödel's First Incompleteness Theorem(哥德尔第一不完备定理)的一个较哥德尔在二十世纪初的论文更为简短的证明,这也是这篇文章想要大概介绍的。

定理0(哥德尔第一不完备定理):对于任何包含了自然数的自洽公理系统,存在一个公理系统中的陈述,使得其在此公理系统中不可证。

下面“集合”指一个自然数的子集。

定义:对于一个集合
,若存在一个算法可以在有限时间内判断一个指定元素是否是
的元素,则A被称为可判定的。

可判定集合的例子有素数集合、有限集合、全体自然数等等。

定义:对于一个集合
,若存在一个算法满足如下条件:

1. 其运行时输出都是
的元素

2. 对于任何
中的元素,在有限时间内它一定会被输出

被称为半可判定的。

任何可判定的集合都是半可判定的,只要将每个自然数一个个判断过去就行。

注意在半可判定性定义之中的算法并不一定要在有限时间内停机(对于任何无限半可判定集合,它都不能再有限时间内停机)。

以下“函数”意为一个

函数。
定义:对于一个函数
,如果存在一个算法可以在有限时间内计算
,则称
为一个可计算函数

自然,就像我们之前所说,并不是所有函数都是可计算的。不过这与我们的证明无关。

定义:对于一个可计算函数
,如果
,则称
为全可计算函数

我们有一个简单的引理:

引理:一个集合是半可判定的当且仅当它是一个全可计算函数的像

证明是显而易见的。如果一个集合

是一个全可计算函数
的像,那我们可以考虑如下算法:对于自然数
,我们逐个计算并输出
的值并输出。因为
是可计算的,这个算法满足半可判定集合定义中的条件,故而
是半可判定的。反过来说,对于一个半可判定集合
和相应的算法,考虑函数
使得
为此算法第
个输出的结果,则
是全可计算的。

接下来就是证明的核心部分了。考虑一个蕴含自然数(皮亚诺公理),且有有限个公理的自洽公理系统和相应的语言。这个系统中每个句子(可以是算法、证明、定义、……)都可以通过字符编码(如ASCII)对应到一个唯一的自然数。我们将这个自然数定义成这个句子的Gödel number。则我们有如下定理

定理:令
为所有全可计算函数其算法的Gödel number的集合,则
不是半可判定的

证明:令

为一全可计算函数使得其算法的Gödel number是
。如果
是半可判定的,则由引理得存在一个全可计算函数
其像为
。考虑函数
,则
是全可计算的,然而对于任何
的值在
处重合,也就是说
和任何全可计算函数都有交点。然而这不可能:因为
是全可计算的,
也是全可计算的,但是它和
并没有交点。

接下来就可以证明哥德尔不完备定理了:我们考虑全部可以被证明为全可计算函数的可计算函数其算法Gödel number的集合

。这个集合是半可判定的,因为我们可以考虑如下算法:因为任何已知长度的句子只有有限多个,我们可以按照句子长度一个个枚举它们,而如果找到了一个“对某个可计算函数全可计算性的证明”的句子,则输出那个函数算法的Gödel number(这个算法的合法性依赖于公理系统的(半)可判定性,见评论@傅铁强 )。然而由定理知所有全可计算函数其算法的Gödel number组成的集合并不是半可判定的,然而这个集合包含
,所以存在一个可计算函数,我们不能证明其是否是全可计算函数,故而有定理0。

在一定意义上,这个证明的思想就是将Berry Paradox的构造方法搬到了题中的公理系统中;而Boolos原本的证明其实正是在自然数中严谨的构造了出来了一个类似Berry Paradox的逻辑公式。事实上哥德尔原本的证明也是将一个自指的语义悖论在自然数中严谨地构造了出来(Gödel sentence),而哥德尔所使用的悖论是“这句话不可证”。

我们证明的其实稍稍强过哥德尔第一不完备定理,因为我们的证明中给出了某一些不可证陈述的形式。一个自然的问题是我们是否知道一些在皮亚诺公理之中不能证明全可计算性的可计算函数,答案自然是肯定的,比如Goodstein's function的全可计算性就不能在纯粹的皮亚诺公理中证明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值