数理逻辑2 -- 量化理论7

来源:互联网 发布:第一版主新域名 编辑:程序博客网 时间:2024/06/05 09:07

《逻辑的引擎》一书里提到希尔伯特的宏伟计划,要构建一个逻辑根基,以至于所有的数学都建立在这个根基之上。哥德尔著名的“不完备定理”让这个计划落空了。但在一开始,哥德尔非常拥护这个计划,还在1930年给出了一个“完备性定理”的证明。它不难(当然是指对那班天才数学家而言不难,对我们来说,呵呵),给出了希尔伯特想要的结果,只用了逻辑学家普遍掌握的技巧。这个完备性定理跟后面著名的“不完备定理”究竟什么关系,要慢慢读下去才知道。

这里讲的完备性定理很好理解,即任何一阶谓词演算(只包含逻辑公理的一阶逻辑理论)中,所有定理都是逻辑有效的,所有逻辑有效的好式子都是定理。前半部分很好证,前面笔记也有所提及。难就难在后半部分,哥德尔在1930年首次给出了证明。后来其它数学家给出不同证明,教材也就采用了后来的证明。

在这里要先介绍一些康托尔集合论的概念,它关系到经常碰到的一个术语“可数的”,英文叫做”countable”,或者”denumerable”。我们经常会看到诸如”countablely many”,”countablely infinite”。这里”可数的”意思是:对于一个无限集A,如果它能与自然数集存在一一对应关系,则A就是可数的。

康托尔是第一个研究“无限大”的数学家。在他之前,“无限大”被看作是“不可完成的极限”,因此讨论它不仅没有意义,而且也是危险的。一些哲学家,比如莱布尼茨,认为不可完成的极限是上帝的事,不是人类能关心的事情。但康托尔第一次给出了“无限大”的分类,他说无限大和无限大是不一样的,比如自然数集的无限大和实数集的无限大就不是一回事,但自然数集和偶数集的无限大是一回事。

为此,康托尔定义了集合的基数,用希伯来字母表中第一个字母表示(类似N,这里的latex打不出来)。然后他接着定义如果两个集合能建立一一对应的关系,则它们的基数相等。有限集合的基数就是元素的个数。对于无限集,康托尔用N0表示自然数集的基数,用N1表示实数集的基数。他巧妙地证明了(著名的“对角线论证法”)证明了N0N1不相等,也即自然数和实数无法建立一一对应的关系。接下来他给出了一个著名的猜想,被希尔伯特列入了“二十世纪的23个数学问题”中的第一个,即“连续统假设”问题。康托尔猜想,N0N1之间不存在任何基数,也即自然数之后,“紧接着”下一个无限集合就是实数集。

康托尔是伟大的,他一个人在“无限的深渊”中探索。他的理念遭到一些数学家、哲学家反对,因为讨论“无法完成的极限”是危险的,毫无意义的,而且要证明一个东西是否存在,应该给出构造性证明。而希尔伯特反对这一观念,他给出例子说“一个教堂里显然存在一个头发最少的人,并不需要把每个人的头发数一遍”。 他又说“谁也无法把我们从康托尔创造的乐园中赶出去”,激励了更多数学家沿着康托尔开创的道路探索。更多的八卦,请参考“逻辑的引擎”一书。

让我们回到“完备性定理”的故事,它是说在一阶谓词演算中(即只包含逻辑公理的一阶理论),任一定理都是逻辑有效的。反过来,任一逻辑有效的wf都是定理。前者好证,前面的讨论中已给出证明。关键是后者,它又涉及到各种“存在性”的证明。

我们先尝试用通俗的语言来描述完备性定理的证明。首先看看它难在哪里。在一个一阶理论K中,给定一个好式子B,已知它是逻辑有效的,即对任一解释它都为真。现在要证明这个wf是K中的定理,也即存在一个证明序列,使得KB。这个问题要想直接证是很难的,很难通过“构造法”证明,即你很难对于任一逻辑有效的B,你都能构造出一个证明序列出来。

因此,另一种方法是采取“反证法”。证明思路如下:假设B不是定理,那么根据一阶理论的一致性,就可以推导得出K¬B。接着,把这个¬B当成公理加进K,得到一个“扩展的理论”K。接下来,找一个解释M,使得M¬BM表示在M中为真)。这样MBM¬B就产生了矛盾。

上述证明思路关键在于扩展的理论K存在这么一个满足M¬B的解释M。为此,K必须具备一些性质,比如一致性、完备性、还有“替罪羊性”(scapegoat theory),还有“可数性”。所以,以下这一大堆引理,就是为了证明K具备这些性质。然后再加一个引理,证明具备这些性质的K都能构造出一个我们想要的解释M

完整的证明需要三个关键引理:
引理2.33:如果K是一致的,那么存在一个K的扩展理论K,它是一致的,也是完备的。
引理2.34:如果K是一致的,那么存在一个K的扩展理论K,它是一致的,也是“替罪羊式”的(scapegoat theory),同时它包含“可数的”无限多个闭合项。
引理2.35:如果J是一致的,完备的,替罪羊式的理论,那么存在一个J的模型M,它的定义域D就是J中闭合项的集合。

上述引理2.33-2.35需要一大堆通俗说明来加强理解。首先,引理2.35中说的是,有这么样一个解释M,以J自己所有闭合项的集合为定义域D,能构建出那样映射,使得J中的常量符号、变量符号、函数符号、谓词符号又能映射到D中去。然后,在这样的一个解释M中,所有J中的公理都为真,即MJ的模型。

其次,引理2.33-2.35涉及到一些术语,之后会给出具体定义。这些术语是:闭合项(closed term),扩展理论(extension),完备性(complete),替罪羊(scapegoat),相似性(similar),可数的无限多个(denumerably many)。其中“可数的无限多个”,前面已讨论过,就是能和自然数集建立一一对应关系。

最后,为了证明引理2.33-2.35,还需一些引理以作辅助:
引理2.36:如果B(xi)B(xj)相似,那么(xi)B(xi)(xj)B(xj)
引理2.37:如果一个闭合好式子(不含自由变量)¬BK中无法证明,那么把B作为新增公理得到K,则K是一致的。
引理2.38:对于一个一阶语言L,它的表达式是可数的。同样,它的项、好式子、闭合好式子,也都是可数的。

引理2.37是关键的,而引理2.36和引理2.38看起来则是“细枝末节”的证明。

下一节笔记将依次给出引理的证明,其中会穿插术语的定义。

原创粉丝点击