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

本节笔记我们继续完备性定理的证明。该定理被称为量化理论的基本定理(fundamental theorem),可见其重要性。

上节提到一大堆引理与定义,我们首先给出后续要用到的定义。

定义2.39:

  1. 好式子相似性:如果 xi xj 不同,称 B(xi) B(xj) 是相似的,当且仅当, xj B(xi) 中对 xi 自由,并且 B(xi) 中没有 xj 的自由出现。
  2. 完备性:如果理论 K 中任一闭合好式子B,要么 KB ,要么 K¬B ,则称 K 是完备的。
  3. 扩展理论:如果K中每一个定理都是 K 中的定理,则称 K K 的扩展理论,也称K K 的子理论。
  4. 闭合项:一个闭合项 t 是指不包含变量符号的项。
  5. 替罪羊理论(scapegoat theory):如果一个理论K的任一只包含 x 作为自由变量的好式子B(x),都存在一个闭合项 t ,使得K(x)¬B(x)¬B(t),则称 K 是替罪羊理论。
  6. 可数模型:如果一个模型M的定义域是可数的,则称 M 为可数模型。

好了,现在先不管这些定义,等后续用到的时候再一一回过来使用。

上节说到最关键是证明引理2.33-2.35,为此,先证明引理2.36-2.38。

引理2.36:如果B(xi) B(xj) 相似,则 (xi)B(xi)(xj)B(xj)
注:这个引理直观上很好理解,即 xi xj 可互相取代。
证明:根据相似性定义(定义2.39.1), xj xi 自由,所以由公理A4可得 (xi)B(xi)B(xj) 。再根据Gen,可得 (xj)((xi)B(xi)B(xj)) 。因为 B(xi) 中没有 xj 的自由出现,所以根据公理A5和MP可得 (xi)B(xi)(xj)B(xj) 。反过来,也可得到 (xj)B(xj)(xi)B(xi) (这里要证一下,如果 B(xi) B(xj) 相似,则 B(xj) B(xi) 也是相似的。证明不难,不写了)。
证毕

引理2.37:如果一个闭合好式子(不含自由变量) ¬B 在K中无法证明,那么把 B 作为新增公理得到K′,则K′是一致的。
证明:假设K是不一致的,则存在一个 D ,使得KD K¬D 同时成立。那么,我们继续可得 K¬B (利用定理 D(¬D¬B) )。因为 B K中的公理,既然 K¬B ,所以若把 B 看成原来的理论K中的假设前提,则重复 K 中的证明序列同样能得出 ¬B ,即B K¬B 。接着,由于 B 是闭合的,所以演绎定理适用,得出KB¬B。再根据定理 (B¬B)¬B (这个不难,前面证明过,想再证一遍的话直接用A3即可)和MP,就能得出 K¬B ,这与假设 ¬B 在K中无法证明相矛盾。
证毕

定理2.38:对于一个一阶语言L,它的表达式是可数的。同样,它的项、好式子、闭合好式子,也都是可数的。
证明:L的表达式是指L中任意的符号序列,只需找到一个表达式集合与自然数集的一一对应关系即可。我们构建如下映射 g :对于符号”(“,g(“(“) = 3;对于符号”)”,g(“)”)=5;对于符号”,”,g(“,”) = 7;对于符号¬, g( ¬ )=9;对于符号 ,g( )=11;对于符号 ,g( )=13。对于变量符号 xk ,g( xk )=13+8k;对于常量符号 ak ,g( ak )=7+8k;对于函数符号 fnk , g( fnk )= 1+8(2n3k) ;对于谓词符号 Ank ,g( Ank )= 3+8(2n3k) 。因此,对于任一表达式 u0u1u2...ur ,我们可以关联一个自然数 2g(u0)3g(u1)...pg(ur)r 。因此,表达式的集合是可数的。同样,项、好式子、闭合好式子也都是可数的。
证毕

有了这三个小引理,接下来就三个大引理的重头戏了。

引理2.33(Lindenbaum’s Lemma):如果K是一致的,那么存在一个K的扩展理论K′,它是一致的,也是完备的。
注:以逻辑学家Adolf Lindenbaum命名的引理。Adolf Lindernbaum(1904-1941)出生波兰,在二战中被德军所杀,唉…向伟大的人致敬。
证明:根据引理2.38, K 中的闭合好式子是可数的。记B1,B2,..., K 中所有闭合好式子的序列,然后以如下方式定义理论序列J0,J1,J2,... J0 就是 K 。假设Jn,n0已经定义,则 Jn+1 的定义方式是,如果 Jn¬Bn+1 不成立,那么 Jn+1 就是 Jn 加了 Bn+1 作公理后的理论。如果 Jn¬Bn+1 成立,那么 Jn+1 就是 Jn 。接着,我们记包含所有 Ji 理论序列中的公理的理论为 J 。如此之后,显然Ji+1 Ji 的扩展( Ji 的定理也是 Ji+1 的定理)。并且, J 是任一理论Ji,i0的扩展。接下来我们先证明 J 是一致的。

要证明J是一致的,只需证明每一个 Ji 都是一致的即可。因为在此情况下,如果 J 还不一致,即存在某个定理JD¬D,它的证明序列顶多包含有限个公理,因此根据 Ji 序列的定理,必定有某个 Ji 使得 JiD¬D ,便产生了矛盾。

要证明 Ji 是一致的,我们采用归纳法。首先, J0 就是 K ,所以J0是一致的。假设 Ji 是一致的,如果 Ji+1 就是 Ji ,那么显然 Ji+1 是一致的。如果 Ji+1 不是 Ji ,则 Ji¬Bi+1 不成立,而 Ji+1 是在 Ji 中加入 Bi+1 作公理而产生。根据引理2.37,可以得出 Ji+1 是一致的。

接着证明 J 是完备的。对任一闭合好式子D,它一定是某个 Bi+1,i0 (因为 B1,B2,... 是所有 K 中闭合好式子的一个序列)。根据Ji的定义方式,得出要么 Ji¬Bi+1 ,要么 Ji+1Bi+1 。因为 J 包含Ji Ji+1 的公理,要么 J¬Bi+1 成立,要么 JBi+1 成立。
证毕

引理2.34:如果K是一致的,那么存在一个K的扩展理论K′,它是一致的,也是“替罪羊式”的(scapegoat theory),同时它包含可数的无限多个闭合项。
注:这个替罪羊很直观,既然存在一个 x ,使得¬B(x),那么 B(t) 中的 t 就是替罪羊了。
证明:同样,我们要先找到一种构造K扩展的方法,这种构造涉及(x)¬B(x)B(t),然后想办法证明它是一致的。构造方法如下:在 K 的基础上,增加一个可数序列b1,b2,...作为新常量符号,称这个新理论为 K0 。它的公理由两部分组成: K 中的公理,以及把b1,b2,...代入任一 K 逻辑公理而得到的好式子。

不难看出,K0是一致的。因为,如果 K0 不一致,那么存在一个 D ,使得K0D¬D。那么,在它的证明序列中,对于每一个出现的常量符号 bi ,我们用序列中未出现过的变量符号 xji 来代替。这样,新的证明序列中便不包含 b1,b2,... 等新常量符号,并且 D ¬D分别对应转换成了 D ¬D ,使得 KD¬D 。这与 K 是一致的相矛盾。

我们接着构造。根据引理2.38, K0中只包含一个自由变量的好式子也是可数的,记这样一个可数序列为 F1(xi1),F2(xi2),...,Fk(xik),... 。接着,我们从 b1,b2,... 的序列中选择一个子序列 bj1,bj2,...,bjk,... ,使得 bjk b1,b2,...,bjk1 都不同,并且 bjk 没有出现在 F1(xi1),F2(xi2),...,Fk(xik1) 中。现在考虑如下形式的wf:

(Sk) (xik)¬Fk(xik)¬Fk(bjk)

Kn 为增加 S1,S2,...,Sn 为公理到 K0 后得到的理论,然后记 K 为增加所有 Si 作公理到 K0 后的理论。如果每一个 Kn 是一致的,那么 K 也是一致的(否则的话, K 得出某个矛盾结论的证明中只包含有些个公理,那么必定某个 Kn 也能导出矛盾结论,这就与 Kn 的一致性发生了矛盾)。

接下来还是用归纳法证明 Kn 的一致性。前面已经得出 K0 是一致的。假设 Kn1 是一致的,我们试图证明 Kn 也是一致的。假设 Kn 不一致,那么不难得出,任一wf在 Kn 中都是定理。特别的, Kn¬(Sn) 。因此,在 Kn1 中把 (Sn) 作前提,可得出 (Sn)Kn1¬(Sn) 。由于 (Sn) 不含自由变量,所以应用演绎定理,可得 Kn1(Sn)¬(Sn) 。然后接着不难得出 Kn1¬(Sn) (借助定理 (A¬A)¬A ),也即 Kn1¬((xin)¬Fn(xin)¬Fn(bjn)) 。根据条件消除准则( ¬(BD)B , ¬(BD)¬D ,前面提到过,要证也不难),可以得出 Kn1(xin)¬Fk(xin) Kn1¬¬Fn(bjn) 。后者根据双否定消除规则( ¬¬BB )可以继续得出 Kn1Fn(bjn) 。根据 bjn 的定义, bjn 没有在 S1,S2,...,Sn1 中出现,所以用一个 Kn1Fn(bjn) 证明序列中从未出现过的 xr 替换 bjn ,便可得出 Kn1Fn(xr) 。根据Gen,继续得出 Kn1(xr)Fn(xr) 。再根据引理2.36,可以得出 Kn1(xjn)Fn(xjn) (F_n(x)只包含 x 一个自由变量,所以不难证明B(xr) B(xjn) 是相似的)。但前面已经得到 Kn1(xin)¬Fk(xin) ,也即 Kn1¬(xin)¬¬Fk(xin) ,根据双否定消除准则得出 Kn1(xin)Fk(xin) ,这就产生了矛盾。所以 Kn 是一致的,进而 K 是一致的。

因为 K S1,S2,... 当作了公理,所以显然, K 是替罪羊理论。至于 K 包含可数个闭合项,这也不难看出,因为 K 的闭合项是 K 的闭合项,加上任意涉及新常量符号序列b1,b2,...的闭合项。既然 b1,b2,... 是可数的, K 的闭合项也是可数的。
证毕

引理2.35:如果J是一致的,完备的,替罪羊式的理论,那么存在一个J的模型M,它的定义域D就是J中闭合项的集合。
注:这是证明完备性定理最关键的一步。要证明任一逻辑有效的wf都是定理,可用反证法,假设它不是定理,那么就能构造出一个解释M,使得它的否命题在M中为真。这个引理就是告诉我们如何构造这样一个解释。
证明:证明过程是这样的,按照要求,我们记 J 中闭合项的集合为D。既然它作为某个解释 M 的定义域,我们就要构造一个从J D 的映射()M,如下:对于常量符号,映射为 (ai)M=ai ;对于任一函数符号 fnk 和任意的闭合项 t1,t2,...,tn ,映射为 (fnk(t1,t2,...,tn))M=fnk(t1,t2,...,tn) (因为 fnk(t1,t2,...,tn) 也是闭合项);对于任一谓词符号 Ank ,映射 (Ank)M (注意, (Ank)M D 中的一个关系)为那些满足某个条件的n元组,这个条件是JAnk(t1,t2,...,tn),其中 t1,t2,...,tn 是闭合项。

这样,我们就构造了一个解释 M ,它的定义域是J自身的闭合项的集合。接下来,要证明 M J的模型,也即 J 中每个公理在M中为真。为此,我们只需证:对于 J 中任一闭合好式子D,都满足

(S) MD , 当且仅当, JD

因为,如果 (S) 成立,则对于任一 J 中的公理B,我们记 D B的闭包(即 (xik)(xik1)...(xi1)B ,其中 xik,xik1,...,xi1 B 中自由变量的降序排列)。因为B是公理,由Gen规则,可得出 D 是定理,即JD,所以 MD 。再根据一阶语言满足性的性质(翻前面的笔记看,即那11条性质),可得出 MB 。所以,任一 J 中的公理在M中都为真,M就是J的模型。

要证明(S)成立,我们采用基于连接符号与全称量词个数的归纳法(老方法了,前面多次使用)。
(i) D 是一个闭合的谓词Ank(t1,t2,...,tn),则直接应用M中相应的映射即可。

(ii) D ¬B的形式。如果 D 在M中为真,则B在M中为假。所以,根据归纳假设, JB 不成立。又因为 J 是完备的(条件),而且B也是闭合wf,所以 J¬B 成立,即 JD 成立。反过来,如果 D 在M中为假,则B为真,根据归纳假设, JB 成立,所以 J¬B 不成立,即 JD 不成立。

(iii) D CB的形式。因为 D 是闭合的,所以C B 也是闭合的。如果D为假,那么 C 为真,B为假。根据归纳假设和 J 的完备性,可得JC J¬B 。借助定理 C(¬B¬(CB)) ,我们可得出 J¬(CB) 。因为 J 是一致的,所以JCB不成立,即 JD 不成立。反过来,如果 JD 不成立,根据 J 的完备性,可得J¬(CB)成立。根据条件消除准则,可得 JC J¬B 。根据归纳假设和 J 的一致性,可得C在M中为真, B 在M中为假,因此D在M中为假。

(iv) D (xm)B的形式。
(iv.1) B 是闭合的。根据归纳假设,MB,当且仅当, JB 。前面有个引理已经证明了 JB(xm)B 。所以 JB ,当且仅当, J(xm)B 。进而得到 JD ,当且仅当, MB 。根据一阶语言满足性的性质, MB ,当且仅当, M(xm)B 。因此, JD ,当且仅当, MD
(iv.2) B 不是闭合的。因为D必须是闭合的,所以 B 只包含xm作为自由变量,记为 F(xm) ,此时 D 就是(xm)F(xm)
(iv.2.1) 如果 MD ,但 JD 不成立。因为 J 是完备的,所以J¬D,也即 J¬(xm)F(xm) 。接着,不难得出 J(xm)¬F(xm) (捣鼓几下就能弄出来了)。这时,因为 J 是替罪羊理论,所以存在一个闭合项t,使得 J(xm)¬F(xm)¬F(t) 。所以, J¬F(t) 。接着,因为 MD ,即 M(xm)F(xm) ,所以根据一阶语言满足性的性质,我们有 \modeslM(xm)F(xm)F(t) ,所以 MF(t) ,发生了矛盾。所以如果 MD ,则 JD
(iv.2.2) 反过来,如果 JD ,但 MD 不成立(注: D 不为真,不代表D就为假。 D 为假是指没有序列能满足D)。所以,M中存在某个序列 s ,它不满足D,也即不满足 (xm)F(xm) ,那么 s 也不满足F(xm)。现在,选 s 中第m个元素为 t ,根据我们前面的构造,闭合项t映射到 D 中的值就是t自己,所以根据前面的某个引理(自己找吧), s 满足F(xm),当且仅当, s 满足F(t)。所以, s 不满足F(t),即 MF(t) 不成立。既然 JD 成立,即 J(xm)F(xm) ,所以根据A4, J(xm)F(xm)F(t) ,和MP,可以得到 JF(t) 。又因为 F(t) 满足归纳假设,所以 MF(t) ,产生了矛盾。因此, 若 JD ,则 MD
证毕

有了引理2.33-2.35,接下来便可证明完备性定理了。

命题2.40:任一具备一致性的理论 K 都有一个可数模型。
注:哥德尔在1929年首次给出了一个证明,随后亨金(Leon Henkin)在1949年给出了现在的证明,接着1953年哈森耶格尔(Gisbert Hasenjaeger)再次简化了证明。
证明:由引理2.34可知,存在一个K的扩展理论 K ,使得 K 是替罪羊理论,它是一致的,并且有可数多个闭合项。接着,由引理2.33,存在一个 K 的扩展理论 J ,使得J是一致的,完备的,并且 J 的语言(即所用到的符号集)与K一样。既然 K 是替罪羊理论,所以 J 也是替罪羊理论(那个替罪羊wf是K’中的定理,当然也是J的定理)。由引理2.35可知,J有一个模型 M ,它的定义域是J的闭合项集合,并且是可数的。既然 J K的扩展,当然也是 K 的扩展。所以M也是 K 的可数模型(因为K的定理就是 J 的定理,所以K的公理自然也是J的公理)。
证毕

推论2.41:K中任一逻辑有效的好式子都是 K 的定理。
注:这个推论就是顺着上节笔记说的证明思路。
证明:只需考虑闭合好式子即可,因为任一非闭合wf是否逻辑有效,等价于它的闭包是否逻辑有效,并且非闭合wf是否可证,等价于它的闭包是否可证。

因此,考虑一个逻辑有效的闭合好式子B,如果 B 在K中不可证,即KB不成立。根据引理2.36,可添加 ¬B 作为新公理而得到 K ,而且 K 是一致的。所以,根据命题2.40, K 有一个可数模型 M 。因为¬B是K’的公理,所以 ¬B 在M中为真。又因为 B 是逻辑有效的,所以B在M中也为真,产生了矛盾(这是性质,即一个不可能 B ¬B在一个解释中都为真)。所以, B 在K中可证,即B是K的定理。

推论2.42(哥德尔完备性定理,1929):在任一一阶谓词演算中,所有定理都逻辑有效,所有逻辑有效的好式子都是定理。
证明略。

*推论2.43:K为任一理论,
(a) 一个好式子 B 在K中任一可数模型中为真,当且仅当,KB
(b) 对于 K d的任一模型,若该模型任一满足一个好式子集合Γ的序列,也满足 B ,则ΓKB
(c) 若 B 是一个好式子集合Γ的逻辑后承,则 ΓKB
(d) 若 B D的逻辑后承,则 DKB


证明不难,采用上述引理同样的技巧即可,这里就不写了。

这些推论,像众多教材、讨论所说的那样,建立了一个“语法”和”语意”上的联系。通俗点说,面对一大堆毫无意义的符号,我们可以从“语意上”赋予这些符号意义,例如真假性、可满足性、模型,等等。同时,我们也可以赋予这些符号以一个演算系统,制定“语法”规则,在这个系统中,可证性(也即前面一直说的“拼积木”)是我们所关心的。这一大坨引理、推论就建立了一种两者之间的联系。从某种意义上来说,当初探索数理逻辑的时候,人们就是为了从日常的语言、行为中抽象出一套“普适的”逻辑规则。至少,到目前为止,这套逻辑规则还是可靠的。

走到现在,必须停下来思考总结一下了。如果把整本教材的学习比作爬山的话,到目前为止,可以说只爬上了一个小土包。它是之后所有“困难”理论的基础,越往后就越难用通俗语言来解释说明,因为语言本身也脱离不了逻辑规则,无论是中文还是英文,还是德文,都有自身的逻辑限制。再加上,从更高的哲学层面来看,语言本身就知识的一部分,它包含了普遍的知识规律,不仅蕴含数理逻辑,更蕴含广泛的逻辑。

总结一下,从第一章到现在,我们学习了最简单的形式系统,即命题演算。它由一大堆符号组成,要想让这个系统动起来,就赋予它一些公理和推导规则,然后探寻它动起来的性质。同时,它跟布尔逻辑,即语义上的真假性密切相关。接着,到了第二章,为了表示更多的语意,我们引入全称量词,学习了基于符号系统的一阶理论。同样,为了让这个系统动起来,我们也给定一些公理和推导规则,探索它动起来的性质。同时,在语意上,由于引入全称量词,便不能简单赋予其真假性,而需考虑在某个范围内讨论其真假,因此便引入了解释、定义域与模型等概念。一批天才的数学家揭示了两者之间的关系,即一个毫无语意的演算系统动起来后,与赋予起语意的系统是密切相关的,而且目前为止是“不出乎人们的意料”的。

后续的笔记,我们将探索更多一阶理论的性质,不一定都记下来,毕竟这已经开始产生各种分支了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值