DennyQi's Log

04 哥德尔完备性定理

我们已经说明了基于一阶逻辑语言的相继式演算具有可靠性(soundness),也即:选定符号集SS,对于任意SS-formula集合Φ\PhiSS-formula φ\varphi,如果Φφ\Phi\vdash \varphi成立,那么一定有Φφ\Phi \models \varphi成立。可靠性是简单而直接的,我们只是把定义展开就得出了结论。更困难的反过来的问题。我们想证明基于一阶逻辑语言的相继式演算的完备性(completeness):任何Φ\Phiφ\varphi,只要Φφ\Phi \models \varphi成立,就有Φφ\Phi \vdash \varphi成立。

完备性的问题最早由哥德尔给出了证明,称为哥德尔完备性定理。一旦有了完备性,今后我们便只需要根据相继式演算在字符串上的语法来检查形式化证明的正确性,就可以验证数学事实上的正确性。我们不再需要用模糊的自然语言来描述证明,而可以用清晰、可验证的形式语言来取而代之。进而,机器也可以代替人类做证明:相比于人类,机器有能力准确无误地对形式符号做变换,这比人类用自然语言论证的证明可靠得多(当然,人类可以依据直觉跳跃地得出结论,但机器只能按照演算规则做运算)。

哥德尔原始的完备性定理的证明比较复杂。后人在此基础上做了改进,给出了一个更简单的证明(尽管还是比较复杂)。

一致性

尽管相继式演算的推导规则是可靠的,但如果前提Φ\Phi中本身就“包含了矛盾”,就会根据Modified Contradiction Rule能够导出一切命题,包括错误的命题。例如,Φ={tt,¬tt}\Phi=\{t\equiv t,\neg t\equiv t\}就能够演算出一切SS-formula。所以,我们要定义一种对Φ\Phi的描述,要求Φ\Phi中“不包含矛盾”,这称之为一致性(consistency):如果一个SS-formula集合Φ\Phi对于任意的SS-formula φ\varphi都不会有Φφ\Phi \vdash \varphiΦ¬φ\Phi \vdash \neg\varphi同时成立,就称它是一致的(consistent),记为Con Φ\text{Con }\Phi

如果Φ\Phi不是一致的,就称Φ\Phi是不一致的(inconsistent),记为Inc Φ\text{Inc }\Phi。根据定义,Inc Φ\text{Inc }\Phi等价于:至少存在一个φ\varphi使得Φφ\Phi \vdash \varphiΦ¬φ\Phi \vdash \neg \varphi同时成立。根据Modified Contradiction Rule,这说明对于任意的ψ\psi都有Φψ\Phi \vdash \psi成立。所以,Inc Φ\text{Inc }\Phi等价于:对于任意的ψ\psi都有Φψ\Phi \vdash \psi成立。因此Con Φ\text{Con }\Phi等价于:存在一个ψ\psi使得Φψ\Phi \vdash \psi不成立。也就是说,一个一致的公式集一定有一个“证不出来”的命题。我们把“Φψ\Phi \vdash \psi不成立”记为Φ⊬ψ\Phi \not\vdash \psi

Remark: 注意区分“Φ¬φ\Phi \vdash \neg\varphi”和“Φ⊬φ\Phi \not\vdash \varphi”,这二者的定义截然不同。Φ¬φ\Phi \vdash \neg \varphi的含义是,存在一个相继式演算的算式,其横线下方是sequence Φ ¬φ\Phi \ \neg\varphi。也即,存在一个有限长的形式化证明从Φ\Phi出发得出一阶逻辑formula ¬φ\neg\varphi。而Φ⊬φ\Phi \not\vdash \varphi的含义是,任何一个相继式演算的算式横下下方都不可能是Φ φ\Phi \ \varphi。也即,不存在一个形式化证明能从Φ\Phi出发推出φ\varphi

同理,Φ¬φ\Phi \models \neg\varphiΦ⊭φ\Phi\not\models \varphi的含义也截然不同。前者的含义是,对于任意I\mathfrak{I},只要I(Φ)=true\mathfrak{I}(\Phi)=true,就有I(φ)=false\mathfrak{I}(\varphi)=false;后者的含义是,存在I\mathfrak{I}使得I(Φ)=true\mathfrak{I}(\Phi)=trueI(φ)=false\mathfrak{I}(\varphi)=false。在绝大多数情况下,二者是不等价的。

一个可满足的(satisfiable)公式集一定是一致的。证明:假设存在I\mathfrak{I}使得I(Φ)=true\mathfrak{I}( \Phi)=true。如果Φ\Phi不一致,那么存在φ\varphi,又有Φφ\Phi \vdash \varphi又有Φ¬φ\Phi \vdash \neg \varphi。根据可靠性,又有Φφ\Phi \models \varphi又有Φ¬φ\Phi \models \neg \varphi。所以又有I(φ)=true\mathfrak{I}(\varphi)=true又有I(φ)=false\mathfrak{I}( \varphi)=false,这在数学事实上是矛盾的。因此Φ\Phi一定是一致的。

Φφ\Phi \vdash \varphi等价于Inc (Φ{¬φ})\text{Inc } (\Phi \cup \{\neg \varphi\})。证明:左推右,由规则一Φ{¬φ}¬φ\Phi\cup\{\neg\varphi\}\vdash \neg\varphi,而Φφ\Phi\vdash \varphi所以由规则三Φ{¬φ}φ\Phi\cup \{\neg\varphi\}\vdash \varphi,因此Φ{¬φ}\Phi \cup \{\neg\varphi\}不一致;右推左,不一致说明能推出所有命题,所以Φ{¬φ}φ\Phi\cup \{\neg\varphi\}\vdash \varphi,由规则一Φ{φ}φ\Phi\cup\{\varphi\}\vdash \varphi,那么根据规则四Φφ\Phi \vdash \varphi

最后,我们证明“对于任意的Φ,φ\Phi,\varphiΦφ    Φφ\Phi \models \varphi \implies\Phi \vdash \varphi”等价于“对于任意的Φ\PhiCon Φ    Sat Φ\text{Con }\Phi \implies \text{Sat }\Phi”。左边命题等价于“ 对于任意的Φ,φ\Phi,\varphiΦ⊬φ    Φ⊭φ\Phi \not\vdash \varphi\implies \Phi \not\models \varphi”,其中Φ⊬φ\Phi \not\vdash \varphi等价于“Φ{¬φ}\Phi\cup\{\neg\varphi\}一致”,Φ⊭φ\Phi \not\models \varphi等价于“存在I\mathfrak{I}使得I(Φ)=true\mathfrak{I}(\Phi)=trueI(φ)=false\mathfrak{I} (\varphi)=false”,等价于“存在I\mathfrak{I}使得I(Φ{¬φ})=true\mathfrak{I}(\Phi \cup \{\neg\varphi\})=true”,也即Sat(Φ{¬φ})\text{Sat} (\Phi \cup \{\neg\varphi\})。于是,左边命题等价于“对于任意的Φ,φ\Phi,\varphiCon (Φ{¬φ})    \text{Con }(\Phi \cup \{\neg \varphi\}) \implies Sat (Φ{¬φ})\text{Sat }(\Phi \cup \{\neg \varphi\})”(A)。下面证明这等价于“对于任意的Φ\PhiCon Φ    Sat Φ\text{Con }\Phi \implies \text{Sat }\Phi”(B)。(B)推(A),用Φ{¬φ}\Phi \cup \{\neg \varphi\}代入Φ\Phi即可;(A)推(B),如果Φ\Phi一致,取某一ψΦ\psi \in \Phi,我们有Φ{¬¬ψ}\Phi \cup \{\neg\neg \psi\}一致(由sequent calculus可以证明ψ\psi¬¬ψ\neg\neg\psi有“等价性”),那么由(A)可得Φ{¬¬ψ}\Phi \cup \{\neg\neg \psi\}可满足,所以存在I\mathfrak{I}使得I(Φ)=true\mathfrak{I}(\Phi)=trueI(¬¬ψ)=true\mathfrak{I}(\neg\neg\psi)=true,因此Sat Φ\text{Sat }\Phi

这样我们就把完备性问题等价转化为了“一致性是否意味着可满足性”的问题了。

Henkin's Theorem

为了证明“一致性是否意味着可满足性”,我们容易想到采用构造性证明:为每个一致的公式集构造一个能满足它的interpretation。我们自然地期待,我们能找到一种统一的构造方式。

对于每个一致的公式集Φ\Phi,只需要能找到一个I=(A,β)\mathfrak{I}=(\mathfrak{A},\beta)使得:对于任意φΦ\varphi \in \Phi,都有I(φ)=true\mathfrak{I}(\varphi)=true。为此,只需证明存在这个I\mathfrak{I},对于任意满足Φφ\Phi \vdash \varphi的formula φ\varphi都有I(φ)=true\mathfrak{I}(\varphi)=true。对于任意的term t1,t2t_1,t_2,当φ\varphi形如t1t2t_1\equiv t_2时,我们可以要求Φt1t2    \Phi \vdash t_1\equiv t_2 \implies I(t1)=I(t2)\mathfrak{I}(t_1)=\mathfrak{I}(t_2)。于是自然地,我们可以基于“项的等价类”来定义I\mathfrak{I}的论域:

如果Φt1t2\Phi \vdash t_1\equiv t_2,就称t1,t2t_1,t_2等价,记为t1t2t_1\sim t_2(之所以可以称为等价,是因为论域中的(数学事实上的)相等是等价关系)。把tt所在的等价类记为tˉ={tTStt}\bar{t}=\{t'\in T^S\mid t\sim t'\}。所有等价类的集合记为TΦ={tˉtTS}T^\Phi=\{\bar t\mid t \in T^S\},我们就把这个集合作为I\mathfrak{I}的论域,上标Φ\Phi表示这一论域是基于Φ\Phi构造的。

对符号集的解释也容易定义:

  • 定义RTΦtˉ1tˉnR^{T^\Phi}\bar t_1\cdots \bar t_n成立当且仅当ΦRt1tn\Phi \vdash Rt_1\cdots t_n
  • 定义fTΦ(tˉ1,,tˉn)=f^{T^\Phi}(\bar t_1,\cdots, \bar t_n)= ft1tn\overline{ft_1\cdots t_n}
  • 定义cTΦ=cˉc^{T^\Phi}=\bar c

这样我们就定义好了一个structure,称为term structure,记为TΦ\mathfrak{T}^\Phi

定义对变量的解释βΦ(x)=xˉ\beta^{\Phi}(x)=\bar x,我们得到了一个interpretation IΦ=(TΦ,βΦ)\mathfrak{I}^\Phi =(\mathfrak{T}^\Phi,\beta^{\Phi}),称为term interpretation。

下面证明,term interpretation确实满足对任意tTSt\in T^S满足IΦ(t)=tˉ\mathfrak{I}^\Phi(t)=\bar t。只需对tt结构归纳:

  • 原子性的情况,IΦ(x)=xˉ\mathfrak{I}^{\Phi}(x)=\bar xIΦ(c)=cˉ\mathfrak{I}^\Phi(c)=\bar c根据定义已经成立;
  • IΦ(ft1tn)\mathfrak{I}^\Phi(ft_1\cdots t_n) =fTΦ(IΦ(t1),,IΦ(tn))=f^{T^\Phi}(\mathfrak{I}^\Phi(t_1),\cdots,\mathfrak{I}^\Phi(t_n)) =fTΦ(tˉ1,,tˉn)=f^{T^\Phi}(\bar t_1,\cdots, \bar t_n) =ft1tn=\overline{ft_1\cdots t_n}

接着我们用term interpretation为formula赋予语义。对于原子性的情况:

  • φ=t1t2\varphi=t_1\equiv t_2时,我们已经确认Φφ    IΦ(φ)=true\Phi \vdash \varphi \implies \mathfrak{I}^\Phi(\varphi)=true确实成立;
  • φ=Rt1tn\varphi = Rt_1\cdots t_n时,ΦRt1tn\Phi \vdash Rt_1\cdots t_n当且仅当RΦ(tˉ1,,tˉn)R^\Phi(\bar t_1,\cdots,\bar t_n)成立当且仅当IΦ(Rt1tn)=true\mathfrak{I}^{\Phi}(Rt_1\cdots t_n)=true

然而不幸的是,当我们想要基于原子性情况成立做结构归纳时,在遇到量词和连接词的时候出了问题:

考虑S={R}S=\{R\}Φ={xRx}{¬Ryy is a variable}\Phi=\{\exists xRx\}\cup \{\neg Ry\mid y\text{ is a variable}\}。那么ΦxRx\Phi \vdash \exists xRx,我们想要推出IΦ(xRx)=true\mathfrak{I}^{\Phi} (\exists xRx)=true。假如IΦ(xRx)=true\mathfrak{I}^{\Phi} (\exists xRx)=true,那么存在tˉTΦ\bar t\in \mathfrak{T}^\Phi使得IΦtˉx(Rx)=true\mathfrak{I}^{\Phi}\dfrac{\bar t}{x} (Rx)=true,也即存在tTSt\in T^S使得IΦIΦ(t)x(Rx)=true\mathfrak{I}^{\Phi} \dfrac{\mathfrak{I}^{\Phi}(t)}{x}( Rx)=true。由The Substitution Lemma等价于IΦ(Rxtx)=true\mathfrak{I}^{\Phi}(Rx\dfrac{t}{x})=true,也即IΦ(Rt)=true\mathfrak{I}^{\Phi} (Rt)=true。根据上一段的证明这当且仅当ΦRt\Phi\vdash Rt。但是由于符号集里只有RR,所以tt只能是变量,也即存在变量vv使得ΦRv\Phi \vdash Rv。但是Φ¬Rv\Phi \vdash \neg Rv。所以Φ\Phi是不一致的。但事实上,Φ\Phi是一致的,只需构造一个解释I0\mathfrak{I}_0说明它是可满足的:论域是两个自然数{0,1}\{0,1\},指定R(0)R(0)成立R(1)R(1)不成立,所有变量都指派为自然数11。于是有I0(Φ)=true\mathfrak{I}_0(\Phi)=true(存在00使得RR成立,同时所有变量都被赋为了11因此所有RyRy都不成立)。这说明Φ\Phi是一致的。所以这里产生了矛盾,因此IΦ(xRx)=false\mathfrak{I}^{\Phi}(\exists xRx)=false。可见term interpretation无法给出我们期待的结果。这里的问题出自term interpretation会根据Φ\Phi能推出的所有等式把term划分到不同的等价类,但实际的情况可能需要我们把同一等价类中的变量解释为不同的值才行:在我们的例子中,对所有term的解释并不是到值域的满射,这就使得xRx\exists xRx这样的formula允许为引入xx变量的解释之外的值,换言之这样的含存在量词的formula即便缺少witness(见证)也是能够成立的。

考虑S={R}S=\{R\}Φ={RxRy}\Phi=\{Rx \lor Ry\}。那么ΦRxRy\Phi \vdash Rx\lor Ry,我们想要推出IΦ(RxRy)=true\mathfrak{I}^{\Phi} (Rx\lor Ry)=true,也即“IΦ(Rx)=true\mathfrak{I}^{\Phi}(Rx)=trueIΦ(Ry)=true\mathfrak{I}^{\Phi}(Ry)=true”。假如IΦ(Rx)=true\mathfrak{I}^{\Phi} (Rx)=true成立,这等价于ΦRx\Phi \vdash Rx,由可靠性得ΦRx\Phi \models Rx。此时可以构造I1\mathfrak{I}_1:论域为自然数{0,1}\{0,1\}R(0)R(0)成立R(1)R(1)不成立,β(x)=1,β(y)=0\beta(x)=1,\beta(y)=0,那么I1(RxRy)=true\mathfrak{I}_1(Rx\lor Ry)=true但是I1(Rx)=false\mathfrak{I}_1(Rx)=false,这说明Φ⊭Rx\Phi \not\models Rx,矛盾。同理,IΦ(Ry)=true\mathfrak{I}^{\Phi}(Ry)=true也不成立。说明IΦ(RxRy)=false\mathfrak{I}^{\Phi} (Rx\lor Ry)=false。这里的问题出自“或”这一连接词,它导致我们不能推出由“或”连接的任意一个子formula究竟是真是假。例如上面我们已经证明了ΦRx\Phi \vdash Rx不成立,还可以证明Φ¬Rx\Phi \vdash \neg Rx也不成立:如果Φ¬Rx\Phi \vdash \neg Rx,那么Φ¬Rx\Phi \models \neg Rx,可以构造一个I1\mathfrak{I}_1'令universe为自然数{0,1}\{0,1\}R(0)R(0)成立R(1)R(1)不成立,β(x)=0,β(y)=1\beta(x)=0,\beta(y)=1,那么I1(Φ)=true\mathfrak{I}_1'(\Phi)=trueI1(¬Rx)=false\mathfrak{I}_1'(\neg Rx)=false,矛盾。换言之,对于Φ\Phi存在一个命题φ\varphi使得Φφ\Phi \vdash \varphiΦ¬φ\Phi \vdash \neg \varphi都不成立,这就使得我们无法对“或”连接词做归纳了:因为即便两个子命题的正面和反面都不可证,这两个子命题的“或”却是可证的。

由此可见,如果我们想继续使用term interpretation做证明,就必须采取一些补救措施,也即给Φ\Phi加上特殊的规定,使得以上两种情况不会出现。对于第一种情况,我们要求Φ\Phi对所有存在量词包含见证(contain witness),定义为:对于所有LSL^S中形如xφ\exists x\varphi的formula,存在term tt使得Φ(xφφtx)\Phi \vdash (\exists x\varphi\to \varphi\dfrac{t}{x})。对于第二种情况,我们要求Φ\Phi总能证出每个命题的正面或者反面, 也即对于否定是完全的(negation complete),定义为:对于所有的φLS\varphi \in L^SΦφ\Phi \vdash \varphiΦ¬φ\Phi \vdash \neg\varphi至少一者成立(由于我们总是对一致的公式集用term interpretation,所以其实是“恰好一者”成立)。

现在假设一致的公式集Φ\Phi还同时满足contain witness与negation complete两个条件,我们可以继续对formula的结构归纳了。我们证明加强后的命题IΦ(φ)=true    Φφ\mathfrak{I}^{\Phi} (\varphi)=true \iff \Phi \vdash \varphi

  • 左推右,假设IΦ(¬φ)=true\mathfrak{I}^{\Phi} (\neg\varphi)=true,也即IΦ(φ)=false\mathfrak{I}^{\Phi} (\varphi)=false,根据归纳假设Φ⊬φ\Phi \not\vdash \varphi,于是由negation complete得到Φ¬φ\Phi \vdash \neg\varphi必须成立;右推左,假设Φ¬φ\Phi \vdash \neg \varphi,由于Φ\Phi一致,所以Φ⊬φ\Phi \not\vdash \varphi,根据归纳假设IΦ(φ)=false\mathfrak{I}^{\Phi} (\varphi)=false
  • 左推右:假设IΦ(φψ)=true\mathfrak{I}^{\Phi} (\varphi \lor \psi)=true,也即IΦ(φ)=true\mathfrak{I}^{\Phi} (\varphi)=trueIΦ(ψ)=true\mathfrak{I}^{\Phi} (\psi)=true,由归纳假设这当且仅当Φφ\Phi \vdash \varphiΦψ\Phi \vdash \psi。无论前者成立还是后者成立,都可以由规则七得Φ(φψ)\Phi \vdash (\varphi \lor \psi)。右推左:假设Φ(φψ)\Phi \vdash (\varphi \lor \psi),假如Φφ\Phi \vdash \varphi成立,由归纳假设IΦ(φ)=true\mathfrak{I}^{\Phi} (\varphi)=true;假如Φφ\Phi \vdash \varphi不成立,由negation complete得到Φ¬φ\Phi \vdash \neg\varphi必须成立,由Moified Or Rule推出Φψ\Phi \vdash \psi,由归纳假设IΦ(ψ)=true\mathfrak{I}^{\Phi} (\psi)=true
  • 由The Substitution Lemma,IΦ(xφ)=true\mathfrak{I}^{\Phi} (\exists x\varphi)=true等价于存在tTSt\in T^S使得IΦ(φtx)=true\mathfrak{I}^{\Phi} (\varphi\dfrac{t}{x})=true,由归纳假设这等价于存在tTSt\in T^S使得Φφtx\Phi \vdash \varphi\dfrac{t}{x}。只需证这等价于Φxφ\Phi \vdash \exists x\varphi。左推右:应用规则八即可;右推左,根据contain witness存在tt使得Φ(xφφtx)\Phi \vdash (\exists x\varphi \to \varphi\dfrac{t}{x}),由Modus ponens可得Φφtx\Phi \vdash \varphi \dfrac{t}{x};

这样,我们就证明了对于contain witness以及negation complete的公式集Φ\Phi,如果它是一致的,那么可以找到term interpretaion IΦ\mathfrak{I}^{\Phi}使得Φφ    IΦ(φ)=true\Phi\vdash \varphi \iff \mathfrak{I}^{\Phi} (\varphi)=true。这称为Henkin's Theorem。由此容易推出IΦ(Φ)=true\mathfrak{I}^{\Phi} (\Phi)=true,可见对于contain witness以及negation complete的公式集如果是一致的就是可满足的。在这样的特殊限制下,完备性成立。

符号集为可数集时的完备性

我们已经发现,如果不对Φ\Phi加以特殊的限制,那么Φ\Phi的term interpretation不足以作为那个能够满足Φ\Phi的interpretation。事实上,我们也难以找到一个其它的自然的interpretation构造使得它能直接满足Φ\Phi。但是,term interpretation距离证明完备性已经很接近了。我们想让完备性对于一般的不满足contain witness和negation complete的公式集也成立,可以证明对于一般的一个一致的公式集Φ\Phi,我们总可以做一些扩展——往Φ\Phi里面“加入”若干条formula——从而在保持一致性的前提下使得它变得contain witness和negation complete。假设经过扩展以后的公式集是可满足的,那么Φ\Phi作为它的子集自然也是可满足的了。

我们首先在限定符号集是可数集(或有限集)的情况下给出证明。

第一步,我们想对于一个一致的公式集Φ\Phi,找到一个一致的公式集Ψ\Psi使得ΦΨ\Phi \subseteq \Psi同时Ψ\Psi contain witness。然而这是一个假命题,考虑以下反例:Φ={v0ttTS} \Phi = \{v_0\equiv t\mid t\in T^S\}\ \cup {v0v1¬v0v1}\{\exists v_0\exists v_1\neg v_0\equiv v_1\}Φ\Phi是可满足的(只需把所有变量和函数值都解释为自然数00,并令universe为{0,1}\{0,1\})因此是一致的。然而,假如存在一致的Ψ\Psi包含Φ\Phi且contain witness,那么对于任意φ\varphi和任意变量xx都满足存在tt使得Ψ(xφφtx)\Psi \vdash (\exists x\varphi \to \varphi \dfrac{t}{x}),取φ\varphiv1¬v0v1\exists v_1\neg v_0\equiv v_1xxv0v_0就有Ψ(v0v1¬v0v1\Psi \vdash (\exists v_0\exists v_1\neg v_0\equiv v_1 v1¬v0v1tv0)\to \exists v_1\neg v_0\equiv v_1 \dfrac{t}{v_0}),于是Ψv1¬tv1\Psi \vdash \exists v_1\neg t \equiv v_1。再取φ=¬tv1\varphi = \neg t \equiv v_1xxv1v_1,得到Ψ¬tt\Psi \vdash \neg t \equiv t',但是由等式的传递性Ψtt\Psi \vdash t\equiv t',与Ψ\Psi一致矛盾。这里出现的问题是,实际上不存在能够充当{v0v1¬v0v1}\{\exists v_0\exists v_1\neg v_0\equiv v_1\}的witness的变量,因为每个witness变量本身都会被v0tv_0\equiv t吸收,而不能真正指向那个在interpretation中未被用来赋值的值。

为此,我们再添加一条限制,规定Φ\Phi中出现的所有自由变量不超过有限个(也即free(Φ):=\text{free}(\Phi):= φΦfree(φ)\bigcup\limits_{\varphi \in \Phi}\text{free}(\varphi)是有限集),这样就总能找到一个全新的变量来充当witness。下面证明,如果Φ\Phi是一致的且free(Φ)\text{free}(\Phi)有限,那么存在一个一致的公式集Ψ\Psi包含Φ\Phi且contain witness。因为一阶逻辑的alphabet有限且formula长度有限,并且符号集是可数的,因此LSL^S也是可数的,可以依次列出所有带有存在量词的formula x0φ0,x1φ1,\exists x_0\varphi_0,\exists x_1\varphi_1,\cdots。归纳地定义ψn:=(xnφnφnynxn)\psi_n:=(\exists x_n\varphi_n\to\varphi_n\dfrac{y_n}{x_n}),其中yny_n是不属于free(x0φ)free(Φ)\text{free}(\exists x_0\varphi)\cup \text{free}(\Phi)\cup m<nfree(ψm)\bigcup\limits_{m<n}\text{free}(\psi_m)的下标最小的变量yny_n(这是可以做到的因为自由变量的总个数是有限的),令Φn=Φ{ψmm<n}\Phi_n=\Phi \cup \{\psi_m\mid m<n\}Ψ=nNΦn\Psi=\bigcup\limits_{n\in \mathbb{N}}\Phi_n,显然Ψ\Psi contain witness且包含Φ\Phi。下面证明Ψ\Psi是一致的。首先证明每个Φn\Phi_n都是一致的,对nn归纳,Φ0=Φ\Phi_0=\Phi时显然成立;假设Φn+1=Φnψn\Phi_{n+1}=\Phi_n\cup \psi_{n}不一致,那么对于任意φ\varphi都有Φn(¬xnφnφnynxn)φ\Phi_{n}\cup (\neg\exists x_n\varphi_n\lor \varphi_n\dfrac{y_n}{x_n})\vdash \varphi,根据sequent calculus得到Φn¬xnφnφ\Phi_n\cup \neg\exists x_n\varphi_n\vdash \varphiΦnφnynxnφ\Phi_n\cup \varphi_n\dfrac{y_n}{x_n}\vdash \varphi,而后者根据规则九得到Φnxnφnφ\Phi_n\cup \exists x_n\varphi_n \vdash \varphi,于是根据规则四(分类讨论规则)得到Φnφ\Phi_n\vdash \varphi对任意φ\varphi成立,与Φn\Phi_n一致矛盾。此时可以证明Ψ\Psi是一致的,假如Ψ\Psi不一致,那么存在Ψ\Psi的一个有限子集Ψ0\Psi_0使得存在φ\varphi使得Ψ0φ\Psi_0\vdash \varphiΨ0¬φ\Psi_0\vdash \neg\varphi,而Φ0Φ1\Phi_0\subseteq \Phi_1\subseteq \cdots,一定存在某个Φm\Phi_m包含Ψ0\Psi_0,这就推出Φm\Phi_m不一致,矛盾。证毕。

第二步,我们想对于每个一致的公式集Ψ\Psi,找到一个一致的公式集Θ\Theta使得ΨΘ\Psi\subseteq \Theta同时Θ\Theta negation complete。这里的构造很简单,我们只需列出全部的LSL^S中的公式φ0,φ1,\varphi_0,\varphi_1,\cdots,依次试着把每个公式“合并”到Ψ\Psi上同时确保一致性成立。具体的,令Θ0:=Ψ\Theta_0:=\PsiΘn+1:=Θnφn\Theta_{n+1}:=\Theta_n\cup \varphi_n如果Θnφn\Theta_{n}\cup\varphi_n是一致的,否则Θn+1=Θn\Theta_{n+1}=\Theta_n。令Θ:=nNΘn\Theta:=\bigcup\limits_{n\in \mathbb{N}}\Theta_n。显然Θ\Theta包含Ψ\Psi并且是一致的(运用与第一步中相同的论证),只需证明它negation complete。对于任意φ\varphi,它对应着某个下标φi\varphi_i。如果Θ¬φi\Theta\vdash \neg\varphi_i不成立,也即等价地Θφi\Theta \cup \varphi_i一致,那么其子集Θiφi\Theta_{i}\cup \varphi_i也一致,说明Θi+1=Θiφi\Theta_{i+1}=\Theta_i\cup \varphi_i,因此Θφi\Theta \vdash \varphi_i。这就说明Θ¬φi\Theta \vdash \neg\varphi_iΘφi\Theta\vdash \varphi_i中总是至少有一个是成立的,也即negation complete。

这样,对于我们在第一步中得到的contain witness的Ψ\Psi,应用第二步的结论我们可以找到一个包含它的negation complete的Θ\ThetaΘ\Theta既然包含一个contain witness的集合,当然也contain witness(因为contain witness是对所有LSL^S中形如xφ\exists x\varphi的formula定义的)。这样我们就最终对于每个一致的且自由变量不超过有限个的Φ\Phi,找到了一个一致的、contain witness的、negation complete的集合,由Henkin's Theorem它可以被term interpretation满足,由此推出Φ\Phi也可满足(这个满足Φ\Phi的解释Θ\Theta上的term interpretation限制到Φ\Phi以后的版本)。

最后我们需要去掉“Φ\Phi中出现的所有自由变量不超过有限个”的约束。我们发现,在“可满足性”的意义下一个自由变量和一个常量在语义上并没有区别,所以我们其实可以构造一个等价的公式集Φ\Phi',其中所有的自由变量都用常数符号替换,这样做了以后用作witness的变量就不会和普通变量发生冲突了。我们只需证明这种替换在可满足性的意义下是等价的,而这其实已经包含在The Coincidence Lemma所表达的含义当中了。具体地,令S:=S{c0,c1,}S':=S\cup \{c_0,c_1,\cdots\},其中cic_i是全新引入的常量符号。对于每个φLS\varphi \in L^S,做替换φ:=φc0,,cn(φ)v0,,vn(φ)\varphi':=\varphi\dfrac{c_0,\cdots,c_{n(\varphi)}}{v_0,\cdots,v_{n(\varphi)}},其中n(φ)n(\varphi)φ\varphi中下标最大的自由变量的下标。

Φ:={φφΦ}\Phi':=\{\varphi'\mid \varphi \in \Phi\},下面我们要证明Φ\Phi'SS'下是可满足的。

首先,我们证明Φ\Phi'的所有有限子集Φ0={φ1,,φn}\Phi'_0=\{\varphi_1',\cdots,\varphi_n'\}都是可满足的。记Φ0={φ1,,φn}\Phi_0=\{\varphi_1,\cdots,\varphi_n\},它是Φ\Phi的一个子集因此是关于SS一致的,而Φ0\Phi_0是有限集因此只包含有限个自由变量,可以由已经证明的结论推出它是关于SS可满足的。设SS-interpretation I\mathfrak{I}满足I(Φ0)=true\mathfrak{I}(\Phi_0)=true,那么可以把每个cic_i赋值为I(vi)\mathfrak{I}(v_i)而扩展得到一个SS'下的interpretation I\mathfrak{I}'。于是,根据The Substitution Lemma得到I(φc0,cn(φ)v0,,vn(φ))=\mathfrak{I}'( \varphi\dfrac{c_0,\cdots c_{n(\varphi)}}{v_0,\cdots,v_{n(\varphi)}})= II(c0),,I(cn(φ))v0,,vn(φ)(φ)=\mathfrak{I}'\dfrac{\mathfrak{I}'(c_0),\cdots,\mathfrak{I}' (c_{n(\varphi)})}{v_0,\cdots,v_{n(\varphi)}}(\varphi)= II(v0),I(vn(φ))v0,,vn(φ)(φ)\mathfrak{I}'\dfrac{\mathfrak{I}(v_0),\cdots \mathfrak{I}(v_{n(\varphi)})}{v_0,\cdots,v_{n(\varphi)}}(\varphi),由The Coincidence Lemma这就等于II(v0),I(vn(φ))v0,,vn(φ)(φ)=\mathfrak{I}\dfrac{\mathfrak{I}(v_0),\cdots \mathfrak{I}(v_{n(\varphi)})}{v_0,\cdots,v_{n(\varphi)}}(\varphi )= I(φ)=true\mathfrak{I}(\varphi)=true。所以SS'-interpretation I\mathfrak{I}'满足I(Φ0)=true\mathfrak{I}'(\Phi_0')=true

因为Φ\Phi'的所有有限子集都是可满足的,所以Φ\Phi'的所有有限子集都是一致的。这说明Φ\Phi'是一致的:如果Φ\Phi'不一致,那么存在一个ψ\psi使得Φψ\Phi'\vdash \psiΦ¬ψ\Phi'\vdash\neg \psi同时成立,这对应于两个相继式演算证明S1,S2S_1,S_2。因为S1,S2S_1,S_2都是有限长的,所以取这两个证明中所用到的Φ\Phi'中的前件,构成Φ\Phi'的一个有限子集,这个有限子集是不一致的,这就推出了矛盾。

由于Φ\Phi'中实际上没有自由变量,并且是一致的,所以根据已经证明的结论推出Φ\Phi'是可满足的(因为“自由变量为空”是“自由变量有限”的一种特殊情况),设这个满足Φ\Phi'的interpretation是I\mathfrak{I}'。根据The Coincidence Lemma,我们可以任意修改I\mathfrak{I}'中对变量的赋值而不影响其对Φ\Phi'的满足性。例如,可以令I(vi):=I(ci)\mathfrak{I}'(v_i):=\mathfrak{I}'(c_i)。于是对于任意φΦ\varphi\in \PhiI(φ)=I(φc0,,cn(φ)v0,,vn(φ))\mathfrak{I}'(\varphi')=\mathfrak{I}'(\varphi\dfrac{c_0,\cdots, c_{n(\varphi)}}{v_0,\cdots,v_{n(\varphi)}}) =II(c0),I(cn(φ))v0,,vn(φ)(φ)=\mathfrak{I}'\dfrac{\mathfrak{I}'(c_0),\cdots \mathfrak{I}'(c_{n(\varphi)})}{v_0,\cdots,v_{n(\varphi)}}(\varphi) =II(v0),I(vn(φ))v0,,vn(φ)(φ)=\mathfrak{I}'\dfrac{\mathfrak{I}'(v_0),\cdots \mathfrak{I}'(v_{n(\varphi)})}{v_0,\cdots,v_{n(\varphi)}}(\varphi) =I(φ)=\mathfrak{I}'(\varphi),可见I(Φ)=true\mathfrak{I}'(\Phi)=true当且仅当I(Φ)=true\mathfrak{I}'(\Phi')=true。所以I(Φ)=true\mathfrak{I}'(\Phi)=true,也即Φ\Phi是可满足的,证毕。

这样我们就在符号集可数的前提下证明了完备性。

符号集为不可数集时的完备性

下面我们在符号集不可数的前提下给出完备性的证明。

首先,我们还是想让一个SS下一致的公式集Φ\Phi能找到一个包含Φ\Phi的公式集Ψ\Psi使得Ψ\Psi contain witness。在SS可数的情况下,我们可以列出每个带有存在量词的公式,并为每个公式单独“分配”witness。但是当SS不可数时,公式是不可列的,而变量只有可列个,显然不能保证每次都能找到一个全新的变量作为witness。但是当SS不可数时,常数的个数可以是不可数个,所以我们可以每次找一个全新的常量——找到一个不属于SS的常量符号并把它加入符号集——来充当witness,这样做肯定能保证contain witness。但是每次引入一个新的常量符号,就会产生许多新的包含这个新常量符号的公式,根据定义我们也需要为这些新公式赋予witness。于是再引入新常量符号,再赋予新的公式witness,不断迭代。我们需要证明这样一步一步扩充符号集的方法的确是可行的:

对于符号集SS,我们为LSL^S中每个带有存在量词的公式xφ\exists x\varphi分配一个特定的常量符号,记为cxφc_{\exists x\varphi},定义符号集的拓展S:=S{cxφxφLS}S^\ast:=S \cup \{c_{ \exists x \varphi } \mid \exists x \varphi \in L^S\},定义Φ:=Φ{(xφφcxφx)xφLS}\Phi^\ast:=\Phi \cup \{(\exists x\varphi\to\varphi\dfrac{c_{ \exists x \varphi }}{x})\mid \exists x\varphi \in L^S\}。我们证明Φ\Phi^\astSS^\ast下是一致的。只需证明Φ\Phi^\ast的每个有限子集都是一致的。Φ\Phi^\ast的每个有限子集Φ0\Phi_0^\ast都可以写作Φ0{xiφiφicixi1in}\Phi_0\cup \{\exists x_i\varphi_i \to \varphi_i\dfrac{c_i}{x_i}\mid 1\leq i \leq n\},其中Φ0\Phi_0Φ\Phi的一个有限子集。由于Φ0\Phi_0有限,它只用到了有限个符号,所以可以取某个SS的有限子集S0S_0,由The Countable Case可得Φ0\Phi_0S0S_0下是可满足的,因此自然也是SS下可满足的,设这个可满足的SS-解释为I\mathfrak{I}。对于xiφi\exists x_i\varphi_i,如果I(xiφi)=true\mathfrak{I}(\exists x_i\varphi_i)=true,那么可以取aia_i满足Iaixi(φi)=true\mathfrak{I}\dfrac{a_i}{x_i}(\varphi_i)=true,否则我们可以取某个固定的aa使得ai=aa_i=a。令ci=aic_i=a_i,那么可以扩展得到一个SS^\ast下的解释I\mathfrak{I}^\ast。由于Φ0\Phi_0中没有出现新增的常数符号,因此I(Φ0)=true\mathfrak{I}^\ast(\Phi_0)=true。同时根据我们的构造(以及The Substitution Lemma),I(xiφiφicixi)=true\mathfrak{I}^\ast(\exists x_i\varphi_i\to\varphi_i\dfrac{c_i}{x_i})=true,综上可得I(Φ0)=true\mathfrak{I}^\ast(\Phi_0^\ast)=true,因此Φ0\Phi_0^\ast一致,证毕。

归纳地,我们令S0=S,Sn+1=Sn=Sn{cxφxφLSn}S_0=S,S_{n+1}=S_n^\ast=S_n\cup\{c_{\exists x\varphi}\mid \exists x\varphi\in L^{S_n}\},令Φ0=Φ\Phi_0=\PhiΦn+1=Φn\Phi_{n+1}=\Phi_n\cup {(xφφcxφx)xφLSn}\{(\exists x\varphi\to\varphi\dfrac{c_{\exists x\varphi}}{x})\mid \exists x\varphi \in L^{S_n}\}。根据上一段的证明,归纳可得每个Φn\Phi_n都是一致的。令Ψ=nNΦn\Psi=\bigcup\limits_{n\in \mathbb{N}}\Phi_n,由于ΦnΦn+1\Phi_{n}\subseteq \Phi_{n+1},可见Ψ\Psi的任意有限子集都被包含在某个Φm\Phi_m里,所以Ψ\Psi是一致的。令S=nNSnS'=\bigcup\limits_{n\in \mathbb{N}}S_n,由于SnSn+1S_{n}\subseteq S_{n+1},所以对于任意的xφLS\exists x\varphi\in L^{S'}都可以找到某个SmS_m使得xφLSm\exists x\varphi\in L^{S_m},因此对任意xφLS\exists x\varphi\in L^{S'}都可以找到某个常量符号cLSc\in L^{S'}使得(xφφcx)Ψ(\exists x\varphi\to\varphi\dfrac{c}{x})\in \Psi,也即Ψ\Psi contain witness。这样我们就证完了每个SS下一致的公式集Φ\Phi能找到一个包含Φ\Phi的公式集Ψ\Psi使得Ψ\Psi contain witness。

接下来,只需证明对任意SS下一致的集合Ψ\Psi都可以找到一个包含它的一致的集合Θ\Theta使得Θ\Theta是negation complete的。在The Countable Case中,我们通过依次列出所有公式并尝试把每个公式“塞进”Ψ\Psi里从而通过对自然数的归纳完成了证明。但是现在LSL^S是不可数的,我们不再能这么做了。我们改为这样证明:取出所有LSL^S中包含Ψ\Psi的一致的集合,得到U:={ΦΨΦLS and ConS Φ}\mathfrak{U}:=\{\Phi\mid \Psi\subseteq \Phi \subseteq L^S \text{ and Con}_S \ \Phi\}U\mathfrak{U}可以看作以集合的包含关系为偏序关系的一个偏序集。对于U\mathfrak{U}上任意的一条链B\mathfrak{B},把B\mathfrak{B}上的公式集全都并且来得到Θ1=ΦBΦ\Theta_1=\bigcup\limits_{\Phi\in \mathfrak{B}}\Phi,可以证明Θ1\Theta_1是一致的:只需证明Θ1\Theta_1的任意有限子集Θ0\Theta_0是一致的,记Θ0={φ1,,φn}\Theta_0=\{\varphi_1,\cdots,\varphi_n\},那么对于每个φi\varphi_i都可以找到某个ΦiB\Phi_i\in \mathfrak{B}使得φiΦi\varphi_i\in \Phi_i。而B\mathfrak{B}是链,所以可以取出序关系最大的那个Φk\Phi_k,它满足Θ0Φk\Theta_0\subseteq \Phi_k。而Φk\Phi_k是一致的,因此Θ0\Theta_0也是一致的,证毕。

Zorn's Lemma告诉我们:在偏序集PP中,如果PP的每一条链都有一个PP中元素作为上界,那么PP中存在极大元。上一段证明了,U\mathfrak{U}中任意一条链B\mathfrak{B}都有上界ΦBΦ\bigcup\limits_{\Phi\in \mathfrak{B}}\Phi,并且这个上界也是一个一致的公式集,也即属于偏序集U\mathfrak{U},所以根据Zorn's Lemma偏序集U\mathfrak{U}有最大元,也即存在ΘU\Theta\in \mathfrak{U}满足ConS Θ\text{Con}_S \ \Theta且不存在ConS Θ\text{Con}_S \ \Theta'使得ΘΘ\Theta\subsetneq \Theta'。下面证明Θ\Theta是negation complete的:如果不是这样,那么存在φ\varphi使得Θφ\Theta\vdash \varphiΘ¬φ\Theta\vdash \neg\varphi都不成立,Θφ\Theta\vdash \varphi等价于Θ{¬φ}\Theta \cup\{\neg\varphi\}不一致,Θ¬φ\Theta\vdash \neg \varphi等价于Θ{φ}\Theta\cup \{\varphi\}不一致,所以得到Θ{¬φ}\Theta \cup\{\neg\varphi\}Θ{φ}\Theta \cup\{\varphi\}都是一致的。但是Θ\Theta是最大元,那么只能是Θ{¬φ}=Θ{φ}=Θ\Theta \cup\{\neg\varphi\}=\Theta \cup\{\varphi\}=\Theta,也即φ\varphi¬φ\neg\varphi都属于Θ\Theta,与Θ\Theta一致矛盾。证毕。

这样,我们最终完成了整个完备性的证明:对于任意的符号集SS,任意ΦLS\Phi \subseteq L^SφLS\varphi\in L^S,满足Φφ\Phi \vdash\varphi当且仅当Φφ\Phi \models \varphi。或等价地,Con Φ\text{Con} \ \Phi当且仅当Sat Φ\text{Sat} \ \Phi

参考文献

[1] H.-D. Ebbinghaus, J.Flum, W. Thomas: Mathematical Logic