數理邏輯 (2) 一階邏輯

上一篇: 命題邏輯

一階邏輯

命題邏輯雖結構簡單易於研究, 但應用範圍較窄, 例如含有量詞的古典三段論推理就沒法在其中得到表達. 一階邏輯在命題邏輯的基礎上引入謂詞和量詞, 讓我們可以對 “所有”, “存在” 這樣的詞語進行形式化分析.

在一階邏輯中, 變元僅僅指代個體, 量詞的控制範圍也僅限於個體, 這一點與討論 “(個體組成的)集合” 和 “(個體間的)關係” 的二階邏輯不同. 儘管二階邏輯的語言更豐富, 一階邏輯仍然在邏輯學中佔有主導地位. Lindström 定理表明: 一階邏輯是同時具有緊緻性和向下 Löwenheim-Skolem 性質的表達能力最強的邏輯系統.

語法

公式集

一階邏輯的形式語言 (謂詞演算) 包括如下符號:

  • 個體變元: x1,x2,x_1,x_2,\cdots, 用於表示取值可變的個體對象;
  • 個體常元: c1,c2,c_1,c_2,\cdots, 用於表示確定的個體對象;
  • 運算符: f11,f21,,f12,f^1_1,f^1_2,\cdots,f^2_1,\cdots, 用 finf^n_i 表示一個 nn 元運算;
  • 謂詞: R11,R21,,R12,R^1_1,R^1_2,\cdots,R^2_1,\cdots, 用 RinR^n_i 表示個體對象集上的一個 nn 元關係;
  • 命題聯結詞 ¬,\neg,\to;
  • 全稱量詞 \forall;
  • 左右括號, 逗號.

其中個體常元集和運算集都可為空集, 但謂詞集不能為空, 否則無法形成語句.

個體常元和個體變元分別對應於語言哲學中的專名 (proper name) 和變項 (variable), 前者有完全確定的指稱, 後者沒有指稱, 但在特定的域上可取不同的值. 一般地, (terms) 對應於自然語言中所有指示個體的名詞性成分, 在形式語言中, 項包括個體常元, 個體變元以及在兩者上進行有限次運算所得的結果.

把項集記作 TT, 則
  • 個體變元 xiTx_i\in T,
  • 個體常元 ciTc_i\in T,
  • t1,,tnTt_1,\cdots,t_n\in T, 則 fin(t1,,tn)Tf_i^n(t_1,\cdots,t_n)\in T,
  • 除此之外 TT 中沒有其他元素.
特別地, TT 中只含個體常元的項稱為閉項.

進而定義原子公式集:

Y=i,n({Rin}×Tn)Y=\bigcup_{i,n}\left(\lbrace R^n_i\rbrace\times T^n\right)

Y={(Rin,t1,,tn):RinR,t1,,tnT}Y=\lbrace(R^n_i,t_1,\cdots,t_n):R^n_i\in R,t_1,\cdots,t_n\in T\rbrace

其中 (Rin,t1,,tn)(R^n_i,t_1,\cdots,t_n) 一般寫作 Rin(t1,,tn)R^n_i(t_1,\cdots,t_n).

在謂詞演算中, 原子公式是用來表示命題的最小單位. 原子公式之於謂詞演算, 就如命題變元之於命題演算.

從原子公式出發, 謂詞演算公式的形成規則如下:
  • 每個原子公式是公式,
  • φ\varphi, ψ\psi 是公式, 則 ¬φ\neg\varphi, φψ\varphi\to\psi, xφ\forall x\varphi 也是公式,
  • 任一公式由前兩條規則使用有限次得到.

K(Y)K(Y) 表示所有謂詞演算公式構成的集. TT 是可數集, 故 YY 是可數集, 從而 K(Y)K(Y) 也是可數集.

命題聯結詞 \vee, \wedge, \leftrightarrow 的定義與命題演算相同:

φψ:=¬φψφψ:=¬(φ¬ψ)φψ:=(φq)(ψφ) \begin{align*} \varphi\vee\psi &:= \neg\varphi\to\psi \\ \varphi\wedge\psi &:= \neg(\varphi\to\neg\psi) \\ \varphi\leftrightarrow\psi &:= (\varphi\to q)\wedge(\psi\to\varphi) \end{align*}

存在量詞 \exists 定義為全稱量詞 \forall 的對偶:

xφ:=¬x¬φ\exists x\varphi:=\neg\forall x \neg\varphi

自由/約束出現

設公式 φK(Y)\varphi\in K(Y), 若 φ\varphi 的一部分形如 xψ\forall x\psi, 則稱 xψ\forall x\psix\forall x (這一出現) 的轄域 (scope). 個體變元 xx 的一次出現若不在量詞轄域中, 則稱它自由出現, 否則叫做約束出現. 至少一次自由出現的變元稱為自由變元, 否則稱約束變元. 一個公式若不含自由變元, 就叫做閉式 (或語句).

用項 tt 去替換公式 φ\varphi 中的自由出現的變元 xx, 若在替換後的公式裡 tt 的變元都是自由的, 則稱 “ttφ\varphixx 是自由的”. 換言之, 如果用 tt 替換 φ\varphi 中的自由變元 xx, 結果 tt 中某一變元 yy 落入原公式 y\forall y 的轄域內, 那麼原本不受約束的部分就會受到約束, 這種情況下 ttφ\varphixx 就是不自由 (不可替換) 的.

顯然在如下兩種情況下, ttφ\varphixx 是自由的:

  • tt 是閉項;
  • xx 不在 φ\varphi 中自由出現.

φtx\varphi^x_t 表示用項 tt 代換 φ\varphi 中所有自由出現的 xx.

謂詞演算

謂詞演算 KK 的定義方式與命題演算 LL 類似, 即在公式集 K(Y)K(Y) 上規定 “公理” 和 “證明”.

“公理” 定義為 K(Y)K(Y) 的具有如下形狀的公式:

  • (K1)\text{(K1)} φ(ψφ)\varphi\to(\psi\to \varphi),
  • (K2)\text{(K2)} (φ(ψγ))((φψ)(φγ))(\varphi\to (\psi\to\gamma))\to((\varphi\to\psi)\to(\varphi\to\gamma)),
  • (K3)\text{(K3)} (¬φ¬ψ)(ψφ)(\neg\varphi\to\neg\psi)\to(\psi\to\varphi),
  • (K4)\text{(K4)} xφφtx\forall x\varphi\to\varphi^x_t, 其中 ttφ\varphixx 是自由的,
  • (K5)\text{(K5)} x(φψ)(xφxψ)\forall x(\varphi\to\psi)\to(\forall x\varphi\to\forall x\psi).
  • (K6)\text{(K6)} φxφ\varphi\to\forall x\varphi, 其中 xx 不在 φ\varphi 中自由出現.

等詞 "\approx" 是一個特殊的二元謂詞, 用於表示 "相等" 的概念. 關於等詞有如下三條公理:
  • (E1)\text{(E1)} ttt\approx t,
  • (E2)\text{(E2)} tkuf(t1,,tk,,tn)f(t1,,u,,tn)t_k\approx u\to f(t_1,\cdots,t_k,\cdots,t_n)\approx f(t_1,\cdots,u,\cdots,t_n),
  • (E3)\text{(E3)} tku(R(t1,,tk,,tn)R(t1,,u,,tn))t_k\approx u\to (R(t_1,\cdots,t_k,\cdots,t_n)\to R(t_1,\cdots,u,\cdots,t_n)).
易見 "\approx" 具有自反性, 對稱性和傳遞性, 表明等詞不一定解釋為字面意義的 "相等", 但它表示的一定是一個等價關係.

“證明” 的定義與命題演算相同.

如果我們把 K(Y)K(Y) 的公式視為命題演算中用命題變元表示的簡單命題, 那麼謂詞演算 KK 可以很自然地看成是命題演算的擴張.

命題演算中的內定理可以照搬到謂詞演算, 只需用公式 φ1,,φnK(Y)\varphi_1,\cdots,\varphi_n\in K(Y) 代換原公式中的命題變元 x1,,xnx_1,\cdots,x_n 即可. 即

Lp(x1,,xn)Kp(φ1,,φn)\vdash_{L}\enspace p(x_1,\cdots,x_n)\enspace\Longrightarrow\enspace\vdash_{K}\enspace p(\varphi_1,\cdots,\varphi_n)

p(x1,x2,,xn)p(x_1,x_2,\cdots,x_n) 是命題演算中的重言式, 則代換後的 p(φ1,,φn)p(\varphi_1,\cdots,\varphi_n) 稱為一階意義的重言式. 這類重言式一定是 KK 的定理, 反之則不然.


謂詞演算的幾個常用的元定理:

  • 概括定理: 若 Γφ\Gamma\vdash\varphixx 不在 Γ\Gamma 的任何公式中自由出現, 則 Γxφ\Gamma\vdash\forall x\varphi.
  • 演繹定理: Γ,φψ\Gamma,\varphi\vdash\psi \Longleftrightarrow Γφψ\Gamma\vdash\varphi\to\psi.
  • 反證律: 若 Γ,¬φψ\Gamma,\neg\varphi\vdash\psiΓ,¬φ¬ψ\Gamma,\neg\varphi\vdash\neg\psi, 則 Γφ\Gamma\vdash\varphi.
  • 歸謬律: 若 Γ,φψ\Gamma,\varphi\vdash\psiΓ,φ¬ψ\Gamma,\varphi\vdash\neg\psi, 則 Γ¬φ\Gamma\vdash\neg\varphi.

概括定理有如下推論:

  • 推論1: 設 Γ,φψ\Gamma,\varphi\vdash\psi, xx 不在 Γ\Gammaψ\psi 中自由出現, 則有 Γ,xφψ\Gamma,\exists x\varphi\vdash\psi.
  • 推論2: 設 Γ,φψ\Gamma,\varphi\vdash\psi, xx 不在 Γ\Gamma 中自由出現, 則 Γ,xφxψ\Gamma,\forall x\varphi\vdash\forall x\psi. 特別地, 如果 φψ\vdash\varphi\to\psi, 則 xφxψ\vdash\forall x\varphi\to\forall x\psi.
  • 推論3: 設 Γ,φψ\Gamma,\varphi\vdash\psi, xx 不在 Γ\Gamma 中自由出現, 則 Γ,xφxψ\Gamma,\exists x\varphi\vdash\exists x\psi. 特別地, 如果 φψ\vdash\varphi\to\psi, 則 xφxψ\vdash\exists x\varphi\to\exists x\psi.

常元概括定理: 設 Γφ\Gamma\vdash\varphi, cc 是不在 Γ\Gamma 中出現的常元, 則存在不在 φ\varphi 中出現的變元 yy 使得 Γφyc\Gamma\vdash\varphi^c_y.

定理 (約束變元替換): 令 φ\varphi 為一公式, tt 為一個項, xx 為一個變元, 總可以找到一個公式 φ\varphi', 它和 φ\varphi 的差別僅在於約束變元, 使得:
  • φφ\varphi\vdash\varphi'φφ\varphi'\vdash\varphi, (稱 φ\varphiφ\varphi' 可證等價)
  • ttφ\varphi' 中的 xx 是自由 (可替換) 的.

用項 tt 替換 φ\varphi 中的自由變元 xx, 如果 tt 中某一變元 yy 落入原公式 y\forall y 的轄域內, 那麼任取不在 ttφ\varphi 中出現的變元 zz, 預先把 φ\varphi 中的約束變元 yy 替換為 zz 即可.

這種對約束變元的替換叫做易字, 稱 yφyx\forall y\varphi^x_yxφ\forall x\varphi易字式.

前束範式指形如 Q1x1QnxnφQ_1 x_1\cdots Q_n x_n\thinspace\varphi 的公式, 其中 QiQ_i\forall\exists, φ\varphi 是不含量詞的公式. 每一個公式都有與之等價的前束範式, 求出該前束範式的方法是反覆使用如下可證等價規則: (用 QQ^{\ast} 表示 QQ 的對偶)
  • ¬QxφQx¬φ\vdash\neg Qx\varphi\leftrightarrow Q^{\ast}x\neg\varphi,
  • (φQxψ)Qx(φψ)\vdash(\varphi\to Qx\psi)\leftrightarrow Qx(\varphi\to\psi), 假定 xx 不在 φ\varphi 中自由出現,
  • (Qxφψ)Qx(φψ)\vdash(Qx\varphi\to\psi)\leftrightarrow Q^{\ast}x(\varphi\to\psi), 假定 xx 不在 ψ\psi 中自由出現,
  • QxφQyφyx\vdash Qx\varphi\leftrightarrow Qy\varphi^x_y, 假定 yy 不在 φ\varphi 中出現.
n>0n>0, 若前束範式是由全稱量詞開始, 從左至右改變 n1n-1 次詞性, 則叫做 Πn\Pi_n 型前束範式; 若由存在量詞開始, 從左至右改變 n1n-1 次詞性, 則叫做 Σn\Sigma_n 型前束範式.

語義

模型與解釋

要討論謂詞演算的語義, 我們必須解釋系統中每一個符號的意義, 即挑選一個外部的數學 “結構” 來符合這種語言的陳述, 使其中的謂詞, 函數和項有所指稱. 這點與命題邏輯有很大差別, 因為命題邏輯中的簡單命題只帶有抽象的真值, 一般不會具體地用來描述某個數學結構.

謂詞演算的一個模型是一個有序對 A=A,I\mathfrak{A}=\langle A,I\rangle, 其中 AA 是一個非空集 (稱為 A\mathfrak{A}論域), II 是一個解釋函數, 滿足:

  1. KK 的每個個體常元 cc, I(c)I(c) (記作 cAc^{\mathfrak{A}}) 是 AA 的元素,
  2. KK 的每個 nn 元運算符 ff, I(f)I(f) (記作 fAf^{\mathfrak{A}}) 是 AA 上的 nn 元運算.
  3. KK 的每個 nn 元謂詞 RR, I(R)I(R) (記作 RAR^{\mathfrak{A}}) 是 AA 上的 nn 元關係.

論域是帶有特定內部結構的集合, 其結構與謂詞演算的語法結構具有一定對應性, 但集合內部的性質不一定都能被一階語言 “捕捉”.


要討論 KK 中公式的真假, 除了給定模型, 還需確定個體變元的取值.

A\mathfrak{A}KK 的一個模型, 定義 A\mathfrak{A} 上的一個變元賦值為個體變元到論域 AA 的映射 s:XAs:X\to A. 隨後遞歸地把 ss 擴張到項集 TT 上, 得到項解釋 s:TA\overline{s}:T\to A 滿足:

  • s(x)=s(x)\overline{s}(x)=s(x),
  • s(c)=cA\overline{s}(c)=c^{\mathfrak{A}},
  • s(f(t1,,tn))=fA(s(t1),,s(tn))\overline{s}(f(t_1,\cdots,t_n))=f^{\mathfrak{A}}\left(\overline{s}(t_1),\cdots,\overline{s}(t_n)\right). (保運算性)
ss 為模型 A\mathfrak{A} 上的一個變元賦值, 給定 aAa\in A, 若變元賦值 ss' 滿足:
  1. s(x)=as'(x)=a,
  2. yxy\not=x \Longrightarrow s(y)=s(y)s'(y)=s(y),
則稱 ss'ssxx-變通, 記作 saxs^x_a. 項變通的概念將用於對含量詞公式的解釋.

公式的賦值函數

A\mathfrak{A} 是給定的模型, φ\varphiKK 中任一公式, 歸納定義真值 φ|\varphi| 如下:

對任一變元賦值 ss,
  1. φ\varphi 為原子公式 R(t1,,tn)R(t_1,\cdots,t_n) 時, 令
  2. φ(s)={1,if(s(t1),,s(tn))RA,0,if(s(t1),,s(tn))RA; |\varphi|(s)=\begin{cases} 1,&\text{if}\enspace\left(\overline{s}(t_1),\cdots,\overline{s}(t_n)\right)\in R^\mathfrak{A},\\ 0,&\text{if}\enspace\left(\overline{s}(t_1),\cdots,\overline{s}(t_n)\right)\notin R^\mathfrak{A}; \end{cases}
  3. φ=¬ψ\varphi=\neg\psiφ=ψγ\varphi=\psi\to\gamma 時, 分別令 (真值函數 ¬\neg\to 的定義見命題邏輯)
  4. ¬ψ(s)=¬ψ(s),ψγ(s)=ψ(s)γ(s); \begin{align*} |\neg\psi|(s)&=\neg|\psi|(s), \\ |\psi\to\gamma|(s)&=|\psi|(s)\to|\gamma|(s); \end{align*}
  5. φ=xψ\varphi=\forall x\psi 時, 若 ss 的任一 xx-變通 ss' 都使 φ(s)=1|\varphi|(s')=1, 則 xψ(s)=1|\forall x\psi|(s)=1; 如若不然, 則 xψ(s)=0|\forall x\psi|(s)=0.

φ(s)=1|\varphi|(s)=1, 我們寫 (A,s)φ(\mathfrak{A},s)\vDash\varphi, 表示該公式在特定模型的特定賦值下為真, 讀作 A\mathfrak{A}ss 滿足 φ\varphi.

這裡定義的語義是一階真值理論的核心, 一般稱為基本語義定義 (basic semantic definition, BSD), 最早由 Tarski 提出, 故又稱為 Tarski 真理定義. (有意思的是, Tarski 還證明了 “真之不可定義性”, 這兩個成果中 “定義” 一詞的含義是不同的. )

語義後承和有效式

合同引理: 設 φ\varphi 為任意公式, ssss' 分別為模型 A=A,I\mathfrak{A}=\langle A,I\rangleA=A,I\mathfrak{A}'=\langle A,I'\rangle 上的兩個賦值, 使得 φ\varphi 中出現的常元符號, 函數符號和關係符號對應相等, 且 φ\varphi 中所有自由出現的變元取值均相同, 則 (A,s)φ(\mathfrak{A},s)\vDash\varphi \Longleftrightarrow (A,s)φ(\mathfrak{A}',s')\vDash\varphi.

Γ\Gamma 為一公式集, φ\varphi 為一公式, 若任何一對滿足 Γ\Gamma(A,s)(\mathfrak{A},s) 都滿足 φ\varphi, 則稱 φ\varphiΓ\Gamma語義後承, 記作 Γφ\Gamma\vDash\varphi. 特別地, 如果 φ\emptyset\vDash\varphi, 就稱 φ\varphi 是有效式, 記作 φ\vDash\varphi; 若 ¬φ\neg\varphi 不是有效式, 則稱 φ\varphi 是可滿足公式.
KK 中的 (一階) 重言式都是有效式. 特別地, (K1)\text{(K1)}, (K2)\text{(K2)}, (K3)\text{(K3)} 三種模式的公理都是有效式.

如果 φψ\varphi\vDash\psiψφ\psi\vDash\varphi, 則稱 φ\varphiψ\psi 語義等價. 顯然有 φψ\varphi\vDash\psi \Longleftrightarrow φψ\vDash\varphi\to\psi, 故 φ\varphiψ\psi 語義等價當且僅當 φψ\vDash\varphi\leftrightarrow\psi.

閉式中沒有自由出現的變元, 由合同引理知, 模型 A\mathfrak{A} 一旦確定, 閉式的真值就與特定賦值無關. 故任一閉式 φ\varphiA\mathfrak{A} 中恆真或恆假二者必居其一.

Γ\Gamma 為一公式集, 若存在一模型 A\mathfrak{A}, 對於 A\mathfrak{A} 上的任意賦值 ss 和任意公式 φΓ\varphi\in\Gamma 都有 (A,s)φ(\mathfrak{A},s)\vDash\varphi, 則稱 A\mathfrak{A} 滿足 Γ\Gamma, 或 A\mathfrak{A}Γ\Gamma 的一個模型, 記作 AΓ\mathfrak{A}\vDash\Gamma. 特別地, 當 Γ={φ}\Gamma=\lbrace\varphi\rbrace 時, 我們簡寫為 Aφ\mathfrak{A}\vDash\varphi, 並稱 A\mathfrak{A}φ\varphi 的模型. 若 φ\varphi 是閉式, 則 Aφ\mathfrak{A}\vDash\varphiAφ\mathfrak{A}\nvDash\varphi 二者必居其一.

容易看出, Aφ\mathfrak{A}\vDash\varphi \Longleftrightarrow Axφ\mathfrak{A}\vDash\forall x\varphi. 設 x1,,xnx_1,\cdots,x_nφ\varphi 中所有自由出現的變元, 我們稱 x1xnφ\forall x_1\cdots\forall x_n\thinspace\varphiφ\varphi全稱閉式. 設 φ\varphi 的全稱閉式為 φ\varphi', 則 Aφ\mathfrak{A}\vDash\varphi \Longleftrightarrow Aφ\mathfrak{A}\vDash\varphi'.

關於語義後承有如下兩條命題:

  • Γφ\Gamma\vDash\varphi 且變元 xx 不在 Γ\Gamma 中自由出現, 則 Γxφ\Gamma\vDash\forall x\varphi. 特別地, 若 φ\vDash\varphi, 則 xφ\vDash\forall x\varphi.
  • Γ,φψ\Gamma,\varphi\vDash\psixx 不在 Γ\Gammaφ\varphi 中自由出現, 則 Γ,xφψ\Gamma,\exists x\varphi\vDash\psi.

易見這兩條命題與語法推演中的概括定理的相似性.

理論與模型

稱形式語言中對語義後承封閉的閉公式集為一個理論. 如果一個理論 Σ\Sigma 是可滿足的, 就必存在模型 A\mathfrak{A} 使得 AΣ\mathfrak{A}\vDash\Sigma. 把滿足 Σ\Sigma 的模型稱為 Σ\Sigma 的模型.

給定一個語言, 對於一個理論 Σ\Sigma, 用 Mod Σ\text{Mod }\Sigma 來表示由 Σ\Sigma 的模型組成的類, 稱結構類 K\mathcal{K} 為一個初等類 (EC\text{EC}), 如果存在閉式 τ\tau 使得 K=Mod τ\mathcal{K}=\text{Mod }\tau. 稱 K\mathcal{K} 為一個廣義初等類 (ECΔ\text{EC}_{\Delta}), 如果存在閉公式集 Σ\Sigma 使得 K=Mod Σ\mathcal{K}=\text{Mod }\Sigma.

取語言 L={,P}\mathcal{L}=\lbrace\approx,P\rbrace, 令 τ\tau 為如下3個閉式的合取: xyz(xPyyPzxPz)xy(xPyxyyPx)xy(xPy¬yPx) \begin{align*} \forall x\forall y\forall z &(xPy\to yPz\to xPz) \\ \forall x\forall y &(xPy\vee x\approx y\vee yPx) \\ \forall x\forall y &(xPy\to\neg yPx) \end{align*} 則初等類 K=Mod τ\mathcal{K}=\text{Mod }\tau 為所有嚴格線序集構成的類.

同構模型

給定一個語言 LL, 設 A=A,I\mathfrak{A}=\langle A,I\rangleB=B,J\mathfrak{B}=\langle B,J\rangle 是兩個模型. 從 AABB 的函數 ffA\mathfrak{A}B\mathfrak{B}同構映射當且僅當 ff 是雙射, 且滿足:

  • LL 的任意 nn 元謂詞 RR 及任意 a1,,anAa_1,\cdots,a_n\in A,
RA(a1,,an)RB(f(a1),,f(an))R^{\mathfrak{A}}(a_1,\cdots,a_n)\Longleftrightarrow R^{\mathfrak{B}}\left(f(a_1),\cdots,f(a_n)\right)
  • LL 的任意 nn 元函數符 gg 及任意 a1,,anAa_1,\cdots,a_n\in A,
f(gA(a1,,an))=gB(f(a1),,f(an))f(g^{\mathfrak{A}}(a_1,\cdots,a_n)) = g^{\mathfrak{B}}\left(f(a_1),\cdots,f(a_n)\right)
  • LL 的個體常元 cc, f(cA)=cBf(c^{\mathfrak{A}})=c^{\mathfrak{B}}.
A\mathfrak{A}B\mathfrak{B} 同構記作 AB\mathfrak{A}\cong\mathfrak{B}, 顯然 \cong 是個等價關係.

LL 上的兩個模型 A\mathfrak{A}B\mathfrak{B}初等等價的, 記作 AB\mathfrak{A}\equiv\mathfrak{B}, 如果 Aφ\mathfrak{A}\vDash\varphi \Longleftrightarrow Bφ\mathfrak{B}\vDash\varphi. 若 A\mathfrak{A}B\mathfrak{B} 同構, 則顯然 A\mathfrak{A}B\mathfrak{B} 是初等等價的, 反之不然. 進而若 A\mathfrak{A}B\mathfrak{B} 同構, 則對每個理論 Σ\SigmaAΣ\mathfrak{A}\vDash\Sigma \Longleftrightarrow BΣ\mathfrak{B}\vDash\Sigma.


一般地, 任何理論只要有模型, 就必然有與之同構的另一模型, 同構的兩個模型在我們的語言下無法區別 (或者說, 同構的兩個結構就是同一結構). 所以在討論不同模型時, 我們一般只關心同構意義下的 “不同”.

能否在一個理論中添加足夠多的公式, 使其模型在同構意義下是唯一的? 這個問題取決於使用我們的語言能在多大程度上對一個結構做出精細刻畫, 在本質上即是語言表達力的問題.

固定一個語言和其上的一個模型 A\mathfrak{A}, 我們把 {φ:Aφ}\lbrace\varphi:\mathfrak{A}\vDash\varphi\rbrace 記作 Th A\text{Th }\mathfrak{A}, 稱為 A\mathfrak{A} 的完全理論. 上面的問題於是轉化為: Th A\text{Th }\mathfrak{A} 是否有與 A\mathfrak{A} 不同構的模型?

N=N,I\mathfrak{N}=\langle\mathbb{N},I\rangle 為標準算術模型, 設二元謂詞 RRN\mathfrak{N} 中解釋為 <<. 下文將用緊緻性定理證明一階理論 Th N\text{Th }\mathfrak{N} 存在不同構於 N\mathfrak{N} 的非標準模型 A\mathfrak{A}. 用 \prec 表示 RAR^{\mathfrak{A}}, 則 A\mathfrak{A} 與標準模型的不同之處在於 A\mathfrak{A}\prec-無窮升鏈之後有無窮大元素, 其形象為: a0a1a2ba_0\prec a_1\prec a_2\prec\cdots\prec b. 一階語言中不存在公式集可排除這種情況, 因為假如存在這樣的公式集 Γ\Gamma, 就有 NΓ\mathfrak{N}\vDash\Gamma, 故 ΓTh N\Gamma\subseteq\text{Th }\mathfrak{N}, 從而對非標準模型 A\mathfrak{A} 也有 AΓ\mathfrak{A}\vDash\Gamma, 矛盾. 這表明, N\mathfrak{N}A\mathfrak{A} 的差別是一階語言不能表達的.

可定義性

固定一個語言 LLLL 上的一個模型 A\mathfrak{A}, 假定 x1,,xnx_1,\cdots,x_n 是公式 φL\varphi\in L 中所有自由出現的變元, a1,,anAa_1,\cdots,a_n\in\mathfrak{A}, 我們用 Aφ[a1,,an]\mathfrak{A}\vDash\varphi\left[a_1,\cdots,a_n\right] 表示: 存在項解釋 ss 使得 s(xi)=ais(x_i)=a_i(A,s)φ(\mathfrak{A},s)\vDash\varphi.

進而, 我們稱 nn 元關係

{(a1,,an):Aφ[a1,,an]}\left\{(a_1,\cdots,a_n):\mathfrak{A}\vDash\varphi\left[a_1,\cdots,a_n\right]\right\}

是公式 φ\varphiA\mathfrak{A}定義的關係. 若 A\mathfrak{A} 中的 nn 元關係 RR 可被某公式 φ\varphi 定義, 則稱 RR可定義的. 可定義的一元關係稱為可定義集. 易見, 同構映射保持可定義性.

模型 A\mathfrak{A} 上的一個自同構就是 A\mathfrak{A}A\mathfrak{A} 自身的一個同構. 設 f:AAf:\mathfrak{A}\to \mathfrak{A} 是一個自同構, RRA\mathfrak{A} 上的一個可定義的 nn 元關係, 則對任意 a1,,anAa_1,\cdots,a_n\in A 都有

(a1,,an)R(f(a1),,f(an))R(a_1,\cdots,a_n)\in R\Longleftrightarrow(f(a_1),\cdots,f(a_n))\in R

這個結果經常被用來證明某些關係的不可定義性.

例如, 考慮由全體實數和其上的自然序組成的結構 R,<\langle\mathbb{R},<\rangle. 設 f:RRf:\mathbb{R}\to\mathbb{R}f(x)=x3f(x)=\sqrt[3]{x}, 則 ff 是該結構的一個自同構. 據此可證明自然數集 N\mathbb{N} 在該結構上是不可定義的: 假設公式 φ\varphi 在該結構上定義了一元關係 NN, 那麼對自然數 n>1n>1, 若 nNn\in N 則必有 f(n)=n3Nf(n)=\sqrt[3]{n}\in N, 因此 NNN\not=\mathbb{N}.

再比如, 加法函數的圖像 {(m,n,p):p=m+n}\lbrace(m,n,p):p=m+n\rbrace 在結構 N,\langle\mathbb{N},\cdot\rangle 中不可定義. 我們只需令 f:NNf:\mathbb{N}\to\mathbb{N}: f(x)={2b3a,ifx=2a3bx,if2x,3x f(x)=\begin{cases} 2^b \cdot 3^a ,&\text{if}\enspace x=2^a \cdot 3^b\\ x,&\text{if}\enspace 2\nmid x,\thinspace 3\nmid x \end{cases} 由唯一分解定理知 ff 是一個雙射, 故 ff 定義了 N\mathbb{N} 上的一個自同構. 如果有一個公式 φ\varphi 定義了關係 R={(m,n,p):p=m+n}R=\left\{(m,n,p):p=m+n\right\}, 則由 (1,2,3)R(1,2,3)\in R 可以推出 (f(1),f(2),f(3))=(1,3,2)R(f(1),f(2),f(3))=(1,3,2)\in R, 矛盾.

可靠性和完備性

可靠性

可靠性定理: ΓφΓφ\Gamma\vdash\varphi\Longrightarrow\Gamma\vDash\varphi.

證明類似命題邏輯, 驗證 (K1)\text{(K1)} ~ (K5)\text{(K5)} 型公理的有效性, 然後歸納法.

推論: KK 是一致的, 即對任意公式 φ\varphi, φ\vdash\varphi¬φ\vdash\neg\varphi 不同時成立.

證明: 如若不然, 則由可靠性定理就會有 φ\vDash\varphi¬φ\vDash\neg\varphi 同時成立, 而這是不可能的. \square

類似地可以證明: 若公式集 Γ\Gamma 可滿足, 則 Γ\Gamma 必是一致的.

完全性

完全性定理: ΓφΓφ\Gamma\vDash\varphi\Longrightarrow\Gamma\vdash\varphi, 即 KK 的有效式一定是 KK 的定理.

完全性定理有如下等價形式:

  • 每個一致的公式集都是可滿足的.

下面先證明這個等價形式, 然後再從中推出完全性定理. (這裡只考慮可數語言)


先給出三個定義:

  • 公式集 Γ\Gamma 稱為極大一致的, 當且僅當 Γ\Gamma 是一致的, 且對任意公式 φ\varphi, φΓ\varphi\in\Gamma¬φΓ\neg\varphi\in\Gamma. 顯然, 極大一致集對演繹封閉, 即 Γφ\Gamma\vdash\varphi \Longleftrightarrow φΓ\varphi\in\Gamma.
  • ¬xφΓ\neg\forall x\varphi\in\Gamma, ¬xφ\neg\forall x\varphiΓ\Gamma 中有見證當且僅當存在項 tt 使得 ¬φtxΓ\neg\varphi^x_t\in\Gamma. Γ\Gamma見證健全集當且僅當每個 ¬xφΓ\neg\forall x\varphi\in\GammaΓ\Gamma 中都有見證.
  • 公式集 Γ\Gamma 稱為 Henkin 集, 當且僅當 Γ\Gamma 是見證健全的極大一致集. 若 Γ\Gamma 是 Henkin 集, 則對任何全稱公式 xφ\forall x\varphi, xφΓ\forall x\varphi\in\Gamma \Longleftrightarrow 對每個項 tt 都有 φtxΓ\varphi^x_t\in\Gamma.

首先作擴大的謂詞演算 K+K^{+}: 向 KK 中添加可數個新常元 d0,d1,d2,d_0,d_1,d_2,\cdots, 其他不變, 則 K+KK^{+}\supsetneq K, 且 K+K^{+} 仍是可數語言. K+K^{+} 的項集記作 T+T^{+}.

Γ\Gamma 為一致的 KK 公式集, 並令 x0φ0,x1φ1,\forall x_0\varphi_0,\forall x_1\varphi_1,\cdots 為所有形如 xφ\forall x\varphiK+K^{+} 公式. 由於 ΓK\Gamma\subset K, 所以新常元 d0,d1,d_0,d_1,\cdots 都不在 Γ\Gamma 中出現. 定義一個新常元的序列 c0,c1,c_0,c_1,\cdots, 其中 ckc_k 為按照 d0,d1,d_0,d_1,\cdots 排在最前面的滿足如下條件的常元:

  • ckc_k 不在 x0φ0,,xkφk\forall x_0\varphi_0,\cdots,\forall x_k\varphi_k 中出現,
  • ck{c0,,ck1}c_k\notin\lbrace c_0,\cdots,c_{k-1}\rbrace.

記公式 γk=φckxkxkφk\gamma_k=\varphi^{x_k}_{c_k}\to\forall x_k\varphi_k, 令 K+K^{+} 公式集 Γ=Γ{γ0,γ1,}\Gamma'=\Gamma\cup\lbrace\gamma_0,\gamma_1,\cdots\rbrace. 若 Γ\Gamma' 不一致, 則存在最小的 mm 使得 Γm=Γ{γ0,,γm}\Gamma_m=\Gamma\cup\lbrace\gamma_0,\cdots,\gamma_m\rbrace 是不一致的, 所以 Γm1\Gamma_{m-1}γm\gamma_m 不一致, 即 Γm1\Gamma_{m-1}¬φckxk\neg\varphi^{x_k}_{c_k} 一致但與 ¬xkφk\neg\forall x_k\varphi_k 一致, 與常元概括定理矛盾. 故 Γ\Gamma' 是一致公式集.

K+K^{+} 的公式排成不重複的一列: φ0,φ1,\varphi_0,\varphi_1,\cdots, 按如下方式遞歸定義公式集序列:

  • Γ0=Γ\Gamma_0=\Gamma',
  • Γk+1=Γk{φk}\Gamma_{k+1}=\Gamma_k\cup\lbrace\varphi_k\rbrace, 若 Γk\Gamma_kφk\varphi_k 一致,
  • Γk+1=Γk{¬φk}\Gamma_{k+1}=\Gamma_k\cup\lbrace\neg\varphi_k\rbrace, 若 Γk\Gamma_kφk\varphi_k 不一致.

Γ+=k0Γk\Gamma^{+}=\bigcup_{k\ge0}\Gamma_k, 顯然 Γ+\Gamma^{+}K+K^{+} 的極大一致集.

Γ\Gamma' 的定義知, 對 K+K^{+} 的所有全稱公式 xφ\forall x\varphi, 必有相應的公式 φcxxφΓ+\varphi^x_c\to\forall x\varphi\in\Gamma^{+} (稱為 Henkin 公式, 本質上是通過引入常元來消去量詞), 從而如果 ¬xφΓ+\neg\forall x\varphi\in\Gamma^{+} 就有 ¬φcxΓ+\neg\varphi^x_c\in\Gamma^{+}. 即 ¬xφ\neg\forall x\varphiΓ+\Gamma^{+} 有見證. 所以 Γ+\Gamma^{+} 是 Henkin 集.


對於不含等詞的謂詞演算, 我們的準備工作已經完成, 可以直接在 K+K^{+} 的項集 T+T^{+} 上定義模型 A\mathfrak{A}:

  • cA=cc^{\mathfrak{A}}=c, fA=ff^{\mathfrak{A}}=f,
  • (t1,,tn)RA(t_1,\cdots,t_n)\in R^{\mathfrak{A}} \Longleftrightarrow R(t1,,tn)Γ+R(t_1,\cdots,t_n)\in\Gamma^{+}.

然而, 如果系統中含有等詞, 那就必須考慮如下情況: 設 φ=¬(xd)\varphi=\neg(x\approx d), 我們在添加公式時加入了 ¬(cd)x¬(xd)\neg(c\approx d)\to\forall x\neg(x\approx d)ccdd 是兩個不同的常元, 那麼 ¬xφ\neg\forall x\varphi 的見證將是 cdΓ+c\approx d\in\Gamma^{+}, 但在模型中卻沒有 c=dc=d. 一般而言我們要求等詞解釋為字面意義的 “相等”, 這樣就出現了問題, 解決方法一般是考慮等價類.

對任意 Henkin 集 Γ+\Gamma^{+}, 定義 K+K^{+} 項集上的等價關係 Γ\simeq_{\Gamma}: tΓtt\simeq_{\Gamma}t \Longleftrightarrow stΓ+s\approx t\in\Gamma^{+}. 考慮商集 AΓ=T+/Γ={[t]:tT+}A_{\Gamma}={T^{+}}/{\simeq_{\Gamma}}=\left\lbrace [t]:t\in T^{+}\right\rbrace, 定義模型 AΓ=AΓ,IΓ\mathfrak{A}_{\Gamma}=\langle A_{\Gamma},I_{\Gamma}\rangle 如下:
  • 對每個個體常元 cc, cAΓ=[c]c^{\mathfrak{A}_{\Gamma}}=[c],
  • fAΓ([t1],,[tn])=[f(t1,,tn)]f^{\mathfrak{A}_{\Gamma}}\left([t_1],\cdots,[t_n]\right)=[f(t_1,\cdots,t_n)],
  • ([t1],,[tn])RAΓ\left([t_1],\cdots,[t_n]\right)\in R^{\mathfrak{A}_{\Gamma}} \Longleftrightarrow R(t1,,tn)Γ+R(t_1,\cdots,t_n)\in\Gamma^{+}.
定義 AΓ\mathfrak{A}_{\Gamma} 上的賦值函數 sΓ(x)=[x]s_{\Gamma}(x)=[x], 則對任意項 tt, sΓ(t)=[t]\overline{s_{\Gamma}}(t)=[t].

容易驗證, φΓ+\varphi\in\Gamma^{+} \Longleftrightarrow (AΓ,sΓ)φ(\mathfrak{A}_{\Gamma},s_{\Gamma})\vDash\varphi, 從而 (AΓ,sΓ)Γ+(\mathfrak{A}_{\Gamma},s_{\Gamma})\vDash\Gamma^{+}.

此處處理全稱公式時用到了見證健全集的性質: xφΓ\forall x\varphi\in\Gamma \Longleftrightarrow 對每個項 tt 都有 φtxΓ\varphi^x_t\in\Gamma.

(AΓ,sΓ)(\mathfrak{A}_{\Gamma},s_{\Gamma}) 限制在擴張前的語言 KK 上, 就得到所需的模型, 由此可知, 每個一致公式集都可滿足. \square


由這個等價形式, 我們立即能證明 KK 的完全性: ΓpΓp\Gamma\vDash p\Longrightarrow\Gamma\vdash p.

證明: 反設 Γφ\Gamma\nvdash\varphi, 則 Γ{¬φ}\Gamma\cup\lbrace\neg\varphi\rbrace 是一致的, 所以公式集 Γ{¬φ}\Gamma\cup\lbrace\neg\varphi\rbrace 可滿足, 從而 Γφ\Gamma\nvDash\varphi, 與假設矛盾. \square
KK 的可靠性和完全性統稱為 KK 的 Gödel 完備性定理: ΓφΓφ\Gamma\vDash\varphi\Longleftrightarrow\Gamma\vdash\varphi. 該定理指出了 KK 的語義和語法的一致性.

緊緻性定理

類似命題演算, 在謂詞演算中也有如下緊緻性定理:
  1. Γ\Gamma 的所有有窮子集 Δ\Delta 都可滿足, 則 Γ\Gamma 可滿足.
  2. Γφ\Gamma\vDash\varphi, 則存在 Γ\Gamma 的某個有窮子集 Δ\Delta 使得 Δφ\Delta\vDash\varphi.

證明:

  1. Γ\Gamma 的所有有窮子集都可滿足, 則 Γ\Gamma 的所有有窮子集都是一致的, 從而 Γ\Gamma 也是一致的, Γ\Gamma 可滿足.
  2. 反設對 Γ\Gamma 的任何有窮子集 Δ\Delta 都有 Δφ\Delta\nvDash\varphi, 即 Δ{¬φ}\Delta\cup\lbrace\neg\varphi\rbrace 都可滿足, 則由(1)知 Γ{¬φ}\Gamma\cup\lbrace\neg\varphi\rbrace 可滿足, 從而 Γφ\Gamma\nvDash\varphi. \square

下面是緊緻性定理的一些應用.


命題: 設 Σ\Sigma 是任何理論, 如果 Σ\Sigma 有任意大有窮模型, 那麼 Σ\Sigma 有無窮模型.

證明: 在 Σ\Sigma 的語言 LL 中添加新常元 c0,c1,c_0,c_1,\cdots 得到語言 LL'. 令 Θ=ΣΠ\Theta=\Sigma\cup\Pi, 其中 Π={ci≉cj:ij}\Pi=\lbrace c_i\not\approx c_j:i\not=j\rbrace. 由於 Σ\Sigma 有任意大有窮模型, 所以對任意 n>0n>0, ΣΔn\Sigma\cup\Delta_n 都是可滿足的, 其中 Δn={ci≉cj:i,jn,ij}\Delta_n=\lbrace c_i\not\approx c_j:i,j\le n,i\not=j\rbrace, 故由緊緻性定理, Θ\Theta 可滿足. 從而 Θ\ThetaLL'-模型 A\mathfrak{A}, 由於 AΠ\mathfrak{A}\vDash\Pi, 顯然 A\mathfrak{A} 是無窮模型. 把 A\mathfrak{A} 限制在 LL 中可得 Σ\Sigma 的無窮模型. \square

推論: 固定一個帶等詞的一階語言 LL, LL 上所有有窮結構構成的類不是廣義初等類 (無窮結構不能被閉公式集排除); LL 上所有無窮結構構成的類不是初等類 (單個閉式不能排除有窮結構, 但可以用一個無窮閉公式集做到).


N=N,I\mathfrak{N}=\langle\mathbb{N},I\rangle 為自然數標準模型, II 將語言 LL 中的非邏輯符號解釋為自然數集上的性質和關係 (其中包括小於關係) 等.

命題: Th N\text{Th }\mathfrak{N} 有與 N\mathfrak{N} 不同構的模型.

證明: 在 LL 中添加新常元 d,c0,c1,d,c_0,c_1,\cdots 得到語言 LL'. 令 Σ=Th NΠ\Sigma=\text{Th }\mathfrak{N}\cup\Pi, 其中 Π={Rcicj:i<j}{Rcid:0i}\Pi=\lbrace Rc_i c_j:i<j\rbrace\cup\lbrace Rc_i d:0\le i\rbrace, RRN\mathfrak{N} 中解釋為 <<. 對於 Th NΔn\text{Th }\mathfrak{N}\cup\Delta_n, 其中 Δn={Rcicj:i<jn}{Rcid:0in}\Delta_n=\lbrace Rc_i c_j:i<j\le n\rbrace\cup\lbrace Rc_i d:0\le i\le n\rbrace, 考慮 Nn=N,In\mathfrak{N}_n=\langle\mathbb{N},I_n\rangle 為如下模型: 對 LL 的每個非邏輯符號 XX, 令 XNn=XNX^{\mathfrak{N}_n}=X^{\mathfrak{N}}, 對常元 ckc_k, 令 ckNn=kc_k^{\mathfrak{N}_n}=k, 對常元 dd, 令 dN=n+1d^{\mathfrak{N}}=n+1, 則 Nn\mathfrak{N}_n 限制在 LL 上即為 N\mathfrak{N}, 故 NnTh N\mathfrak{N}_n\vDash\text{Th }\mathfrak{N} 且顯然有 NnΔn\mathfrak{N}_n\vDash\Delta_n, 所以 Th NΔn\text{Th }\mathfrak{N}\cup\Delta_n 可滿足, 從而 Σ\Sigma 有模型 A\mathfrak{A}. 設 RAR^{\mathfrak{A}}A\mathfrak{A} 上的二元關係 \prec, ckA=akc_k^{\mathfrak{A}}=a_k, dA=bd^{\mathfrak{A}}=b, 則有 a0a1a2ba_0\prec a_1\prec a_2\prec\cdots\prec b, 把 A\mathfrak{A} 限制在 LL 上即為要求的非標準模型.

下面證明 A\mathfrak{A}N\mathfrak{N} 不同構. 反設存在同構映射 f:ANf:A\to\mathbb{N} (AA, N\mathbb{N} 分別為兩模型的論域), 並設 f(b)=nf(b)=n. 我們有 a0a1a2a_0\prec a_1\prec a_2\prec\cdots, 故 f(a0)<f(a1)<f(a_0)<f(a_1)<\cdots, 從而 f(ak+1)>kf(a_{k+1})>k. 考慮 f(an+1)f(a_{n+1}), 我們有 f(an+1)>n=f(b)f(a_{n+1})>n=f(b), 但 an+1ba_{n+1}\prec b, 矛盾. 所以 A\mathfrak{A}N\mathfrak{N} 不同構. \square

一個實際例子是, 如果我們把 Gödel 句子的否定作為公理放進形式算術系統, 這樣得到的理論 (它也是一致的) 就只有非標準模型.

一階 Peano 算術包含如下歸納公理:

φ(0)x(φ(x)φ(x))xφ(x)\varphi(0)\to\forall x(\varphi(x)\to\varphi(x'))\to\forall x\varphi(x), 其中 xx' 表示 xx 的後繼.

這實質上是一條公理模式, 取不同的 φ\varphi 可產生無窮多條公理. 由於一階語言不能量化謂詞, 所以必須使用無窮多條公理來逼近數學歸納原理, 但與本義的歸納原理仍有差距, 這正是出現非標準模型的原因.

在二階語言中, Peano 算術的公理如下:

  • x(x≉0)\forall x(x'\not\approx0),
  • xy(xyxy)\forall x\forall y(x'\approx y'\to x\approx y),
  • P(P(0)x(P(x)P(x))xP(x))\forall P(P(0)\to\forall x(P(x)\to P(x'))\to\forall x P(x)).

二階 Peano 公理的模型在同構意義下唯一.

應用

使用一階邏輯的語言, 我們很容易把日常語言或數學中的一些存在性和概括性命題翻譯成公式. 通過引入等詞 “\approx”, 我們還能進一步限定對象的具體數量.

採用等詞, “至少有 nn 個對象” 就可表示為:

x1xn(1k<n(k<inxk≉xi))\exists x_1\cdots\exists x_n\left(\bigwedge_{1\leq k<n}\left(\bigwedge_{k<i\leq n}x_k\not\approx x_i\right)\right)

“至多有 nn 個對象” 等價於 “任何 n+1n+1 個對象必有重合”:

x1xn+1(1k<n(k<inxkxi))\forall x_1\cdots\forall x_{n+1}\left(\bigvee_{1\leq k<n}\left(\bigvee_{k<i\leq n}x_k\approx x_i\right)\right)

“恰好有 nn 個對象” 則是把上述兩式結合:

x1xn[(1k<n(k<inxk≉xi))xn+1(1knxkxn+1)]\exists x_1\cdots\exists x_n\left[\left(\bigwedge_{1\leq k<n}\left(\bigwedge_{k<i\leq n}x_k\not\approx x_i\right)\right)\wedge\forall x_{n+1}\left(\bigvee_{1\leq k\leq n}x_k\approx x_{n+1}\right)\right]

φ\varphiψ\psi 是一元謂詞, “至少 nnφ\varphiψ\psi” 可表示為:

x1xn[(1k<n(k<inxk≉xi))(1kn(φ(xk)ψ(xk)))]\exists x_1\cdots\exists x_n\left[\left(\bigwedge_{1\leq k<n}\left(\bigwedge_{k<i\leq n}x_k\not\approx x_i\right)\right)\wedge\left(\bigwedge_{1\leq k\leq n}(\varphi(x_k)\wedge\psi(x_k))\right)\right]

“至多 nnφ\varphiψ\psi” 可表示為:

x1xn+1(1kn+1(φ(xk)ψ(xk))1k<n(k<in+1xkxi))\forall x_1\cdots\forall x_{n+1}\left(\bigwedge_{1\leq k\leq n+1}(\varphi(x_k)\wedge\psi(x_k))\to\bigvee_{1\leq k<n}\left(\bigvee_{k<i\leq n+1}x_k\approx x_i\right)\right)

“恰好 nnφ\varphiψ\psi” 結合兩式即可.

由此關於有限個對象的陳述就可以得到形式化.


下一篇: 形式算術和遞歸函數