本文我们将讨论一阶逻辑的表达能力。一个逻辑系统的表达能力是指,当我用系统内的符号写出一组公式时,这组公式是否描述且仅描述我所想表达的数学对象。例如,假如我用逻辑符号写出一组自然数算术的公理,是否所有满足这组公理的解释都恰好就是自然数算术系统,或者某个与自然数算术在数学上同构的系统?还是说无论如何我们都不可能写出一组自然数算术的公理,使得满足这组公理的所有解释都同构于自然数算术。
我们首先要介绍紧性定理,作为研究一阶逻辑的表达能力的重要工具。
紧性定理
在[[04 哥德尔完备性定理|基于相继式演算的一阶逻辑的完备性的证明]]中,我们反复用到了关于无穷集合的有限子集的论证。具体地,有:
- Φ⊢φ当且仅当:存在Φ的有限子集Φ0满足Φ0⊢φ
- Con Φ当且仅当:Φ的所有有限子集Φ0都有Con Φ0
- Sat Φ当且仅当:Φ的所有有限子集Φ0都有Sat Φ0
我们把这三条定理统称为紧性定理(The Compactness Theorem)。证明:
- 第一条,右推左显然;左推右,任何证明都是有限长的,因此证明中用到的前提也必定是有限个;
- 第二条,左推右:假设Con Φ,如果存在一个有限子集Φ0使得Inc Φ0,那么存在一个φ使得Φ0⊢φ且Φ⊢¬φ,所以Φ⊢φ且Φ⊢¬φ,这与Con Φ矛盾;右推左,假设所有有限子集都一致而Φ不一致,那么说明Φ能推出矛盾,根据第一条一定存在Φ的一个有限子集能推出矛盾,那么这个有限子集不一致,矛盾;
- 第三条,由可靠性和完备性,可满足性等价于一致性;
为什么用“紧性”这个词呢?这其实借用了拓扑学中的概念:如果一个集合的任何开覆盖都存在一个有限子集覆盖,就称这个集合是一个紧集。紧性就是这种“有限覆盖”的性质。
有限覆盖如何体现在一阶逻辑上呢?对于任意S-formula φ,我们令ModS(φ)表示所有能够满足φ的解释的集合,也即ModS(φ):={I∣I(φ)=true}。进一步定义,对于任意S-公式集Φ,令ModS(Φ):={I∣I(Φ)=true}。那么,我们有ModS(Φ)=φ0∈Φ⋂ModS(φ0)。
现在我们证明:对于任意公式集Φ和某个公式φ,ModS(φ)⊆φ0∈Φ⋂ModS(φ0)当且仅当存在Φ的一个有限子集Φ0使得ModS(φ)⊆φ0∈Φ0⋂ModS(φ0)。证明:右推左显然;左推右:已知ModS(φ)⊆φ0∈Φ⋂ModS(φ0)。下面证明{¬φ0∣φ0∈Φ}⊨¬φ。对于任意I满足I({¬φ0∣φ0∈Φ})=true,我们要证明I(¬φ)=true。即证I(φ)=false。也即I∈ModS(φ)。因为我们假设了ModS(φ)⊆φ0∈Φ⋂ModS(φ0),所以我们只需证明I∈φ0∈Φ⋃ModS(φ0)。这等价于I∈φ0∈Φ⋃ModS(φ0)=φ0∈Φ⋂ModS(φ0)= φ0∈Φ⋂ModS(¬φ0)=ModS({¬φ0∣φ0∈Φ}),成立。因此{¬φ0∣φ0∈Φ}⊨¬φ。那么应用紧性定理,可知存在Φ的一个有限子集Φ0使得{¬φ0∣φ0∈Φ0}⊨¬φ。然后我们就可以证明ModS(φ)⊆φ0∈Φ0⋂ModS(φ0):要证对于任意I∈ModS(φ),有I∈φ0∈Φ0⋂ModS(φ0)=φ0∈Φ0⋂ModS(¬φ0)= φ0∈Φ0⋃ModS(¬φ0),因此只需证I∈φ0∈Φ0⋃ModS(¬φ0)。反证法,如果I∈φ0∈Φ0⋃ModS(¬φ0),那么由{¬φ0∣φ0∈Φ0}⊨¬φ可知I(φ)=false。也即I∈ModS(φ),矛盾。因此I∈φ0∈Φ0⋃ModS(¬φ0)。证毕。
这意味着,对于任意公式集Φ和某个公式φ,如果我们对于每个φ0∈Φ把ModS(φ0)看作一个“开集”,那么只要{ModS(φ0)∣φ0∈Φ}构成ModS(φ)的一个开覆盖,它就一定有一个有限子覆盖。因此在我们的比喻下,任何公式φ对应的ModS(φ)都是一个“紧集”。有了这条性质,我们可以用“有限子覆盖”的观点重新理解紧性定理。例如,我们来看紧性定理的第一条。Φ⊢φ(也即Φ⊨φ)当且仅当ModS(Φ)⊆ModS(φ)。这当且仅当ModS(φ)⊆ModS(Φ) =φ0∈Φ⋂ModS(φ0) =φ0∈Φ⋃ModS(φ0)。这当且仅当ModS(¬φ)⊆φ0∈Φ⋃ModS(¬φ0),由上一段的证明这当且仅当存在Φ的有限子集Φ0使得ModS(¬φ)⊆φ0∈Φ0⋃ModS(¬φ0)。这当且仅当ModS(φ)⊆ModS(Φ0),也即ModS(Φ0)⊆ModS(φ),也即Φ0⊨φ。所以Φ⊢φ⟹Φ0⊢φ。
勒文海姆-斯科伦定理
可靠性和完备性同时成立告诉我们:一致性和可满足性是当且仅当的。在完备性的证明中,我们得知任何一致的S-公式集Φ,都存在一个包含它的公式集Ψ⊇Φ,使得Ψ可以被term interpretation IΨ满足。进而,IΨ也可以满足Ψ。我们考虑IΨ的论域,它是TS上的一个等价类。因此如果S是至多可数集,那么TS也是至多可数集,因此IΨ的论域是至多可数集。这直接给出了下面这个结论:设符号集S是至多可数的(有限或可数无穷),那么任何可满足的S-公式集Φ都有一个满足它的解释I,其中I的论域是至多可数集。这就是勒文海姆-斯科伦定理(The Löwenheim-Skolem Theorem)。
利用紧性定理,我们可以得到下面这个推论:选定符号集S,设S-formula集合Φ满足对于任意n∈N都存在论域大小恰好为n的解释In满足Φ,那么存在一个论域无穷大的解释I满足Φ。证明:对任意n≥2我们都可以构造一个公式φn:=∃v1⋯∃vn i∈[n]⋀j∈[n]∧j=i⋀¬vi≡vj。可见任何一个满足φn的解释的论域大小必须大于n。由此我们构造公式集Ψ:=Φ∪{φn∣n≥2}。我们证明Ψ是可满足的,根据紧性定理只需证Ψ的任意有限子集是可满足的。对Ψ的任意有限子集Ψ0,一定存在n0≥2使得Ψ0⊆Φ∪{φi∣2≤i≤n0}。根据假设,Φ一定有一个论域大小为n0的解释In0,于是一定有In0(Ψ0)=true,也即Ψ0是可满足的。因此Ψ是可满足的。但是,满足Ψ的解释不可能只有有限大的论域(假设存在一个论域为m的解释,那么它一定不满足φm+1),因此Ψ有无穷大论域的解释。所以Φ也有无穷大论域的解释。
勒文海姆-斯科伦定理定理似乎只是term interpretation的一个平凡推论,但它却显示出一阶逻辑在表达能力上的局限性:
观察到,当我们为一个公式集寻找一个解释时,并不能任意规定其论域——公式集本身具有刻画论域的能力。比如,考虑Φ={∀x∀y x≡y},任何I只要能满足Φ,就意味着I的论域中的任意两个元素都相等,也即论域大小必须为1;考虑Φ={∀x∀y (fx≡fy→x≡y), ¬∀x∃yfy≡x},满足Φ的解释I的论域必须是无穷集合,因为有限集不可能有到自己的单射而不是满射。
同时,公式集虽然能够左右论域的大小,却无法任意规定论域的大小。比如,考虑实数算数的structure Sar<={R,+,⋅,0,1,<}:因为Sar<是一个可数集合,所以根据勒文海姆-斯科伦定理,任何Sar<-公式集一定有一个论域可数的解释。所以,我们不可能在符号集Sar<下找到一组公式Φ,使得能满足Φ的论域是不可数的。换言之,符号集Sar<下的公式集没有“规定论域为不可数集”的能力。
我们必须认识到,因为量词的存在,论域的大小是不能随意扩张的。假设Φ有一个可满足的解释I,其论域为A。我们不能在A中加入一个新元素a,然后认为修改后的解释I′依然能满足Φ:考虑Φ={∀x∀y x≡y},那么满足Φ的解释的论域必须大小为1,对论域做任何扩展都会导致解释变得不可满足。但我们可以证明,如果可满足的论域本身是无穷大,那么它可以任意做扩展:
选定任意一个符号集S,如果可满足的S-公式集Φ存在一个满足它的论域无穷大的解释I,那么满足Φ的解释的论域大小可以比任何集合都要大(也即,对于任意集合U,都可以找到一个满足Φ的解释IU=(AU=(AU,aU),βA)使得可以构造U→AU的单射)。证:对于给定的集合U,我们为U中的每一个元素u∈U创造一个常量符号cu,然后把符号集扩展为S∪{cu∣u∈U}。于是,我们可以构造一个S∪{cu∣u∈U}-公式集Ψ:=Φ∪{¬cu≡cv∣u,v∈U,u=v}。显然,任何一个能满足Ψ的解释的论域都必须大过集合U(存在U到论域的单射)。并且既然这个解释可以在S∪{cu∣u∈U}下满足Ψ,就一定可以在S下满足Φ。但我们还需验证Ψ的确是可满足的:根据紧性定理,只需证明Ψ的任意有限子集都是可满足的。这等价于证明,∀n∈N,Sat (Φ∪{¬cui≡cuj∣1≤i,j≤n,i=j})。因为Φ有一个可满足的论域无穷大的解释I,所以我们总可以从I的论域中挑出n个元素b1,⋯,bn。只需令a(cui)=bi,我们就修改得到了一个解释I′满足公式集Φ∪{¬cui≡cuj∣1≤i,j≤n,i=j},证毕。
Remark: 这个定理在数学实践上也有重要的应用:它可以帮助我们证明任意大的代数结构的存在性。例如,我们只需要用一阶逻辑语言写出刻画群的性质的公式集Φ,那么我们只需证明存在无穷大(比如可数无穷大)的群,就可以用上面的定理证明存在一个大于任意无穷大(比如大于不可数无穷大)的群。因为“存在无穷大的群”意味着Φ有一个无穷大论域,于是上面的定理就告诉我们论域可以任意大。由此可见,这套方法为我们提供了一套研究代数结构的一般方法。这门学科称为“模型论(model theory)”。
初等类
下面我们把讨论范围从formula限定到sentences。沿用我们讨论紧性时所用的符号“Mod”,作如下定义:选定符号集S,对任意S-sentence集合Φ,称集合ModS(Φ):={A∣A(Φ)=true}为Φ的模型类(class of models)。注意,这里我们用structure A作定义而不用interpretation I,因为在讨论sentence时不需考虑自由变量的赋值。
模型类是由全体S-structure中的一部分构成的类(class)。我们用“类”是因为我们不想讨论“全体S-structure”到底是否能构成一个“集合”。我们特别关心两种S-structure类:
- 对于任意S-structure类K,如果存在某一个S-sentence φ使得K=ModS(φ),就称K为一个初等类(elementary class);
- 对于任意S-structure类K,如果存在某一个S-sentence Φ使得K=ModS(Φ),就称K为一个Δ-初等类(Δ-elementary class);
探讨一阶逻辑的表达能力问题,就是在探讨“怎样的S-structure类是初等的”。如果一个S-structure类是初等类,那么它可以用单个S-sentence描述;如果一个S-structure类是Δ-初等类,那么它可以用一组S-sentence描述。判断一个S-structure类是否是初等的,就是在判断这个structure类是否是“可公理化”的。
比如,取S={∘,e},我们写出下面一组S-sentence:
- ∀x∀y∀z (x∘y)∘z=x∘(y∘z)
- ∀x x∘e=x
- ∀x∃y x∘y=e
于是,任何一个群都可以作为这组公式的structure。现在问:所有有限群组成的structure类K是否是初等类或Δ-初等类?答案是不可能。假设这个K是Δ-初等类,那么存在sentence集合Φ使得K=ModS(Φ)。因此,任何一个有限群structure都落在都能满足Φ,所以Φ可以被任何论域有限的解释满足。但是,根据勒文海姆-斯科伦定理的推论,Φ一定有一个论域无穷大的structure A满足它。因此A∈ModS(Φ)而A∈K,这与K=Mods(Φ)矛盾。所以K一定不是Δ-初等类。这就是说,所有有限群组成的structure类是不可被“公理化”的。
初等等价性
我们证明过Isomorphism Lemma:如果A≅B,那么对于任意S-sentence φ都有A(φ)=B(φ)。我们注意,“对于任意S-sentence φ都有A(φ)=B(φ)”这一条件是一阶逻辑表达能力的一个重要表述。如果两个structure在任意一个一阶逻辑sentence上的可满足性都是相同的,就意味着一阶逻辑语言无法区分这两个structure。Isomorphism Lemma就是在说:一阶逻辑语言无法区分两个同构的structure。
我们把这一性质定义为“初等等价性”:对于两个S-structure A,B,如果对于任何S-sentence φ都有A(φ)=true⟺B(φ)=true,就称A,B是初等等价(elementarily equivalent)的,记为A≡B。两个初等等价的structure对所有sentence都会做出相同的解释。于是Isomorphism Lemma可以表述为:同构的structure一定是初等等价的。
我们记得,Isomorphism Lemma的逆命题只对有限符号集成立。这意味着当符号集无限时,初等等价的structure不一定同构。这里已经出现了一阶逻辑的表达能力缺陷:当符号集无限时,总是存在两个不同构的structure是一阶逻辑无法区分的。
接下来我们要进一步证明,对任意符号集S,只要A是一个论域无穷大的structure,那么就一定存在一个与它初等等价的structure B≡A,使得B与A不同构。这体现了一阶逻辑表达能力的更大缺陷:任何一个论域无穷大的structure都有一个与它不同构的structure是一阶逻辑无法区分的,比如“自然数算术”或“实数算数”。
首先引入“一阶逻辑理论”的定义。选定符号集S,对于S-structure A,定义Th(A):={φ∈L0S∣A(φ)=true}。Th(A)称为A的理论(theory),它包含所有能被A满足的sentence集合。
下面证明,对于两个S-structure A,B,A≡B当且仅当B(Th(A))=true。也即,满足某个模型的理论的模型一定与该模型初等等价。证明:左推右:因为A(Th(A))=true,而A≡B,所以B(Th(A))=true;右推左:对于任意一个S-sentence φ,如果A(φ)=true,那么φ∈Th(A),那么B(φ)=true。如果A(φ)=false,那么A(¬φ)=true,所以¬φ∈Th(A),因此B(¬φ)=true,因此B(φ)=false。所以但对于任意φ都有A(φ)=true⟺B(φ)=true;证毕。
下面证明,对于论域无穷大的structure A,所有与它同构的structure构成的类{B∣B≅A}不是Δ-初等类。证明:假设{B∣B≅A}是Δ-初等类,那么存在sentence集合Φ满足{B∣B≅A}=Mod(Φ)。因为A∈{B∣B≅A},所以A(Φ)=true。这说明Φ有论域无穷大的解释。由勒文海姆-斯科伦定理,Φ可以有任意无穷大的解释(比如达到A的幂集那么大)。这说明存在一个与A不同构的structure C∈Mod(Φ),这与{B∣B≅A}=Mod(Φ)矛盾。证毕。
下面证明,对于论域无穷大的structure A,所有与它初等等价的structure构成的类{B∣B≡A}是Δ-初等类。因为A≡B当且仅当B(Th(A))=true,所以{B∣B≡A}={B∣B(Th(A))=true}=Mod(Th(A))。因此{B∣B≡A}是Δ-初等类。
对于论域无穷大的structure A,由Isomorphism Lemma,我们得知{B∣B≅A}一定是{B∣B≡A}的子类。但前者不是Δ-初等类,后者却是Δ-初等类,这意味着{B∣B≅A}一定是{B∣B≡A}的真子类。因此存在B,B≡A却B≅A。
非标准模型
这意味着,自然数算术模型N=(N,+,⋅,0,1),或带有序关系的实数域模型R<=(R,+,⋅,<,0,1),都存在着与之不同构但与之初等等价的模型。这样的模型称为非标准模型(nonstandard model)。下面以自然数算术为例。
考虑所有被标准自然数算术N满足的sentence集合,也即N的理论Th(N)。由于N本身就是Th(N)的一个论域无穷大的模型,所以由勒文海姆-斯科伦定理Th(N)总是存在大于任意无穷大的模型A。因为A(Th(N))=true,我们证明过这当且仅当A≡N。所以我们就找到了一个大于任意无穷大的自然数算术的非标准模型。
斯科伦进一步证明了:可以找到一个可数无穷大的自然数算术的非标准模型。构造自然数算术符号集下的formula集合Ψ:=Th(N)∪{¬x≡0,¬x≡1,¬x≡2,⋯},其中x是任意一个变量名。我们证明Ψ是可满足的。由紧性定理只需证明Ψ的任意有限子集是可满足的。对于Ψ的任意有限子集Ψ0,一定可以找到一个n∈N,令β(x)=n,从而得到一个解释I0=(N,β)满足Ψ0。因此Ψ是可满足的。勒文海姆-斯科伦定理说符号集有限时,任何可满足的公式集都有一个至多可数无穷大的解释满足它,所以Ψ有一个论域至多可数无穷大的解释I=(A,β)。因为要满足所有自然数算术,A的论域A不可能是有限大的。由此可得A就是Th(N)的一个可数无穷大的模型。因为A(Th(N))=true,所以A≡N。接下来只需证明A≅N。如果A≅N,那么存在一个A与N之间的双射π。因为I(Ψ)=true,所以对于任意n∈N,一定有I(¬x≡n)=true,也即β(x)=nA=π−1(nN)。也即,对于任意n∈N都有π(β(x))=nN,也即π(β(x))∈N,这与π是双射矛盾。所以A≅N,证毕。
究竟什么样的自然数算术模型是可数的,但是与自然数算术不同构?在上面构造的满足Ψ的模型A中,我们证明了A的论域中包含了一个N中没有的元素β(x)。我们可以想象,标准模型N中所有元素都是沿一条数轴排列的,这是由于公式集Th(N)会规定了我们必须这么做:每个数都有一个比它恰好大1的数;每一个非零的数都有一个恰好比它小1的数;等等。那么,一定有比β(x)恰好大1的数,而由于β(x)不是0,一定也有比β(x)恰好小1的数。进而,有比β(x)+1恰好大1的数;β(x)−1不能是0,否则意味着β(x)=1,因此还有比β(x)−1恰好小1的数;……这意味着,模型A中有一条包含β(x)的数轴,这条数轴是完全与N平行的,并且是往两侧无限延申的。进一步,β(x)+β(x)在哪条数轴上呢?假如β(x)和β(x)+β(x)在同一条数轴上,那么不失一般性,存在n∈N使得β(x)+n=β(x)+β(x)。由自然数算术的左消去律, 得到n=β(x),矛盾。所以β(x)+β(x)又形成了一条独立的双向数轴。由此可见,初步分析已经说明非标准模型A中存在无数条双向数轴。
所以,为了研究标准模型A上的结论,并不一定需要在标准模型A上研究,而可以采用任何非标准模型A′。在非标准模型A′上证出的结论A′(Φ)⟹A′(φ)总可以还原到形式系统Φ⊢φ上。此时再用标准模型A做解释,我们就能得出标准模型上的结论A(φ)⟹A(φ)。
由此可见,尽管非标准模型的存在是一阶逻辑表达能力的缺陷,但它却为我们带来了用全新的模型研究数学的可能性。最著名的实践就是非标准分析(nonstandard analysis)。1960年代,亚伯拉罕·鲁宾逊绕开了传统分析学繁琐的ε−δ定义,建立了一套把无穷大和无穷小作为论域中的元素的数学分析方法。
二阶逻辑
我们已经证明了,不可能写出一组一阶逻辑公式,使得任何满足这组公式的模型都与自然数算术模型N同构。下面我们证明,如果改用二阶逻辑(Second Order Logic)语言,就可以做到这一点。
在alphabet上,二阶逻辑相比于一阶逻辑引入了“关系变量(relation variables)”。对于任何n∈N+,都可以使用可数无穷个n元关系变量V0n,V1n,⋯。通常我们可以用大写字母X,Y,⋯来表示关系变量。
二阶逻辑只引入“关系变量”,而没有引入“函数变量”,这是一种处于简洁性考虑的设计。函数从数学上是一种特殊的关系:f(x,y)=z可以写成R(x,y,z)=true。我们可以证明,假如我们设计了一套带有函数变量的二阶逻辑,那么这套逻辑一定可以等价地还原到不带有函数变量的二阶逻辑。深入下去,我们就再次回到了关于命题“范式(normal forms)”的讨论,就像我们在命题逻辑中所做的那样,在此不再详细展开。
二阶逻辑关于term的语法就是一阶逻辑term的语法;
一个二阶逻辑formula,除了所有一阶逻辑formula的语法的定义之外,还包括以下两条归纳定义:
- 如果X是一个n元关系变量,t1,⋯,tn都是term,那么Xt1⋯tn是一个formula;
- 如果X是一个n元关系变量,φ是formula,那么∃Xφ是formula;(由功能完全性,我们不需要定义∀Xφ)
在符号集S下,全体满足二阶逻辑语法的formula集合记为LIIS。
由于二阶逻辑和一阶逻辑在符号集的定义上完全相同,所以一个二阶逻辑structure A=(A,a)的定义与一阶逻辑相同。而在一个二阶逻辑解释I=(A,γ)中,γ需要对所有关系变量做赋值。任何一个n元关系变量Vin的赋值γ(Vin)都是An的一个子集。
由此,我们在一阶逻辑的基础上定义二阶逻辑的语义:
- I(Xt1⋯tn)=true当且仅当在数学事实上n元组(I(t1),⋯,I(tn))∈γ(X);
- 对于n元关系变量X,I(∃Xφ)=true当且仅当在数学事实上存在C⊆An使得IXC(φ)=true;其中,IXC:=(A,γXC),γXC(Y):={Cγ(Y),Y=X,otherwise;
皮亚诺公理
现在回到自然数算术上来。下面这组用二阶逻辑语言写出的公式就是刻画自然数算术模型N=(N,+N,⋅N,0N,1N)的皮亚诺公理(Peano Axioms):
- ∀x ¬x+1≡0
- ∀x 0+x≡x
- ∀x x⋅0≡0
- ∀x∀y (x+1≡y+1→x≡y)
- ∀x∀y(x+(y+1)≡(x+y)+1)
- ∀x∀y(x⋅(y+1)≡(x⋅y)+x)
- ∀P(((P0)∧∀k(Pk→P(k+1)))→(∀y Py))
把这组公式记为Π。前六条都可以看作一阶逻辑命题。只有最后一条是二阶逻辑命题,它刻画了“归纳法”。我们证明任何满足Π的模型A都有A≅N。
我们首先把符号限制到单个“后继函数符σ”以及“加法单位元0”上。写出下面这组公式,记为Π′:
- ∀x ¬σx≡0
- ∀x∀y(σx≡σy→x≡y)
- ∀P(((P0)∧∀k(Pk→P(σk)))→(∀y Py))
我们在数学事实上定义N上的函数s:N→N,s(n)=n+1。那么模型Nσ=(N,sN,0N)显然满足Π′。下面我们证明任何满足Π′的模型A0都有A0≅Nσ。设π:N→A0,令π(0N)=0A0,对任意n∈N,π(sN(n))=σA0(π(n))。那么要证明π是A0和Nσ的同构映射,只需证明π是N到A0的双射。先证π是满射:即证对于任意a0∈A0,都存在n∈N使得π(n)=a0。由于A0满足Π′,因此A0(∀P(((P0)∧∀k(Pk→P(σk)))→(∀y Py)))=true,也即对于任何A0上的一元关系PA0,要证PA0=A0只需证:① 0A0∈PA0;② 对任意a0∈A0只要a0∈PA0就有σA0(a0)∈PA0。令P为{a∣∃n∈N,π(n)=a}。先证①:π(0)=0A0,因此0A0∈P;再证②:对于任意a0∈A0,假设a0∈P,也即存在n1使得π(n1)=a0,那么存在n2=n1+1使得π(n2)=π(n1+1)=π(s(n1)) =σA0(π(n1)) =σA0(a0),所以σA0(a0)∈P;由此可见P=A0,也即对于任意a0∈A0都存在n∈N使得π(n)=a0,因此π是满射;再证π是单射:即证对于任意的n,m∈N,n=m⟹π(n)=π(m)。我们用数学事实上的归纳法。当n=0时,要证对于任意m∈N,m=0⟹π(m)=0A0。因为m=0,可以设存在k∈N使得m=k+1,因此π(m)=π(k+1)=σA0(π(k))。因为A0满足Π′,所以A0(∀x ¬σx≡0)=true,也即任意a0∈A0都有σA0(a0)=0A0,因此σA0(π(k))=0A0。归纳步骤,设对于某个k有:对于任意m∈N,m=k ⟹π(m)=π(k),要证对于任意m∈N,m=k+1⟹π(m)=π(k+1)。如果m=0,那么π(m)=0A0,而π(k+1)=σA0(π(k)),同理应用Π′中的第一条可得σA0(π(k))=0A0。如果m=0,那么存在u∈N使得m=u+1,于是u=k,并且π(m)=σA0(π(u))。因为A0(∀x∀y(σx≡σy→x≡y))=true,所以对于任意x0,y0∈A0,σA0(x0)=σA0(y0)⟹x0=y0。根据u=k,有π(u)=π(k),所以σA0(π(u))=σA0(π(k))=π(k+1),也即π(m)=π(k+1);证毕。
对于任意满足Π的模型A=(A,+A,⋅A,0A,1A),我们可以定义符号σ,并在A上赋予它语义∀a∈A,σA(a):=a+A1A。下面证明模型Aσ=(A,σA,0A)满足Π′:Aσ(∀x ¬σx≡0)=true当且仅当∀a∈A,σA(a)=0A,当且仅当∀a∈A,a+A1A=0A,当且仅当A(∀x¬x+1≡0),成立;Aσ(∀x∀y(σx≡σy→x≡y))=true当且仅当∀a,b∈A,σA(a)=σA(b) ⟹a=b,当且仅当∀a,b∈A,a+A1A=b+A1A ⟹a=b,当且仅当A(∀x∀y (x+1≡y+1→x≡y)),成立;同理,Aσ(∀P(((P0)∧∀k(Pk→P(σk)))→(∀y Py)))=true当且仅当A(∀P(((P0)∧∀k(Pk→P(k+1)))→(∀y Py)))=true。因此Aσ(Π′)=true。这意味着Aσ≅Nσ。
最后证明A≅N。根据Aσ≅Nσ,我们有N→A的双射π,满足π(0N)=0A,对任意n∈N,π(σN(n))=σA(π(n))。所以为了证明A≅N,只需证明π对+N,⋅N,1N也保持结构:
乘法单位元:π(1)=π(σN(0))=σA(π(0))=0A+A1A。由Π的第二条∀x 0+x≡x,得证。
加法:要证∀n,m∈N,π(n+Nm)=π(n)+Aπ(m)。对m做数学事实上的归纳法。基例:m=0。我们有π(n+N0)=π(n)=π(n)+A0A(由Π的第二条∀x x+0≡x)。归纳:假设 π(n+m)=π(n)+Aπ(m),要证 π(n+m+1)=π(n)+Aπ(m+1)。我们有π(n+m+1)。代入归纳假设,得到(π(n)+Aπ(m))+A1A。只需证(π(n)+Aπ(m))+A1A =π(n)+A(π(m)+A1A)。由Π的第五条∀x∀y(x+(y+1)≡(x+y)+1),得证。
乘法:要证∀n,m∈N,π(n⋅Nm)=π(n)⋅Aπ(m)。对m做数学事实上的归纳法。基例:m=0。我们有π(n⋅N0)=π(0)=π(n)⋅A0A(由Π的第三条∀x x⋅0≡0)。归纳:假设 π(n⋅m)=π(n)⋅Aπ(m),要证 π(n⋅(m+1))= π(n)⋅Aπ(m+1)。我们有π(n⋅(m+1))=π(n⋅m+n)=π(n⋅m)+Aπ(n)。由归纳假设,得到π(n⋅m)=π(n)⋅Aπ(m)。因此只需证π(n)⋅Aπ(m)+Aπ(n) =π(n)⋅A(π(m)+A1A)。由Π的第六条∀x∀y(x⋅(y+1)≡(x⋅y)+x),得证。
综上,我们证明了任何满足皮亚诺公理的模型都与自然数算术的标准模型N同构。我们把任何满足皮亚诺公理的模型都称为一个皮亚诺系统(Peano System),任何皮亚诺系统都是同构的。全体皮亚诺系统构成的一个模型类,我们证明过不存在一组一阶逻辑公理的模型类为全体皮亚诺系统。而皮亚诺公理中除了最后一条“归纳公理”以外都是一阶逻辑公式,所以不存在一组一阶逻辑公理刻画“归纳公理”。这是一阶逻辑表达能力的局限性。必须把一阶逻辑扩展到二阶逻辑,才可以对自然数算术系统做“同构的刻画(characterize up to isomorphism)”。
二阶逻辑的完备性不成立
然而,二阶逻辑尽管相比于一阶逻辑在表达能力上有所增强,却失去了完备性。
让我们首先来证明,二阶逻辑中紧性定理的第三条“Sat Φ当且仅当Φ的所有有限子集Φ0都有Sat Φ0”是不成立的:
我们知道在数学事实上,对任意集合A,如果A→A的任何函数只要是单射就能推出满射,那么A必须是有限集合。那么我们可以写出二阶逻辑公式φfin:=∀X((∀X(∃=1yXxy)∧∀x∀y∀z((Xxz∧Xyz)→x≡y)))→∀y∃xXxy用来刻画论域是有限集合(其中,∃=1xφ是∃xφ∧∀y(φxy→x≡y)的缩写。我们再次对任意n≥2引入φn:=∃v1⋯∃vn i∈[n]⋀j∈[n]∧j=i⋀¬vi≡vj用来刻画论域的有限下界。由此,我们构造出一个sentence集合Φ:=φfin∪{φn∣n≥2}。那么,任何大小为n的structure都能满足φfin,但不能满足φn+1。所以Φ不存在有限大的structure满足它。但是,Φ的任何有限子集确实都是可满足的。所以如果紧性定理成立就会推出Φ也是可满足的,矛盾。因此对于二阶逻辑,紧性定理不成立。
但是,紧性定理是完备性的直接推论。回顾我们对紧性定理的证明就会发现,其证明过程没有用到任何一阶逻辑独有的而二阶逻辑没有的特殊性质。那么,假设二阶逻辑有完备性,那么我们应该能够证明上面这条紧性定理成立,矛盾。于是我们只能得出结论:此时完备性不成立。
这里,要注意语词的使用。当我们讨论“二阶逻辑的完备性”时,不仅涉及命题所用的语言“二阶逻辑”,还涉及用于形式化证明的推导规则。紧性定理不成立意味着,我们不可能找到一组推导规则使得完备性成立。如果我们找到了,我们就一定能推出紧性定理成立。所以,严格的表述应该是:对于任何一组二阶逻辑的形式化证明规则⊢,都可以找到一组二阶逻辑公式集Φ和一个二阶逻辑公式φ,使得Φ⊢φ⟺Φ⊨φ不成立。
可见,正是因为二阶逻辑表达能力的增强,使得我们可以直接刻画“论域有限”这一性质。但正是因为表达能力的增强,使得“二阶逻辑的完备性”不再成立。随着逻辑系统的表达能力的增强,它会失去原有的良好性质。我们之后还将不断看到这一点。
数学论域
当讨论“语义”(模型、解释等等)时,我们总是强调“数学事实”,它是“客观”的。然而,这里的“客观”并不是指数学事实一定是本体论意义上的存在。每当我们讨论“语义”或“数学事实”时,我们其实已经涉及了“哲学”。这个“哲学”包括每个做出语义解释的人所采取的本体论假设和认识论假设。不同的人当然会有不同的本体论假设和认识论假设,所以严谨地来看每个人都只是在研究他自己的数学。但是,很多时候会有一群人对于“数学事实”会采取几乎完全相同的假设,所以可以认为当这些人共同讨论“语义”时,它们所指向的对象是“客观的”。我们称它们奉行同一种“主义”。在不同“主义”的人群看来,数学事实有可能完全不同的。
奉行同一种“主义”的人会在相同的模型下对数学事实做出相同的判断,但这并不意味着他们已经完全弄清了它们是如何“做出判断”的。人们总是在使用和习惯的过程中加深对数学的了解,而不是在一开始就已经彻底厘清数学在根基上所有的细节。归根结底,数学只是一种特殊的语言。可以想象,数学在最初只是一群人约定而成的模糊的直观。直到“公理化”被提出,数学家们才开始采用“证明”的方法来澄清对数学事实的判定过程。可以说,现代数学就是公理化的数学。
在公理化的数学中,必须小心对待公理中提出的数学对象。在以前,人们依赖于一些“不需加以解释的数学对象”,例如几何原本中的“点”和“线”,朴素集合论中的“集合”。然而正是这些人们曾以为“不需加以解释”的概念引发了问题。罗素悖论就产生于对“集合”概念的阐释不清。人们意识到,并不是任何一组东西组合在一起都可以被称为集合。
ZFC公理化集合论的提出,就是对“什么是集合”的澄清。有的人希望把ZFC集合论作为数学的根本理论。它声称一切数学对象都可以还原为集合,一切数学对象之间的关系都可以还原为∈关系,并提出了一套公理作为一切数学讨论的起点。既然所有东西都是集合,那么我们就不必区分数学对象在“类型(type)”上的区别,比如“自然数”或“群”或“映射”都是集合。同时,既然所有东西都是集合,那么这样一套理论肯定可以用一阶逻辑写出,再也不用担心“关系”或“函数”不是一阶对象不能填到量词中,因为现在“集合到集合的映射”也是“集合”,所有对象都是一阶对象。
既然ZFC公理系统可以用一阶逻辑表示。而一阶逻辑本身也是一个数学对象。所以,如果我们相信ZFC公理系统能表示所有数学,那么原则上一阶逻辑也可以表示所有数学。我们可以把ZFC的所有公理用一阶逻辑公式写出,而当我们对这组公式做语义解释时,我们使用一个论域U,它包含一切数学对象(一切集合)。在这个意义下他们认为,一切数学都可以用一阶逻辑“表达”。以皮亚诺算数为例,尽管我们已经证明我们不可能写出一组一阶逻辑公式使得满足这套公式的模型一定与自然数算术模型同构,但我们总是可以写出一组一阶逻辑公式来表示一个“皮亚诺系统”——任意某个“满足”“皮亚诺公理”这一数学对象的对象,其中关系词“满足”和名词“皮亚诺公理”最终都会被还原为“集合”。
注意,我们必须要区分“在观念上认同ZFC公理系统”和“研究‘ZFC公理’这个形式系统”,这二者截然不同。不采用ZFC系统的数学家也可以研究ZFC形式系统,因为本质上他只是在研究字符串的排列组合。但是,“在观念上认同ZFC公理系统”的人会应用“他观念中ZFC系统的结论”来预测ZFC形式系统的行为。也即,不同主义的数学家因为观念不同所以会使用不同的工具,而形式系统却是客观的(对于不同主义的人而言是相同的),因为形式系统是基于物理实体的(当然,“形式系统是客观的”是我本人的观点,某些唯心主义者可能并不认同)。ZFC公理系统的信仰者之间可以用符号把ZFC公理系统中的命题写出来,并且讨论它的含义,这时他们讨论的是他们所写的符号所指向的那个他们观念中共同的东西,这就是他们对他们所写的那串符号的语义的解释。他们也可以只做口头的交流,尽管只使用模糊的自然语言,但他们仍然能够指向他们共同观念中的东西。
这样,人们本质上把观念上的数学还原为了形式上的数学。我们可以把“ZFC公理系统”本身作为观念上的数学命题的判定标准。假如这么做真的有效,那么人们就从根本上解决了“什么是数学”的问题:数学对象只是形式符号,要判断数学命题的真假只需在形式系统中判断该命题是否可证。
然而随着对逻辑系统的进一步研究,人们却不得不承认这一做法过于简单化了。首先,人们证明了连续统假设(一个集合论命题)不可能由ZFC公理推出,同时又证明了连续统假设的否定也不可能由ZFC公理推出。这说明,ZFC并不具有否定完全性(negation completeness)。如果我们要求我们的数学观念中每个命题都要有一个真或假,那么我们肯定不能把ZFC公理系统作为我们的基本观念。哥德尔进一步证明了,这种否定完全性的丧失是形式化方法本身的缺陷,任何表达能力到达一定水平的公理系统都注定会丧失否定完全性。这说明了两个问题。第一,人们目前对数学的根基是什么尚且是无知的。第二,就算我们找到了数学的根基,它也不可能被公理系统描述。或许我们必须承认,人类的语言是有局限性的,总有一部分数学真理超越了语言所能描述的范畴。当然,只用简单的自然语言是无法讨论清楚这个问题。我们必须要在下一节看到哥德尔不完全性定理的证明之后,才能对此有更深刻的理解。
参考文献
[1] H.-D. Ebbinghaus, J.Flum, W. Thomas: Mathematical Logic