コンテンツにスキップ

一階述語論理と完全性定理:「証明できる」と「真である」が一致する理由

対象読者: 学部レベルの集合と論理(集合の記法、命題論理、量化子)と、濃度(全単射・可算無限)を学んだ人。形式言語や証明体系の知識は仮定しません。

前提となる記事:数学の国語:集合と論理を正確に読み書きする、濃度と無限:全単射で測る「無限の大小」

生 Markdown

数学の本にある「公理から従う」という言い回しを、誰が確かめても同じ判定になる形で定めたい、という話です。例えば群の公理から「単位元は一意」を導くとき、決まった規則で記号を並べて示す方法と、群のあらゆる例で成り立つことを確かめる方法の二通りが考えられます。この記事では、一階述語論理の範囲でこの二つが完全に一致することを示します。読み終えると、「証明できる」と「真である」が同じ意味になる理由と、そこから出るコンパクト性や非標準モデルといった帰結が分かります。

  • 一階述語論理は、数学の命題を書くための形式言語(項と論理式)と、その意味(構造における充足)と、機械的に検査できる証明の三つ組です。この記事ではそれぞれを定義し、「Γ\Gamma から φ\varphi が証明できる」(Γ⊢φ\Gamma\vdash\varphi) と「Γ\Gamma のすべてのモデルで φ\varphi が真」(Γ⊨φ\Gamma\models\varphi) を比べます。
  • 健全性(定理 4.3):Γ⊢φ\Gamma\vdash\varphi ならば Γ⊨φ\Gamma\models\varphi。証明の長さに関する帰納法で示します。
  • ゲーデルの完全性定理(定理 5.7、可算言語):無矛盾な理論はモデルをもつ。ヘンキンの構成で、理論に「証人」(「〜を満たさない元がある」ときの具体例の名前)となる定数を足し、極大無矛盾(これ以上どの文を足しても矛盾する)にして、閉項(変数を含まない項)そのものからモデルを組み立てます。
  • 完全性からコンパクト性定理(定理 6.1)とレーヴェンハイム–スコーレムの定理(定理 6.4)が従います。有限個ずつ満たせる条件の族は一度に満たせること、一階の理論は無限の構造の大きさを区別できないことが、ここから分かります。
  • 完全性定理は「公理から導く」の意味を確定させます。数学の命題が「ある公理系から導ける」とは、「その公理系のあらゆるモデルで成り立つ」と同じことです。一階の枠内では、証明という有限の対象で真理(の一部)を捉え切れます。
  • この記事はテーマ「数理論理学と型理論」の最初の章です。次に計算可能性、公理的集合論、ラムダ計算を経て、カリー=ハワード対応、依存型理論、Lean へ進みます(§1)。

1. 動機:「公理から導く」を定理にする

Section titled “1. 動機:「公理から導く」を定理にする”

数学の本には「補題 3 より明らか」「公理から従う」といった言い回しが並びます。この「従う」とは何でしょうか。人間の読者が納得するという意味なら、納得の基準は人によって違います。私たちが欲しいのは、誰が検査しても同じ判定になる基準です。

そのために数学者たちは二つの道を用意しました。一つは証明の道で、公理から出発し、決められた推論規則だけを有限回使って結論に至る記号列を考えます。証明であるかどうかは、記号の形だけを見て機械的に検査できます。もう一つは真理の道で、公理を満たすあらゆる数学的対象(モデル)を考え、そのすべてで結論が成り立つかを問います。群の公理から「単位元は一意」が従う、というとき、私たちは通常この意味で「従う」を理解しています。

二つの道が同じ命題を拾うのか、というのが自然な問いです。証明が見つかれば結論は常に真でしょう(健全性)。逆に、すべてのモデルで真な命題には、必ず証明があるのでしょうか。一階述語論理については、ある、というのがゲーデル (1930) の答えです。この記事の中心の定理です。

この記事は新しいテーマ「数理論理学と型理論」の最初の章です。テーマ全体は次のように進みます。

  1. 一階述語論理と完全性定理(本章)。証明と真理の二つの「従う」が一致することを示し、「公理から導く」を定める終点とする。
  2. 計算可能性。「機械的に検査できる」「アルゴリズムで判定できる」とは何かをチューリング機械で定義する。停止問題は解けないこと、そして証明の検査が機械的であっても証明の発見は機械的にできないことを示す。
  3. 公理的集合論。ZFC の公理から、数学の対象(数、関数、空間)がすべて集合として作られること、選択公理の同値形、連続体仮説が公理から独立であることを見る。
  4. 不完全性定理(ゲーデルの不完全性定理)。完全性定理と対になって、「証明の力」の限界を決める。
  5. 型なしラムダ計算。計算をもう一つの形(関数の適用と置換)で捉え直す。
  6. 単純型付きラムダ計算とカリー=ハワード対応。「命題 = 型」「証明 = プログラム」という対応を定理として示す。
  7. 依存型理論。型が値に依存できるようにして、述語論理まで含む論理と数学の体系を一つの型理論で与える。
  8. 証明支援系 Lean。依存型理論を土台とする証明検査器が、どのように「この証明は正しい」と判定するかを分解する。そのうえで Rikai の定理の形式化へ進む。

この道筋では、証明が記号列から始まり、プログラムになり、型検査の対象になっていきます。出発点として必要なのは、証明を数学の対象として扱う足場、すなわち一階述語論理です。以下、記号を厳密に導入し、定理の証明を最後まで書きます。

定義 2.1(一階の言語)↗

言語 LL とは、次の三種類の記号の(可算または非可算の)集合の組である。

  • 定数記号の集合。
  • 各 n≥1n\ge1 について、nn 変数関数記号の集合。
  • 各 n≥1n\ge1 について、nn 変数関係記号の集合。

これらとは別に、可算無限個の変数 x,y,z,x1,x2,…x,y,z,x_1,x_2,\ldots、等号 ==、論理記号 ¬,→,∀\neg,\to,\forall、括弧を用意する。等号と論理記号は言語に依らず常に使える。

例えば群の言語は、定数記号 ee、2 変数関数記号 ⋅\cdot、1 変数関数記号 −1{}^{-1} からなります。算術の言語は、定数 00、1 変数関数 SS、2 変数関数 +,×+,\times、2 変数関係 << です。

定義 2.2(項と論理式)↗

LL の項を次の規則で帰納的に定める。

  1. 変数と定数記号は項である。
  2. ff が nn 変数関数記号で t1,…,tnt_1,\ldots,t_n が項ならば、f(t1,…,tn)f(t_1,\ldots,t_n) は項である。

LL の論理式を次で帰納的に定める。

  1. t1,t2t_1,t_2 が項ならば、t1=t2t_1=t_2 は論理式(原子論理式)である。RR が nn 変数関係記号で t1,…,tnt_1,\ldots,t_n が項ならば、R(t1,…,tn)R(t_1,\ldots,t_n) も原子論理式である。
  2. φ,ψ\varphi,\psi が論理式ならば、¬φ\neg\varphi と (φ→ψ)(\varphi\to\psi) は論理式である。
  3. φ\varphi が論理式で xx が変数ならば、∀x φ\forall x\,\varphi は論理式である。

φ∨ψ\varphi\vee\psi、φ∧ψ\varphi\wedge\psi、φ↔ψ\varphi\leftrightarrow\psi、∃x φ\exists x\,\varphi は、それぞれ ¬φ→ψ\neg\varphi\to\psi、¬(φ→¬ψ)\neg(\varphi\to\neg\psi)、(φ→ψ)∧(ψ→φ)(\varphi\to\psi)\wedge(\psi\to\varphi)、¬∀x ¬φ\neg\forall x\,\neg\varphi の略記とする。

論理式 φ\varphi に含まれる記号 ¬,→,∀\neg,\to,\forall の個数を φ\varphi の複雑さ c(φ)\mathrm{c}(\varphi) と呼びます。

変数 xx の出現が ∀x\forall x の作用範囲の外にあるとき、その出現は自由であるといい、φ\varphi に自由に現れる変数の集合を FV(φ)\mathrm{FV}(\varphi) と書きます。FV(φ)=∅\mathrm{FV}(\varphi)=\varnothing の論理式を閉論理式(文)、文の集合を理論と呼びます。

代入を定めます。φ[t/x]\varphi[t/x] は、φ\varphi の中の xx の自由な出現をすべて項 tt に置き換えた論理式です。ただし tt に現れる変数が代入先で ∀\forall に捕まってしまうと意味が変わります。例えば φ=∃y (y≠x)\varphi=\exists y\,(y\ne x) に t=yt=y を代入すると ∃y (y≠y)\exists y\,(y\ne y) になって、意図と変わります。xx の自由な出現のどれもが、tt に現れる変数についての量化子の作用範囲に入っていないとき、tt は φ\varphi の中で xx に代入可能であるといいます。要するに、代入した項の変数が量化子に巻き込まれて、別の変数を指すようになる事故を避けるための条件です。以後、代入 φ[t/x]\varphi[t/x] を書くときは代入可能性を仮定します。tt が閉項(変数を含まない項)ならば、常に代入可能です。

定義 3.1(構造と充足)↗

LL の構造 M\mathcal{M} とは、空でない集合 MM(領域)と、次の解釈の組である。

  • 各定数記号 cc に元 cM∈Mc^{\mathcal{M}}\in M。
  • 各 nn 変数関数記号 ff に関数 fM:Mn→Mf^{\mathcal{M}}:M^n\to M。
  • 各 nn 変数関係記号 RR に部分集合 RM⊆MnR^{\mathcal{M}}\subseteq M^n。

変数への割り当てとは、写像 s:{変数}→Ms:\{\text{変数}\}\to M である。項 tt の値 tM[s]∈Mt^{\mathcal{M}}[s]\in M を、変数 xx には s(x)s(x)、定数 cc には cMc^{\mathcal{M}}、f(t1,…,tn)f(t_1,\ldots,t_n) には fM(t1M[s],…,tnM[s])f^{\mathcal{M}}(t_1^{\mathcal{M}}[s],\ldots,t_n^{\mathcal{M}}[s]) と定める。

論理式 φ\varphi について、M\mathcal{M} は ss のもとで φ\varphi を満たす(M⊨φ[s]\mathcal{M}\models\varphi[s]) を次で定める。

  1. M⊨(t1=t2)[s]\mathcal{M}\models(t_1=t_2)[s]   ⟺  \iff t1M[s]=t2M[s]t_1^{\mathcal{M}}[s]=t_2^{\mathcal{M}}[s](領域の元として等しい)。
  2. M⊨R(t1,…,tn)[s]\mathcal{M}\models R(t_1,\ldots,t_n)[s]   ⟺  \iff (t1M[s],…,tnM[s])∈RM(t_1^{\mathcal{M}}[s],\ldots,t_n^{\mathcal{M}}[s])\in R^{\mathcal{M}}。
  3. M⊨¬φ[s]\mathcal{M}\models\neg\varphi[s]   ⟺  \iff M⊭φ[s]\mathcal{M}\not\models\varphi[s]。
  4. M⊨(φ→ψ)[s]\mathcal{M}\models(\varphi\to\psi)[s]   ⟺  \iff M⊭φ[s]\mathcal{M}\not\models\varphi[s] または M⊨ψ[s]\mathcal{M}\models\psi[s]。
  5. M⊨∀x φ [s]\mathcal{M}\models\forall x\,\varphi\,[s]   ⟺  \iff MM のすべての元 aa について M⊨φ[s(x↦a)]\mathcal{M}\models\varphi[s(x\mapsto a)]。ここで s(x↦a)s(x\mapsto a) は xx だけ値を aa に替えた割り当てである。

論理式の充足は FV(φ)\mathrm{FV}(\varphi) の変数への割り当てだけで決まります(s,s′s,s' が FV(φ)\mathrm{FV}(\varphi) 上で一致すれば M⊨φ[s]  ⟺  M⊨φ[s′]\mathcal{M}\models\varphi[s]\iff\mathcal{M}\models\varphi[s']。論理式の複雑さに関する帰納法でただちに分かります)。特に文 σ\sigma の充足は割り当てに依らないので、M⊨σ\mathcal{M}\models\sigma と書き、M\mathcal{M} は σ\sigma のモデルであるといいます。理論 Σ\Sigma のすべての文が成り立つとき M⊨Σ\mathcal{M}\models\Sigma と書きます。

定義 3.2(意味論的帰結)↗

Γ\Gamma を文の集合、φ\varphi を論理式とする。M⊨Γ\mathcal{M}\models\Gamma を満たすすべての構造 M\mathcal{M} とすべての割り当て ss について M⊨φ[s]\mathcal{M}\models\varphi[s] が成り立つとき、Γ⊨φ\Gamma\models\varphi と書く。

例 3.3(群の公理からの帰結)

Γ\Gamma を群の公理(結合律、e⋅x=xe\cdot x=x、x−1⋅x=ex^{-1}\cdot x=e)とすると、Γ⊨∀x (x⋅e=x)\Gamma\models\forall x\,(x\cdot e=x) です。群のあらゆる実例で成り立つ、という意味です。一方 Γ⊭∀x∀y (x⋅y=y⋅x)\Gamma\not\models\forall x\forall y\,(x\cdot y=y\cdot x) です。非可換群(例えば S3S_3)が反例になります。

次の補題は、代入という記号の操作と、割り当ての更新という意味の操作が対応することを述べます。証明の中で何度も使います。

補題 3.4(代入補題)✓

M\mathcal{M} を構造、ss を割り当て、ww を項とし、a=wM[s]a=w^{\mathcal{M}}[s] とおく。

  1. 任意の項 uu について、(u[w/x])M[s]=uM[s(x↦a)](u[w/x])^{\mathcal{M}}[s]=u^{\mathcal{M}}[s(x\mapsto a)]。
  2. ww が論理式 φ\varphi の中で xx に代入可能ならば、M⊨φ[w/x] [s]  ⟺  M⊨φ[s(x↦a)]\mathcal{M}\models\varphi[w/x]\,[s]\iff\mathcal{M}\models\varphi[s(x\mapsto a)]。
証明(補題 3.4)

(1) uu の構成に関する帰納法。uu が変数 xx なら左辺は wM[s]=aw^{\mathcal{M}}[s]=a、右辺は s(x↦a)(x)=as(x\mapsto a)(x)=a。uu が xx と異なる変数 yy なら両辺とも s(y)s(y)。定数も同様。u=f(u1,…,un)u=f(u_1,\ldots,u_n) なら、両辺とも fMf^{\mathcal{M}} を各 uiu_i の値に適用したもので、帰納法の仮定から一致する。

(2) φ\varphi の複雑さに関する帰納法。原子論理式の場合は (1) から従う。¬,→\neg,\to の場合は帰納法の仮定から明らか。φ=∀y ψ\varphi=\forall y\,\psi とする。y=xy=x のときは xx が自由に現れないので φ[w/x]=φ\varphi[w/x]=\varphi で、ss と s(x↦a)s(x\mapsto a) は ∀x\forall x の中で上書きされるため両辺は一致する。y≠xy\ne x のとき、xx が ψ\psi に自由に現れないなら同様に自明である。現れるなら代入可能性より yy は ww に現れず、φ[w/x]=∀y (ψ[w/x])\varphi[w/x]=\forall y\,(\psi[w/x]) である。各元 bb について、s(y↦b)s(y\mapsto b) のもとでの ww の値は y∉wy\notin w だから aa のままで、帰納法の仮定を s(y↦b)s(y\mapsto b) に適用すれば

M⊨ψ[w/x] [s(y↦b)]  ⟺  M⊨ψ [s(y↦b)(x↦a)]\mathcal{M}\models\psi[w/x]\,[s(y\mapsto b)]\iff\mathcal{M}\models\psi\,[s(y\mapsto b)(x\mapsto a)]

を得る(更新の順序は x≠yx\ne y なので交換できる)。bb について「すべて」をとれば主張が従う。

証明の検査を機械的にするため、公理と推論規則を明示します。ここでは公理の数が多く、推論規則が少ないヒルベルト流の体系を採ります。論理式 φ\varphi の自由変数についての扱いを単純にするため、仮定の集合 Γ\Gamma には文だけを入れます。推論規則は二つで、モーダスポネンスは「AA と A→BA\to B が得られていれば BB を得てよい」という規則、一般化は「φ\varphi が得られていれば ∀x φ\forall x\,\varphi を得てよい」という規則です(下の定義にある形)。

定義 4.1(論理公理と導出)↗

次の形の論理式を論理公理という。φ,ψ\varphi,\psi は任意の論理式、s,ts,t は任意の項である。

  • (L1) 命題論理のトートロジー(真理値表で常に真になる式)の変数を論理式で置き換えて得られるもの。
  • (L2) ∀x φ→φ[t/x]\forall x\,\varphi\to\varphi[t/x](tt は φ\varphi の中で xx に代入可能)。
  • (L3) ∀x (φ→ψ)→(∀x φ→∀x ψ)\forall x\,(\varphi\to\psi)\to(\forall x\,\varphi\to\forall x\,\psi)。
  • (L4) φ→∀x φ\varphi\to\forall x\,\varphi(x∉FV(φ)x\notin\mathrm{FV}(\varphi))。
  • (L5) t=tt=t。
  • (L6) s=t→(φ[s/x]→φ[t/x])s=t\to(\varphi[s/x]\to\varphi[t/x])(φ\varphi は原子論理式)。

文の集合 Γ\Gamma からの導出とは、論理式の有限列 φ1,…,φn\varphi_1,\ldots,\varphi_n で、各 φi\varphi_i が次のいずれかであるものをいう。

  • 論理公理である。
  • Γ\Gamma の元である。
  • モーダスポネンス:ある j,k<ij,k<i について φk=(φj→φi)\varphi_k=(\varphi_j\to\varphi_i)。
  • 一般化:ある j<ij<i と変数 xx について φi=∀x φj\varphi_i=\forall x\,\varphi_j。

φn=φ\varphi_n=\varphi となる導出があるとき Γ⊢φ\Gamma\vdash\varphi と書く。Γ\Gamma が無矛盾であるとは、Γ⊢φ\Gamma\vdash\varphi かつ Γ⊢¬φ\Gamma\vdash\neg\varphi となる φ\varphi が存在しないことをいう。

(L6) と (L5) から等号の対称律・推移律と、関数記号・関係記号との整合性が出ます。例えば xx を s,ts,t に現れない変数として、φ\varphi を x=sx=s とすると (L6) は s=t→(s=s→t=s)s=t\to(s=s\to t=s) で、(L5) と合わせて s=t→t=ss=t\to t=s が導かれます。関数記号 ff については、φ\varphi を f(…,s,…)=f(…,x,…)f(\ldots,s,\ldots)=f(\ldots,x,\ldots) ととれば s=t→f(…,s,…)=f(…,t,…)s=t\to f(\ldots,s,\ldots)=f(\ldots,t,\ldots) が同様に出ます。

例 4.2(導出の一例)

⊢∀x (x=x)\vdash\forall x\,(x=x) の導出です。(1) x=xx=x(L5)。(2) ∀x (x=x)\forall x\,(x=x)((1) への一般化)。2 行で終わります。ここで一般化を仮定のない論理式にだけ使っている点が大切です。仮定 Γ\Gamma に含まれる論理式に自由変数があれば、一般化は健全性を壊します(演習 7.3)。

定理 4.3(健全性)✓

文の集合 Γ\Gamma と論理式 φ\varphi について、Γ⊢φ\Gamma\vdash\varphi ならば Γ⊨φ\Gamma\models\varphi。

証明(定理 4.3)

導出 φ1,…,φn\varphi_1,\ldots,\varphi_n の長さに関する帰納法で、各 φi\varphi_i について「M⊨Γ\mathcal{M}\models\Gamma なるすべての M\mathcal{M} とすべての ss で M⊨φi[s]\mathcal{M}\models\varphi_i[s]」を示す。

(L1) 構造と割り当てを固定すると、各部分論理式は真か偽かのどちらかで、¬,→\neg,\to の充足条件は真理値表そのものである。よってトートロジーの代入例は常に満たされる。 (L2) M⊨∀x φ [s]\mathcal{M}\models\forall x\,\varphi\,[s] とすると、特に a=tM[s]a=t^{\mathcal{M}}[s] について M⊨φ[s(x↦a)]\mathcal{M}\models\varphi[s(x\mapsto a)] である。補題 3.4(2) より M⊨φ[t/x] [s]\mathcal{M}\models\varphi[t/x]\,[s]。 (L3) ∀x(φ→ψ)\forall x(\varphi\to\psi) と ∀xφ\forall x\varphi が ss で成り立つとする。各元 aa で φ→ψ\varphi\to\psi と φ\varphi が成り立つので ψ\psi が成り立ち、∀x ψ\forall x\,\psi を得る。 (L4) x∉FV(φ)x\notin\mathrm{FV}(\varphi) なので、φ\varphi の充足は xx への割り当てに依らない。φ\varphi が ss で成り立てば、すべての s(x↦a)s(x\mapsto a) でも成り立つ。 (L5)(L6) 等号は領域の元の恒等的な等しさとして解釈されている。(L5) は明らか。(L6) は、sM[s′]=tM[s′]s^{\mathcal{M}}[s']=t^{\mathcal{M}}[s'] のとき、補題 3.4 により φ[s/x]\varphi[s/x] の充足は xx に共通の値を割り当てたときの φ\varphi の充足と一致し、φ[t/x]\varphi[t/x] の充足とも一致する(記号の衝突を避けるため割り当てを s′s' と書いた)。 Γ\Gamma の元は仮定 M⊨Γ\mathcal{M}\models\Gamma より成り立つ。 モーダスポネンスは →\to の充足条件から従う。 一般化では、φj\varphi_j がすべての割り当てで成り立つ(帰納法の仮定)ので、とくに任意の ss と任意の aa について φj\varphi_j が s(x↦a)s(x\mapsto a) で成り立ち、∀x φj\forall x\,\varphi_j が ss で成り立つ。

完全性定理の証明のために、導出に関する基本事実を整理します。

命題 4.4(演繹定理)✓

Γ\Gamma を文の集合、σ\sigma を文、φ\varphi を論理式とする。Γ∪{σ}⊢φ\Gamma\cup\{\sigma\}\vdash\varphi ならば Γ⊢σ→φ\Gamma\vdash\sigma\to\varphi。

証明(命題 4.4)

Γ∪{σ}\Gamma\cup\{\sigma\} からの導出 φ1,…,φn=φ\varphi_1,\ldots,\varphi_n=\varphi の長さに関する帰納法で、各 ii について Γ⊢σ→φi\Gamma\vdash\sigma\to\varphi_i を示す。

  • φi\varphi_i が論理公理か Γ\Gamma の元のとき:φi\varphi_i と φi→(σ→φi)\varphi_i\to(\sigma\to\varphi_i)(L1)からモーダスポネンスで。
  • φi=σ\varphi_i=\sigma のとき:σ→σ\sigma\to\sigma はトートロジー(L1)。
  • モーダスポネンスで φk=(φj→φi)\varphi_k=(\varphi_j\to\varphi_i) のとき:帰納法の仮定より Γ⊢σ→φj\Gamma\vdash\sigma\to\varphi_j と Γ⊢σ→(φj→φi)\Gamma\vdash\sigma\to(\varphi_j\to\varphi_i) があり、(σ→φj)→((σ→(φj→φi))→(σ→φi))(\sigma\to\varphi_j)\to((\sigma\to(\varphi_j\to\varphi_i))\to(\sigma\to\varphi_i)) はトートロジーなので Γ⊢σ→φi\Gamma\vdash\sigma\to\varphi_i。
  • 一般化で φi=∀x φj\varphi_i=\forall x\,\varphi_j のとき:Γ⊢σ→φj\Gamma\vdash\sigma\to\varphi_j に一般化を適用して Γ⊢∀x (σ→φj)\Gamma\vdash\forall x\,(\sigma\to\varphi_j)。(L3) で ∀x σ→∀x φj\forall x\,\sigma\to\forall x\,\varphi_j が得られる形にし、σ\sigma は文なので (L4) により σ→∀x σ\sigma\to\forall x\,\sigma である。よってトートロジー推論で Γ⊢σ→∀x φj\Gamma\vdash\sigma\to\forall x\,\varphi_j。

最後の場合が、仮定を文に限った理由です。仮定に自由変数があると (L4) が使えません。

命題 4.5(無矛盾性の基本性質)✓

Γ\Gamma を文の集合、σ\sigma を文とする。

  1. Γ\Gamma が矛盾するならば、任意の論理式 φ\varphi について Γ⊢φ\Gamma\vdash\varphi。
  2. Γ∪{¬σ}\Gamma\cup\{\neg\sigma\} が矛盾するならば Γ⊢σ\Gamma\vdash\sigma。Γ∪{σ}\Gamma\cup\{\sigma\} が矛盾するならば Γ⊢¬σ\Gamma\vdash\neg\sigma。
  3. Γ\Gamma が無矛盾ならば、Γ∪{σ}\Gamma\cup\{\sigma\} と Γ∪{¬σ}\Gamma\cup\{\neg\sigma\} の少なくとも一方は無矛盾。
  4. Γ\Gamma が矛盾するならば、Γ\Gamma のある有限部分集合が矛盾する。
証明(命題 4.5)

(1) Γ⊢ψ\Gamma\vdash\psi かつ Γ⊢¬ψ\Gamma\vdash\neg\psi とする。¬ψ→(ψ→φ)\neg\psi\to(\psi\to\varphi) はトートロジーなので、モーダスポネンスを 2 回使って Γ⊢φ\Gamma\vdash\varphi。 (2) 前半:(1) より Γ∪{¬σ}⊢σ\Gamma\cup\{\neg\sigma\}\vdash\sigma なので、命題 4.4 から Γ⊢¬σ→σ\Gamma\vdash\neg\sigma\to\sigma。(¬σ→σ)→σ(\neg\sigma\to\sigma)\to\sigma はトートロジーなので Γ⊢σ\Gamma\vdash\sigma。後半:(1) より Γ∪{σ}⊢¬σ\Gamma\cup\{\sigma\}\vdash\neg\sigma なので Γ⊢σ→¬σ\Gamma\vdash\sigma\to\neg\sigma。(σ→¬σ)→¬σ(\sigma\to\neg\sigma)\to\neg\sigma はトートロジーなので Γ⊢¬σ\Gamma\vdash\neg\sigma。 (3) 両方が矛盾すれば、(2) から Γ⊢σ\Gamma\vdash\sigma と Γ⊢¬σ\Gamma\vdash\neg\sigma。 (4) 導出は有限列で、使われる Γ\Gamma の元は有限個である。

もう一つ、新しい定数に関する補題が必要です。ヘンキンの構成で、言語に定数を足しても無矛盾性が保たれることを確かめるために使います。(1) は、定数を足しても元の言語の式について証明できる範囲は変わらないこと、(2) は、新しい定数について示せたことは任意の元について示せたことになる、ということを述べています。

補題 4.6(新しい定数の変数化)✓

L′L' を言語 LL に定数記号の集合 CC を加えた言語とする。

  1. Γ\Gamma を LL の文の集合、φ\varphi を LL の論理式とする。Γ\Gamma から L′L' で φ\varphi が導出できるならば、LL で導出できる。特に、Γ\Gamma が LL で無矛盾ならば L′L' でも無矛盾。
  2. Γ\Gamma を L′L' の文の集合、φ\varphi を L′L' の論理式、cc を L′L' の定数記号とし、cc は Γ\Gamma にも φ\varphi にも現れないとする。Γ⊢φ[c/x]\Gamma\vdash\varphi[c/x] ならば Γ⊢∀x φ\Gamma\vdash\forall x\,\varphi。
証明(補題 4.6)

(1) L′L' での導出に現れる CC の定数は有限個。それらを導出のどこにも現れない互いに異なる変数で置き換える。論理公理の形(トートロジーの代入例、代入可能性、x∉FVx\notin\mathrm{FV} の条件)は、新しい変数が他の変数や量化子と衝突しないので保たれる。Γ\Gamma の文と φ\varphi には CC の定数が現れないので、置き換えで変わらない。結果は LL での導出である。無矛盾性についての主張は、矛盾の定義(ある ψ\psi で Γ⊢ψ,¬ψ\Gamma\vdash\psi,\neg\psi)に、ψ\psi が L′L' の論理式であっても (1) の置き換えを両方の導出に適用すればよい。 (2) φ[c/x]\varphi[c/x] の導出に現れる cc を、導出に現れない変数 yy で置き換える。Γ\Gamma の文には cc が現れないので置き換えで変わらず、(1) と同じ理由で導出のままであり、結論は φ[y/x]\varphi[y/x] になる。一般化で ∀y φ[y/x]\forall y\,\varphi[y/x]。(L2) で ∀y φ[y/x]→φ\forall y\,\varphi[y/x]\to\varphi(φ[y/x][x/y]=φ\varphi[y/x][x/y]=\varphi、yy は新しいので代入可能)。モーダスポネンスで Γ⊢φ\Gamma\vdash\varphi、さらに一般化して Γ⊢∀x φ\Gamma\vdash\forall x\,\varphi。

健全性は「証明できれば真」でした。逆向き、つまり「すべてのモデルで真ならば証明できる」を示すには、対偶をとって**「証明できない σ\sigma があれば、σ\sigma が偽になるモデルを作る」**ことを目指します。モデルを作る材料は、言語の記号しかありません。ヘンキンの方法は、記号そのものからモデルを組み立てます。

無矛盾な理論 Σ(言語 L)証人の定数を足した理論(ヘンキン公理)極大無矛盾な理論 Γ(リンデンバウム)閉項のなす構造 M ⊨ Γ(真理補題)
完全性定理の証明の流れ。無矛盾な理論から、記号だけでモデルを組み立てる。

以下、言語 LL は可算とします(非可算の場合は 注意 5.10 で述べます)。このとき LL の論理式は有限記号列なので可算個です。

「∀x φ\forall x\,\varphi が偽ならば、φ\varphi を満たさない具体的な元がある」。モデルの元を記号で名指しするため、そのような元の名前(証人)を言語に予約します。

定義 5.1(ヘンキン公理)↗

言語 LL の論理式 φ\varphi と変数 xx の組で FV(φ)⊆{x}\mathrm{FV}(\varphi)\subseteq\{x\} を満たすものそれぞれに、新しい定数記号 cφ,xc_{\varphi,x} を用意し、LL にこれらを加えた言語を L+L^{+} と書く。ヘンキン公理とは L+L^{+} の文

¬∀x φ → ¬φ[cφ,x/x]\neg\forall x\,\varphi\ \to\ \neg\varphi[c_{\varphi,x}/x]

である。LL の論理式すべてについてのヘンキン公理の集合を H(L)H(L) と書く。

次の補題は背理法で示します。矛盾を起こす有限個のヘンキン公理のうち、個数が最小のものをとると、最後の一つだけが矛盾の原因になります。その公理の定数が新しいことを使い、補題 4.6(2) で元の理論自身の矛盾を導きます。

補題 5.2(ヘンキン公理を足しても無矛盾)✓

Σ\Sigma が LL の無矛盾な理論ならば、Σ∪H(L)\Sigma\cup H(L) は L+L^{+} で無矛盾である。

証明(補題 5.2)

Σ∪H(L)\Sigma\cup H(L) が矛盾すると仮定する。導出は有限なので(命題 4.5(4))、有限個のヘンキン公理 h1,…,hkh_1,\ldots,h_k(hih_i は定数 ci=cφi,xic_i=c_{\varphi_i,x_i} に対応し、cic_i は互いに異なる)で Σ∪{h1,…,hk}\Sigma\cup\{h_1,\ldots,h_k\} が矛盾するものがある。kk を最小にとる。k=0k=0 とすると Σ\Sigma が L+L^{+} で矛盾することになるが、補題 4.6(1) により Σ\Sigma は L+L^{+} で無矛盾なので、k≥1k\ge1 である。

Σ′=Σ∪{h1,…,hk−1}\Sigma'=\Sigma\cup\{h_1,\ldots,h_{k-1}\} は kk の最小性により無矛盾で、hkh_k だけが矛盾の原因である。c=ckc=c_k、φ=φk\varphi=\varphi_k、x=xkx=x_k とおく。Σ′\Sigma' にも φ\varphi にも cc は現れない(φ\varphi は LL の論理式、h1,…,hk−1h_1,\ldots,h_{k-1} には別の定数しか現れない)。命題 4.5(2) より Σ′⊢¬hk\Sigma'\vdash\neg h_k。¬(A→B)\neg(A\to B) からは AA と ¬B\neg B がトートロジー推論で出るので、

Σ′⊢¬∀x φ,Σ′⊢φ[c/x].\Sigma'\vdash\neg\forall x\,\varphi,\qquad\Sigma'\vdash\varphi[c/x].

後者に 補題 4.6(2) を使うと Σ′⊢∀x φ\Sigma'\vdash\forall x\,\varphi となり、前者と合わせて Σ′\Sigma' が矛盾する。これは Σ′\Sigma' の無矛盾性に反する。

この操作を繰り返します。L0=LL_0=L、Ln+1=Ln+L_{n+1}=L_n^{+}、Lω=⋃nLnL_\omega=\bigcup_nL_n とし、Σ0=Σ\Sigma_0=\Sigma、Σn+1=Σn∪H(Ln)\Sigma_{n+1}=\Sigma_n\cup H(L_n)、Σω=⋃nΣn\Sigma_\omega=\bigcup_n\Sigma_n とします。

補題 5.3(ヘンキン理論)✓

Σ\Sigma が(任意の濃度の言語)LL で無矛盾ならば、次が成り立つ。

  1. Σω\Sigma_\omega は LωL_\omega で無矛盾。LL が可算ならば LωL_\omega も可算言語である。
  2. LωL_\omega の論理式 φ\varphi と変数 xx が FV(φ)⊆{x}\mathrm{FV}(\varphi)\subseteq\{x\} を満たすなら、LωL_\omega の定数 cc で ¬∀x φ→¬φ[c/x]∈Σω\neg\forall x\,\varphi\to\neg\varphi[c/x]\in\Sigma_\omega となるものがある。
  3. LωL_\omega は閉項をもつ。
証明(補題 5.3)

(1) LL が可算なら、各 LnL_n が可算であることが帰納的に分かる(LnL_n の論理式は可算個だから Ln+1L_{n+1} に加わる定数も可算個)ので、LωL_\omega は可算。無矛盾性について、Σn\Sigma_n は LnL_n で無矛盾であることを帰納法で示す:Σ0=Σ\Sigma_0=\Sigma は仮定。Σn\Sigma_n が LnL_n で無矛盾なら、補題 5.2 より Σn+1\Sigma_{n+1} は Ln+1L_{n+1} で無矛盾。Σω\Sigma_\omega が LωL_\omega で矛盾するなら、有限部分集合が矛盾し、それは Σn\Sigma_n に含まれるある nn があって、補題 4.6(1) から Σn\Sigma_n が LnL_n で矛盾する、という矛盾に至る。 (2) φ\varphi は有限記号列なので、ある LnL_n の論理式である。ヘンキン公理 ∈H(Ln)⊆Σn+1\in H(L_n)\subseteq\Sigma_{n+1}。 (3) 論理式 x=xx=x に (2) を使う。

補題 5.4(リンデンバウムの補題)✓

L′L' を可算言語、Σ′\Sigma' を L′L' の無矛盾な理論とする。このとき、Σ′⊆Γ\Sigma'\subseteq\Gamma を満たす L′L' の理論 Γ\Gamma で、次をみたすものがある。

  • (a) Γ\Gamma は無矛盾。
  • (b) 完全:任意の文 σ\sigma について σ∈Γ\sigma\in\Gamma または ¬σ∈Γ\neg\sigma\in\Gamma。
  • (c) 演繹的に閉じている:Γ⊢σ\Gamma\vdash\sigma ならば σ∈Γ\sigma\in\Gamma。
証明(補題 5.4)

L′L' の文を σ0,σ1,…\sigma_0,\sigma_1,\ldots と並べる(可算個)。Γ0=Σ′\Gamma_0=\Sigma' とし、Γn\Gamma_n が無矛盾なとき、Γn∪{σn}\Gamma_n\cup\{\sigma_n\} が無矛盾ならそれを Γn+1\Gamma_{n+1}、そうでなければ Γn+1=Γn∪{¬σn}\Gamma_{n+1}=\Gamma_n\cup\{\neg\sigma_n\} とする。命題 4.5(3) より Γn+1\Gamma_{n+1} も無矛盾。Γ=⋃nΓn\Gamma=\bigcup_n\Gamma_n とおく。矛盾すれば有限部分集合が矛盾し、それはある Γn\Gamma_n に含まれるので不可能((a))。構成から各 σn\sigma_n について σn\sigma_n か ¬σn\neg\sigma_n が Γ\Gamma に入る((b))。(c):Γ⊢σ\Gamma\vdash\sigma で σ∉Γ\sigma\notin\Gamma とすると (b) から ¬σ∈Γ\neg\sigma\in\Gamma で、Γ\Gamma は σ\sigma と ¬σ\neg\sigma の両方を証明して矛盾する。

Σ\Sigma を LL の無矛盾な理論とし、補題 5.3 の LωL_\omega と Σω\Sigma_\omega を用意します。補題 5.4 を (Lω,Σω)(L_\omega,\Sigma_\omega) に適用して得られる理論を Γ\Gamma とします。Γ\Gamma はヘンキン公理をすべて含みます。

モデルの元は、閉項そのものを使います。ただし Γ\Gamma が t=st=s を含むなら tt と ss は同じ元を指すべきなので、そうした閉項どうしは同一視してまとめます。

定義 5.5(項モデル)↗

TT を LωL_\omega の閉項全体とし、t∼s  ⟺  (t=s)∈Γt\sim s\iff(t=s)\in\Gamma とおく。(L5), (L6) と Γ\Gamma の演繹的閉性から ∼\sim は同値関係で、関数記号・関係記号と整合的である(例:ti∼sit_i\sim s_i (i=1..ni=1..n) ならば f(t1,..,tn)∼f(s1,..,sn)f(t_1,..,t_n)\sim f(s_1,..,s_n)、R(t1,..,tn)∈Γ  ⟺  R(s1,..,sn)∈ΓR(t_1,..,t_n)\in\Gamma\iff R(s_1,..,s_n)\in\Gamma)。項モデル M\mathcal{M} を次で定める。

  • 領域は T/∼T/{\sim}(補題 5.3(3) より空でない)。閉項 tt の類を [t][t] と書く。
  • cM=[c]c^{\mathcal{M}}=[c]、fM([t1],…,[tn])=[f(t1,…,tn)]f^{\mathcal{M}}([t_1],\ldots,[t_n])=[f(t_1,\ldots,t_n)]。
  • ([t1],…,[tn])∈RM  ⟺  R(t1,…,tn)∈Γ([t_1],\ldots,[t_n])\in R^{\mathcal{M}}\iff R(t_1,\ldots,t_n)\in\Gamma。

帰納法ですぐに分かるように、閉項 tt の値は tM=[t]t^{\mathcal{M}}=[t] です。したがって領域のどの元も閉項 tt によって [t][t] と書けます。ここが「記号が尽くしてモデルを作る」ことの核心です。

次の真理補題は、「Γ\Gamma に入っている」ことと「M\mathcal{M} で真である」ことが一致する、と述べます。証明は文の作り方に沿った帰納法です。難所は ∀\forall の場合で、∀x φ\forall x\,\varphi が Γ\Gamma に入らないときは、証人の定数 cc が反例の元を与える、という流れで進みます。

補題 5.6(真理補題)✓

LωL_\omega のすべての文 σ\sigma について、M⊨σ  ⟺  σ∈Γ\mathcal{M}\models\sigma\iff\sigma\in\Gamma。

証明(補題 5.6)

σ\sigma の複雑さ c(σ)\mathrm{c}(\sigma) に関する帰納法。閉項 tt による代入 φ[t/x]\varphi[t/x] は複雑さを変えないことに注意する。

原子文。M⊨(t=s)  ⟺  [t]=[s]  ⟺  (t=s)∈Γ\mathcal{M}\models(t=s)\iff[t]=[s]\iff(t=s)\in\Gamma。R(t1,..,tn)R(t_1,..,t_n) は RMR^{\mathcal{M}} の定義そのもの。

¬τ\neg\tau。M⊨¬τ  ⟺  M⊭τ  ⟺  τ∉Γ\mathcal{M}\models\neg\tau\iff\mathcal{M}\not\models\tau\iff\tau\notin\Gamma(帰納法の仮定)  ⟺  ¬τ∈Γ\iff\neg\tau\in\Gamma(Γ\Gamma が無矛盾かつ完全)。

τ→ρ\tau\to\rho。M⊨(τ→ρ)\mathcal{M}\models(\tau\to\rho) は「τ∉Γ\tau\notin\Gamma または ρ∈Γ\rho\in\Gamma」と同値。これが (τ→ρ)∈Γ(\tau\to\rho)\in\Gamma と同値であることを示す。(τ→ρ)∈Γ(\tau\to\rho)\in\Gamma かつ τ∈Γ\tau\in\Gamma なら Γ⊢ρ\Gamma\vdash\rho で、ρ∈Γ\rho\in\Gamma。逆に τ∉Γ\tau\notin\Gamma なら ¬τ∈Γ\neg\tau\in\Gamma で、¬τ→(τ→ρ)\neg\tau\to(\tau\to\rho) がトートロジーなので (τ→ρ)∈Γ(\tau\to\rho)\in\Gamma。ρ∈Γ\rho\in\Gamma なら ρ→(τ→ρ)\rho\to(\tau\to\rho) から同様。

∀x φ\forall x\,\varphi(FV(φ)⊆{x}\mathrm{FV}(\varphi)\subseteq\{x\})。

(⇐\Leftarrow) ∀x φ∈Γ\forall x\,\varphi\in\Gamma とする。領域の任意の元は閉項 tt による [t][t] の形。(L2) とモーダスポネンスで φ[t/x]∈Γ\varphi[t/x]\in\Gamma。帰納法の仮定から M⊨φ[t/x]\mathcal{M}\models\varphi[t/x]。補題 3.4(2) により、xx に [t][t] を割り当てて φ\varphi は成り立つ。[t][t] は任意なので M⊨∀x φ\mathcal{M}\models\forall x\,\varphi。

(⇒\Rightarrow) 対偶を示す。∀x φ∉Γ\forall x\,\varphi\notin\Gamma とすると、¬∀x φ∈Γ\neg\forall x\,\varphi\in\Gamma。補題 5.3(2) の定数 cc のヘンキン公理が Γ\Gamma にあるので、モーダスポネンスで ¬φ[c/x]∈Γ\neg\varphi[c/x]\in\Gamma、すなわち φ[c/x]∉Γ\varphi[c/x]\notin\Gamma。帰納法の仮定から M⊭φ[c/x]\mathcal{M}\not\models\varphi[c/x]。補題 3.4(2) により、xx に cMc^{\mathcal{M}} を割り当てると φ\varphi は成り立たないので M⊭∀x φ\mathcal{M}\not\models\forall x\,\varphi。

定理 5.7(ゲーデルの完全性定理(可算言語))✓

LL を可算言語とする。

  1. LL の理論 Σ\Sigma が無矛盾ならば、Σ\Sigma はモデルをもつ。
  2. Γ\Gamma を文の集合、φ\varphi を論理式とするとき、Γ⊨φ\Gamma\models\varphi ならば Γ⊢φ\Gamma\vdash\varphi。

したがって健全性(定理 4.3)と合わせて、Γ⊢φ  ⟺  Γ⊨φ\Gamma\vdash\varphi\iff\Gamma\models\varphi。

証明(定理 5.7)

(1) 上の構成で Σ⊆Σω⊆Γ\Sigma\subseteq\Sigma_\omega\subseteq\Gamma と M\mathcal{M} を得る。補題 5.6 より M⊨Γ\mathcal{M}\models\Gamma、特に M⊨Σ\mathcal{M}\models\Sigma。M\mathcal{M} の LL への制限(LL に属さない記号を忘れたもの)は、LL の文について同じ真偽を与えるので Σ\Sigma のモデルである。

(2) φ\varphi の自由変数を x1,…,xnx_1,\ldots,x_n とし、σ=∀x1⋯∀xn φ\sigma=\forall x_1\cdots\forall x_n\,\varphi とおく。Γ⊨φ\Gamma\models\varphi ならば Γ⊨σ\Gamma\models\sigma である(Γ\Gamma のモデルでは φ\varphi がすべての割り当てで成り立つ)。Γ⊬σ\Gamma\nvdash\sigma とすると、命題 4.5(2) の対偶から Γ∪{¬σ}\Gamma\cup\{\neg\sigma\} は無矛盾(Γ∪{¬σ}\Gamma\cup\{\neg\sigma\} が矛盾すれば Γ⊢σ\Gamma\vdash\sigma)。(1) によりそのモデルがあるが、それは Γ⊨σ\Gamma\models\sigma に反する。よって Γ⊢σ\Gamma\vdash\sigma。(L2)(tt として変数 xix_i 自身をとる)とモーダスポネンスを nn 回使って Γ⊢φ\Gamma\vdash\varphi。

これが「証明できる」と「真である」の一致です。数学の側から見れば、公理系 Γ\Gamma から φ\varphi が従う(すべてのモデルで成り立つ)ことと、Γ\Gamma から φ\varphi への形式的な導出が存在することは同じことなのです。前者を確かめる道は無数のモデルを調べるしかなさそうに見えますが、後者は有限の記号列を示せば済みます。

補題 5.8(リンデンバウムの補題(任意の言語))✓

L′L' を任意の言語、Σ′\Sigma' を L′L' の無矛盾な理論とする。このとき 補題 5.4 の (a)(b)(c) をみたす L′L' の理論 Γ⊇Σ′\Gamma\supseteq\Sigma' がある。

証明(補題 5.8)

Σ′\Sigma' を含む L′L' の無矛盾な理論全体を包含関係で順序づけます。鎖の合併は(導出が有限なので、命題 4.5(4))無矛盾で、鎖の上界になります。定理 5.1[選択公理と Zorn の補題] から極大元 Γ\Gamma が得られます。Γ\Gamma は (a) をみたします。任意の文 σ\sigma について、Γ∪{σ}\Gamma\cup\{\sigma\} が無矛盾なら極大性から σ∈Γ\sigma\in\Gamma で、そうでなければ 命題 4.5(3) により Γ∪{¬σ}\Gamma\cup\{\neg\sigma\} が無矛盾なので ¬σ∈Γ\neg\sigma\in\Gamma です((b))。(c) は 補題 5.4 の証明と同じく (b) から従います。

定理 5.9(ゲーデルの完全性定理(任意の言語))✓

LL を任意の言語とする。(1) LL の無矛盾な理論はモデルをもつ。(2) Γ⊨φ\Gamma\models\varphi ならば Γ⊢φ\Gamma\vdash\varphi。

証明(定理 5.9)

定理 5.7 の証明で、補題 5.3 は任意の LL について成り立ち(可算性は LωL_\omega の可算性の主張にしか使わない)、リンデンバウムの補題を 補題 5.8 に替えます。項モデルの構成(定義 5.5)と真理補題(補題 5.6)は言語の濃度を使わないので、そのまま通ります。(2) は (1) から 定理 5.7 の (2) の議論と同じです。

注意 5.10(非可算言語の場合)

可算性を使ったのは、リンデンバウムの補題での文の枚挙と、LωL_\omega が可算であることだけです。非可算の LL では、リンデンバウムの補題をツォルンの補題で置き換えます(補題 5.8、完全性定理は 定理 5.9)。ヘンキンの段階 LnL_n は ω\omega 回で閉じ、LωL_\omega の記号の個数は ∣L∣+ℵ0|L|+\aleph_0 のまま変わりません。以下、コンパクト性定理と上向きの Löwenheim–Skolem では、この非可算言語版の完全性定理を使います。

6. コンパクト性定理と Löwenheim–Skolem の定理

Section titled “6. コンパクト性定理と Löwenheim–Skolem の定理”

導出が有限であるという事実と完全性定理を組み合わせると、次のことが分かります。

定理 6.1(コンパクト性定理)✓

Σ\Sigma を文の集合とする。Σ\Sigma のどの有限部分集合もモデルをもつならば、Σ\Sigma 全体もモデルをもつ。

証明(定理 6.1)

Σ\Sigma がモデルをもたないと仮定する。Σ\Sigma は無矛盾でない(無矛盾なら完全性定理 (定理 5.7。言語が非可算ならその非可算版、定理 5.9) でモデルをもつ)。よって 命題 4.5(4) により有限部分集合 Σ0⊆Σ\Sigma_0\subseteq\Sigma が矛盾する。健全性より、Σ0\Sigma_0 がモデルをもてば Σ0⊢φ,¬φ\Sigma_0\vdash\varphi,\neg\varphi から φ\varphi と ¬φ\neg\varphi がそのモデルで成り立ち、不可能である。よって Σ0\Sigma_0 はモデルをもたず、仮定に反する。

コンパクト性は「有限の情報だけからは見えないこと」を一階論理が表現できないことを教えてくれます。二つの典型例を見ます。

例 6.2(非標準モデル)

算術の言語に新しい定数 dd を加え、Σ=Th(N)∪{ d>n‾∣n∈N }\Sigma=\mathrm{Th}(\mathbb{N})\cup\{\,d>\overline{n}\mid n\in\mathbb{N}\,\} を考えます。Th(N)\mathrm{Th}(\mathbb{N}) は N\mathbb{N} で真な文全体、n‾\overline{n} は S(S(⋯S(0)))S(S(\cdots S(0)))(SS を nn 回)です。有限部分集合は、現れる nn の最大値 NN より大きい自然数を dd の解釈とした N\mathbb{N} で満たされます。コンパクト性定理から Σ\Sigma のモデル N∗\mathcal{N}^{*} があり、そこには dd という「すべての標準的な自然数より大きい元」が含まれます。N∗\mathcal{N}^{*} は Th(N)\mathrm{Th}(\mathbb{N}) を満たすのに N\mathbb{N} と同型ではない(非標準モデル)。つまり「N\mathbb{N} ちょうど」を一階の文で指定することはできません。ペアノ算術の非標準モデルも、同じ手法で作れます(ゲーデルの不完全性定理の記事には、不完全性定理から非標準モデルを作る別の方法があります)。

例 6.3(「有限」は一階では表せない)

文の集合 TT が任意に大きな有限モデルをもつとします。各 nn に対し「要素が nn 個以上ある」を表す文 λn=∃x1⋯∃xn⋀i<jxi≠xj\lambda_n=\exists x_1\cdots\exists x_n\bigwedge_{i<j}x_i\neq x_j をとります。T∪{λn∣n≥1}T\cup\{\lambda_n\mid n\ge1\} の有限部分集合は TT の十分大きな有限モデルで満たされるので、コンパクト性定理により TT は無限モデルをもちます。したがって、モデルがちょうど有限構造全体であるような一階の理論は存在しません。

定理 6.4(レーヴェンハイム–スコーレムの定理)✓

LL を言語とする。

  1. (下向き)LL が可算で、理論 Σ\Sigma がモデルをもつならば、Σ\Sigma は高々可算なモデルをもつ。
  2. (上向き)Σ\Sigma が無限モデルをもつならば、任意の無限基数 κ\kappa について、濃度 κ\kappa 以上のモデルをもつ。
証明(定理 6.4)

(1) Σ\Sigma はモデルをもつので、健全性から無矛盾である(矛盾する Σ\Sigma のモデルがあれば、同じモデルで φ\varphi と ¬φ\neg\varphi が成り立ってしまう)。定理 5.7 の証明で作った項モデル M\mathcal{M} は Σ\Sigma のモデルで、領域は可算集合 TT の商だから高々可算。 (2) LL に新しい定数 {dα}α<κ\{d_\alpha\}_{\alpha<\kappa} を加え、Σ′=Σ∪{dα≠dβ∣α≠β}\Sigma'=\Sigma\cup\{d_\alpha\neq d_\beta\mid\alpha\neq\beta\} とする。Σ′\Sigma' の有限部分集合は有限個の定数についての不等式しか含まないので、Σ\Sigma の無限モデルでそれらの定数を相異なる元に解釈して満たせる。コンパクト性定理(定理 6.1。言語が非可算でもよい。その証明で 定理 5.9 を使う)により Σ′\Sigma' はモデル M′\mathcal{M}' をもち、その領域は互いに異なる κ\kappa 個の元 dαM′d_\alpha^{\mathcal{M}'} を含む。LL に制限して Σ\Sigma のモデルを得る。

注意 6.5(スコーレムのパラドックス)

集合論 ZFC の公理は可算言語の一階の文の集合です。ZFC が無矛盾なら、下向きの LS 定理により ZFC は可算モデルをもちます。ところが ZFC はその内部で「非可算集合が存在する」ことを証明します。矛盾に見えますが、「非可算」という性質は「ω\omega から XX への全単射がモデルの内部に存在しない」ことを意味するだけです。可算モデルの外から見れば全単射は存在しても、それがモデルの元でなければ、モデルは自分の中の集合を非可算と判定します。「非可算」はモデルに相対的な性質であり、構造を外から見たときの基数とは別です。

演習 7.1標準

LL を 2 変数関係記号 RR をもつ言語とする。(1) 文 ∃x∀y R(x,y)→∀y∃x R(x,y)\exists x\forall y\,R(x,y)\to\forall y\exists x\,R(x,y) はすべての構造で成り立つことを意味論から示せ。(2) 逆向きの含意 ∀y∃x R(x,y)→∃x∀y R(x,y)\forall y\exists x\,R(x,y)\to\exists x\forall y\,R(x,y) は妥当でないことを、反例の構造を与えて示せ。

解答

(1) 構造 M\mathcal{M} が ∃x∀y R(x,y)\exists x\forall y\,R(x,y) を満たすとする。そのような a∈Ma\in M を一つ取る。任意の b∈Mb\in M について R(a,b)R(a,b) が成り立つ。よって各 bb に対して x=ax=a が R(x,b)R(x,b) を満たすので、M⊨∀y∃x R(x,y)\mathcal{M}\models\forall y\exists x\,R(x,y)。 (2) 領域を N\mathbb{N}、RM={(m,n)∣m≥n}R^{\mathcal{M}}=\{(m,n)\mid m\ge n\} とする。各 nn に対して x=nx=n をとれば R(n,n)R(n,n) なので ∀y∃x R(x,y)\forall y\exists x\,R(x,y) は成り立つ。一方、どの mm についても R(m,m+1)R(m,m+1) は偽なので、∃x∀y R(x,y)\exists x\forall y\,R(x,y) は成り立たない。含意は偽。量化子の順序は交換できません。

演習 7.2標準

群の言語の理論 Σ\Sigma について、「モデルがちょうど捩れ群(すべての元が有限位数の群)全体である」ものは存在しないことを、コンパクト性定理から示せ。

解答

そのような Σ\Sigma があったとする。定数 cc を加え、Σ′=Σ∪{¬(cn=e)∣n≥1}\Sigma'=\Sigma\cup\{\neg(c^n=e)\mid n\ge1\} を考える。有限部分集合に現れる nn の最大値を NN とし、巡回群 Z/(N+1)Z\mathbb{Z}/(N+1)\mathbb{Z} を(これは捩れ群で Σ\Sigma のモデル)、cc を生成元 11 と解釈すると、1≤n≤N1\le n\le N で cn≠ec^n\ne e だから有限部分集合は満たされる。コンパクト性定理により Σ′\Sigma' のモデルがあり、そこでは cc はどの n≥1n\ge1 についても cn≠ec^n\ne e、つまり無限位数の元である。しかしこれは Σ\Sigma のモデル、つまり捩れ群のはずである。矛盾。

演習 7.3標準

この記事の証明体系で仮定 Γ\Gamma を文に限った理由を、次の観察から説明せよ。仮定に論理式 P(x)P(x)(xx が自由)を許し、一般化を自由に使うと {P(x)}⊢∀x P(x)\{P(x)\}\vdash\forall x\,P(x) が導出できてしまう。これが演繹定理と健全性をどう壊すか。

解答

{P(x)}\{P(x)\} から P(x)P(x) を取り、一般化で ∀x P(x)\forall x\,P(x) が得られる。演繹定理が成り立つなら ⊢P(x)→∀x P(x)\vdash P(x)\to\forall x\,P(x) となるはずだが、領域 {0,1}\{0,1\}、P={0}P=\{0\}、s(x)=0s(x)=0 では P(x)P(x) が真で ∀x P(x)\forall x\,P(x) が偽なので、この論理式は妥当でない。演繹定理の証明で壊れるのは一般化の場合で、(L4) σ→∀x σ\sigma\to\forall x\,\sigma が x∈FV(σ)x\in\mathrm{FV}(\sigma) のとき使えないところである。仮定を文に限れば (L4) が常に使え、しかも Γ⊨φ\Gamma\models\varphi を「Γ\Gamma のモデルで φ\varphi がすべての割り当てで成り立つ」と定めておくことで、一般化が健全性を保つ(定理 4.3 の証明の最後の場合)。

演習 7.4易

言語 {0,1,+,⋅,<}\{0,1,+,\cdot,<\} での R\mathbb{R} の完全な理論 Th(R)\mathrm{Th}(\mathbb{R}) は、可算モデルをもつことを示し、その可算モデルが R\mathbb{R} と同型でないことを説明せよ。

解答

言語は有限だから可算。R\mathbb{R} は Th(R)\mathrm{Th}(\mathbb{R}) のモデルなので、定理 6.4(1) により高々可算なモデル K\mathcal{K} がある。Th(R)\mathrm{Th}(\mathbb{R}) は各 nn について 1+⋯+1⏟n≠0\underbrace{1+\cdots+1}_{n}\ne0 を含むので、K\mathcal{K} は有限ではなく可算無限である。R\mathbb{R} は非可算(定理 6.3[濃度と無限])だから、K\mathcal{K} との間に全単射は存在せず、同型でない。実代数的数全体のなす順序体が一例であることが知られている。完備性(上限の存在)は集合の量化を含むので、一階の文では表せない。

  • H. B. Enderton, A Mathematical Introduction to Logic, 2nd ed., Academic Press, 2001 — 第 2 章(一階論理、完全性定理とコンパクト性定理)。
  • D. van Dalen, Logic and Structure, 5th ed., Springer, 2013 — 第 3 章(完全性定理)。
  • K. Gödel, “Die Vollständigkeit der Axiome des logischen Funktionenkalküls”, Monatshefte für Mathematik und Physik 37 (1930), 349–360.
  • L. Henkin, “The completeness of the first-order functional calculus”, The Journal of Symbolic Logic 14 (1949), 159–166.
  • 田中一之編『ゲーデルと 20 世紀の論理学』東京大学出版会、2006–2007。

このテーマの 100 本ノック(100 問)

執筆: Claude Code(Sonnet 5.5)・監査 3 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。