【Wathematicaアドベントカレンダー企画2022】命題論理のコンパクト性と完全性

 

はじめに

こんにちは、かまあげです。うだるような暑さですね。私も茹ってしまいそうです。かまあげだけに。

数学基礎論についてはどのようなイメージをお持ちでしょうか。なんか「不完全性定理」がどうとか、「メタ数学」がどうとか、なんか断片的に聞いたことがあるのではないでしょうか。

不完全性定理に矛盾するので神は存在しない!!!!!!!」とかいうよくわからない主張(?)を見たことがある人もいるかもしれません。これについては諸般の事情によって触れないことにします。なんか怖いし...

 

あと、一応この記事に関しては数学の前提知識とかはありません。「いやタイトルからして意味不明だけど」となっているかもしれませんが、説明するので大丈夫です。

加えて、後半に集合論の知識を仮定するパートが存在していますが、まあ別に知らなくても「コンパクト性」って何?「完全性」って何?くらいは理解できるようにしたつもりです。ちゃんと頭からつま先まで知りたいのであれば集合論の本を買いましょう。松坂集合位相とか。買って衝撃の稲妻を走らせましょう。

ちなみに、緩い議論が散見されると思いますが、一応「数学基礎論入門」みたいなノリで書いたので、軽いノリで読んでくれると嬉しいです。興味を持ったら、キューネンとか最近出たエンダートンの訳書とか買って読みましょう。もっとこう、ちゃんと書いてあるので...。

 

導入

数学基礎論ってなんでしょうか。

いや、私もよく知っているわけではないですが、少なくとも一側面として「証明って何?」ということを掘り下げて考えている、というのがあります。

そしてこの記事では主にその側面について触れます。

一応いうと数学基礎論の守備範囲って結構広いです。まあ公理的集合論と密接にかかわっている部分があるので、そりゃそう、って感じですが...

 

さて、私たちが数学のいわゆる問題を解くとき、「Aという仮定からBが導けて、BからCが導けるから、Cと仮定Dを合わせてEという結論が...」みたいなことをやっていますね。

他方、「Aでないと仮定すると矛盾するからAは正しくて...」とか、「BでないならばAでないから、AならばBで...」とかもやりますよね。

 

この前者をいわゆる「モーダス・ポネンス」な推論と言います。ちゃんと書くなら、

P ならば Q である。
P である。
従って、Q である。

という感じ。「導けてるな~」という感じがしますね。

 

後者はいわゆる「トートロジー的言い換え」とか、まあ単に「トートロジー」とかと言いますね。この用語は後でちゃんと定義しますが、まあ要するに「おんなじこと言ってる」ってことです。「言い換え」です。そしてこの推論そのものはA,Bの内容に関わらず常に正しいですよね。

 

こういうのを記号列とかを用いて定式化しよう、というのが「数学基礎論」の一側面です。「BならばA」であるというときに「Aである」ことから「Bである」ことを導いたら誤りですよね。数学的に「正しい」推論ってなんだろう、ということを定義してみたいわけです。

 

定義など

以下、青字の定義は参考文献[1]に基づきます。

文記号、文結合記号

では、様々な用語の解説をしていきましょう。

 

まず、 A_1,A_2,\cdots,A_n,\cdots文記号と呼びます。

これには、「リンゴは赤い」とか、「塩化ナトリウムの固体は白い」とか、そういう真偽を判定できる文が入ります。「すべてのリンゴは赤い」とか、そういうことを言っているわけではないことに注意してください

 

そして、 \neg,\land,\lor,\rightarrow,\leftrightarrow文結合記号と呼びます。

順番に、否定、かつ、または、ならば、同値(英語でいうiff)を意味します。

これらは文記号と組み合わせて使います。

たとえば、 A_1に「リンゴは赤い」 A_2に「梨は美味しい」という文が入っているとしましょう。

 A_1\rightarrow A_2は「リンゴが赤いなら、梨は美味しい」と翻訳できます。

同様に、 \neg A_1は「リンゴは赤くない」と翻訳できますね。

 

さらに、区切りとして括弧を導入します。例えば

 \neg A_1\rightarrow A_2

という記号列を考えてみると、これは

「「 A_1でない」ならば A_2である」

「「 A_1ならば A_2」でない」

の二つのどちらであるのかよくわかりません。翻訳文で「」を導入しているように、

 (\neg A_1)\rightarrow A_2

 \neg (A_1\rightarrow A_2)

とすれば見分けがつきますね。そういうわけで、「()」を区切りとして導入します。

 

ところで、\neg \rightarrow A_1を翻訳することはできるでしょうか?

うーん、ちょっと難しいですね。 \rightarrowの両隣には文記号が欲しいです。

つまり、「翻訳できる記号列」「翻訳できない記号列」が存在するわけです。

これを踏まえて、「翻訳できる記号列」として整式を定義します。具体的には、

(a) 個々の文記号は整式である。
(b)  \alpha \betaが整式なら、 (\neg \alpha), (\alpha\land\beta),(\alpha\lor\beta),(\alpha\rightarrow\beta),(\alpha\leftrightarrow\beta)も整式である。
(c) (a)(b)を満たす記号列のみが整式である。

とします。

 

真理値割り当て

文記号や整式が与えられたとき、それが「正しい」「正しくない」ということをそれぞれに対して返す写像を考えてみましょう。

以下、文記号の集合は \mathcal{S}とし、 \{F,T\}を真理値の集合とします。

真理値は、ここでは要するに個々の文記号に対して「True」「False」を返すものです。

その頭文字をとっているわけですね。そして、 \mathcal{S}の各要素に対して「正しい」「正しくない」を返す写像を以下のように定義しましょう。

 v:\mathcal{S}\rightarrow\{F,T\}

 A\mapsto T(\text{Aが正しい})

 A\mapsto F(\text{Aが正しくない})

これを真理値割り当てと言います。ただ、これだけだと整式に真理値が定まらなくて微妙ですね。でも、でたらめに拡張するとまずそうです。 v(A_1)=T,v(A_2)=F v(A_1\rightarrow A_2)=Tになったら困りますね。というわけで、良い感じのルールを満たした拡張を考えたいわけです。

以下、 \overline{\mathcal{S}}を、 \mathcal{S}から5種類の文記号操作を有限回行って作れるような整式全体の集合とします。硬い言葉(?)を使えば、 \mathcal{S}が5種類の文記号操作によって生成する集合が \overline{\mathcal{S}}です。

 \overline{v}:\overline{\mathcal{S}}\rightarrow\{F,T\}

を、以下のルールを満たすように定めます。

0. どの A\in \mathcal{S}についても、 \overline{v}(A)=v(A)である。

 

以下では(任意に) \alpha,\beta\in\overline{\mathcal{S}}とします.

 

1.  \overline{v}(\neg \alpha)=T   (  \overline{v}(\alpha)=Tのとき)

 \overline{v}(\neg \alpha)=F   (それ以外の時)

 

2.  \overline{v}(\alpha\land\beta)=T   (  \overline{v}(\alpha)=Tかつ  \overline{v}(\beta)=Tのとき)

 \overline{v}(\alpha\land\beta)=F   (それ以外の時)

 

3.  \overline{v}(\alpha\lor\beta)=T   (  \overline{v}(\alpha)=Tまたは  \overline{v}(\beta)=T(両方でもよい)のとき)

 \overline{v}(\alpha\lor\beta)=F   (それ以外の時)

 

4.  \overline{v}(\alpha\rightarrow\beta)=F   (  \overline{v}(\alpha)=Tかつ  \overline{v}(\beta)=Fのとき)

 \overline{v}(\alpha\rightarrow\beta)=T   (それ以外の時)

 

5.  \overline{v}(\alpha\leftrightarrow\beta)=T   (  \overline{v}(\alpha)=\overline{v}(\beta)のとき)

 \overline{v}(\alpha\leftrightarrow\beta)=F   (それ以外の時)

とすればよいです。真理値表を書いてみれば(つまり、T,Fの可能性をすべて書き出して表にまとめてみれば)この定義の妥当性がわかると思います。

そして、もちろんこの真理値割り当ては各 vに対して一意です。直感的にはそれはそう、という感じですが、これをちゃんと証明することはここではしません。実のところ、それだけで一つ記事が書けてしまいますので...

気になる人は再帰定理、などで調べてみるとよいです。一応、定理として書いておきます。

 

定理1

集合 \mathcal{S}へのどんな真理値割り当て vに対しても、前述の条件 0~5に合致する写像 \overline{v}:\overline{\mathcal{S}}\rightarrow\{F,T\}が存在する。

 

あと少し、定義を書いておきましょう。

真理値割り当て \overline{v}と整式 \varphiについて \overline{v}(\varphi)=Tが成り立つとき、 \varphi \overline{v}充足すると言います。

 \Sigmaをとある整式の集合、 \tauを整式とします。 \Sigma \tauトートロジー的に含意するとは、 \Sigma \tauに現れる文記号への真理値割り当てについて、それが \Sigmaのすべての要素を充足するなら、 \tauをも充足することを言います。 \Sigma\vDash\tauと書きます。

また、ある整式 \tauが、 \tauに現れる文記号へのどんな真理値割り当てについても \overline{v}(\tau)=Tを満たしているとき、 \tauトートロジーであると言います。 \varnothing \vDash \tauですね。

 

健全性、完全性

...さて、ここまで長々と用語の定義をしてきたわけですが、これらを用いて示したいのは「命題論理の完全性」でした。では、健全性と完全性ってそもそも何でしょうか。ここでは一般的な定義を扱うことはしませんが、大雑把に言えば、健全性は「証明できる式は正しい式である」こと、そして完全性は「正しい式は証明できること」となります。ここではこの「証明できる」ことを以下のように定義しましょう。

 

 \Sigmaを整式の集合とする。 \Sigmaからの演繹とは、

整式の有限列\lt\alpha_0,\cdots,\alpha_n\gtであって、全ての k\leq nについて

(a)  \alpha_kトートロジーである

(b)  \alpha_k\in\Sigma

(c)  i,j \lt kを満たす i,j\in\mathbb{N}で、 \alpha_i \alpha_j\rightarrow\alpha_kという整式になっている

( (c)が成立しているとき、 \alpha_k \alpha_i \alpha_kからモダス・ポネンスで得られているという)

ある整式 \tauについて、 \Sigmaからの演繹でその末尾が \tauになるようなものが存在するとき、 \tau \Sigmaの下で証明可能と呼ぶことにする。

 

一つ例を挙げておきましょう。

問2 

 S,P,Rを文記号とする。

 \Sigma = \{\neg S\lor R, R\rightarrow P, S\}

からPが証明可能であることを示せ。

Pを末尾とする演繹を作ればよい。実際、

 \lt S, (\neg S\lor R), ( (\neg S\lor R)\rightarrow(S\rightarrow R) ),(S\rightarrow R),R,(R\rightarrow P),P\gt

とすると、各要素は整式であって、

 S \in \Sigma

 (\neg S\lor R)\in\Sigma

 ( (\neg S\lor R)\rightarrow(S\rightarrow R) ): トートロジー

 (S\rightarrow R):\alpha_2:\alpha_1\rightarrow \alpha_3

 R: \alpha_3:\alpha_0\rightarrow\alpha_4

 (R\rightarrow P)\in\Sigma

 P:\alpha_5:\alpha_4\rightarrow\alpha_6

なので、確かに上記は \Sigmaからの演繹となっている。□

 

次に、以下の命題を示します。

トートロジー的含意が「結論を導いている」ことに対応していることがわかれば、この命題はいわば健全性を示していると言えるでしょう。

 

命題3

\lt\alpha_0,\cdots,\alpha_n\gtを整式の集合 \Sigmaからの演繹とする。

このとき、すべての k\leq nについて \Sigma\vDash\alpha_kである。

証明

kについての数学的帰納法によって示す.

 (i)\ k=0のとき

 \alpha_0は(c)を満たしえないので、 \alpha_0トートロジーであるか、 \alpha_0 \in \Sigmaである。

トートロジーならその真理値は常に Tで、 \alpha_0\in\Sigmaならトートロジー的含意の定義から \Sigma\vDash\alpha_0

 

 (ii)すべての k\leq m-1\ (m\in\mathbb{N})について \Sigma\vDashを仮定する。

このとき、 \Sigma\vDash\alpha_mを示す。

 \alpha_mが(a)か(b)を満たしているときは上記同様にして成立。

 \alpha_mが(c)を満たすとき、 i,j\lt mを満たす等式で \alpha_i:\alpha_j\rightarrow \alpha_mとなっている。 i,j\lt mより \Sigma\vDash\alpha_iかつ \Sigma\vDash\alpha_jなので、このとき v(\alpha_m)=Tである.よって \Sigma\vDash\alpha_m. □

 

次に完全性を示すことにしましょう。その前に、少しだけ用語と、定理を紹介しておきます。

 

整式の集合\Sigmaの要素すべてを充足するような真理値割り当てが存在するとき、 \Sigma充足可能であると言います。

また、 \Sigmaのすべての有限部分集合が充足可能であるとき、 \Sigma有限充足可能であると言います。

 

このとき、一見非自明な次の定理が成り立ちます。

 

定理4 (コンパクト性定理)

整式の集合が充足可能であることと、その整式の集合が有限充足可能であることは同値。

 

系5  \Sigma\vDash\tauならば、有限集合 \Sigma_0\subset\Sigmaで、 \Sigma_0\vDash\tauを満たすものが存在する。

 

そして、これらの証明はおまけに回すことにします。(すこし難しいので)

というわけで、これを用いると完全性が次のように示せます。

 

定理6

 \Sigma\vDash\tauであるときは必ず、 \Sigmaからの演繹で、その末端が \tauであるものが存在する。

証明

コンパクト性定理の系から、\Sigma '=\{\alpha_0,\cdots,\alpha_n\}\subset\Sigmaであり \Sigma '\vDash\tauとなる有限集合 \Sigma 'が存在する。

いま整式 \beta,\gammaが演繹の列に存在するとすると、 (\beta\rightarrow(\gamma\rightarrow(\beta\land\gamma) ) ) トートロジーなので、(c)を繰り返し用いると、演繹の列に (\beta\land\gamma)を置くことができる。

つまり ( ( (\alpha_0\land\alpha_1)\land\cdots)\land\alpha_n) という整式を演繹の列に置くことができて、ここから ( ( ( (\alpha_0\land\alpha_1)\land\cdots)\land\alpha_n)\rightarrow\tau)も置けるので、従う。□

 

おわりに

なんか最後の証明が短すぎて、「コンパクト性定理が偉いだけでは?」となってしまいそうな気がしています。実際偉いんですが...。

ちなみにこの名前の通り、位相空間論のコンパクト性とのアナロジーがあって、実際位相の言葉を用いてコンパクト性定理を示すことができたりします。(参考文献[4]を参照.)

 

あとはどんな疑問が残るでしょうか...。「文記号って可算無限個しかないの?」とかでしょうか。これは僕もよくわかってないのですが、そう言える分野とそういえない分野があるような気がしています。そしてこの記事でそれが問題になるのはコンパクト性定理のところでしょうから、一応おまけの証明は可算無限個でなくても対応できるものにしておきました。しかし実際どうなんでしょう。わかる人いたら教えてください。

 

それともう一つ、これは半分宣伝なんですが、量子論理ってものがあります。

私たちは真理値の集合としてFとTの二元集合を採用したわけですが、これを三つとか、128個とか、可算無限個とか、の集合に拡張したりするらしく、その中の分野の一つに量子論理があるらしいです。誰かがそれで記事を書くというのを風の噂で耳にしたので、書いておきます。

 

おまけ

コンパクト性定理と、その系を示します。Zorn補題を用います。

 

定理4(再掲) (コンパクト性定理)

整式の集合が充足可能であることと、その整式の集合が有限充足可能であることは同値。

証明

\Rightarrowは明らか。 \Leftarrowを示す。

 \Sigmaを整式の集合として、 \Sigmaの任意の有限部分集合が充足可能であるとする。

ここで必ずしも有限でない \Gamma\subset\Sigmaをとる。 \Gammaを含み、かつそのすべての有限部分集合が充足可能であるような集合全体の集合に包含によって順序を導入する。これを \Phiとする。 \Phiの任意の全順序部分集合 \deltaに対して、 \Delta=\cup\deltaとしてその要素の和集合を定める。このとき、 \Deltaは有限充足可能である。

実際、 \Deltaが有限充足可能でない、つまり、ある有限集合 A=\{A_0,\cdots,A_n\}\subset\Deltaが存在してAが充足不能なら、各 A_iに対して、 A_i\in\theta_iを満たす \theta\in\deltaが存在する。 \deltaは全順序部分集合だったので、 \theta_iのうち最大のものを \thetaとすると \Delta\subset\thetaが成立するが、 \theta\in\deltaより \thetaは有限充足可能である。よって矛盾。

よってZorn補題によって \Gammaを含むような極大有限充足可能集合が存在する。これを \Gamma^*とする。いま \Gamma=\Sigmaとすれば \Sigma\subset\Gamma^*であって、当然 \Sigmaも有限充足可能である。□

 

系5(再掲)  \Sigma\vDash\tauならば、有限集合 \Sigma_0\subset\Sigmaで、 \Sigma_0\vDash\tauを満たすものが存在する。

証明

全ての有限部分集合 \Sigma_0\subset\Sigmaについて \Sigma_0\nvDash\tau

 \Rightarrow\ \Sigma_0\cup\{\neg\tau\}が全ての有限部分集合 \Sigma_0\subset\Sigmaについて充足可能

 \Rightarrow\ \Sigma\cup\{\neg\tau\}が有限充足可能

 \Rightarrow\ \Sigma\cup\{\neg\tau\}が充足可能

 \Rightarrow\ \Sigma\nvDash\tau

 

参考文献

[1] Herbart B.Enderton著, 嘉田勝訳"論理学への数学的手引き"

ほぼこれの受け売りみたいなところがあります...。

 

[2] 

dbfin.com

途中参考にしたところがあります。

主に[1]の演習になっている内容を書きたくてこの記事を書き始めたんですが、[1]には演習の解答がないので、一応確認の意味で参考にさせていただきました。

 

[3] 

http://hagi.is.s.u-tokyo.ac.jp/pub/staff/hagiya/kougiroku/ronri/2.pdf

命題論理についていろんなことがまとまってるPDFです。

コンパクト性定理の証明を参考にしました。

 

[4]

https://www.kurims.kyoto-u.ac.jp/~terui/kistec2018.pdf

位相と命題論理のつながりについてのPDFです。全然読んでないので、位相空間論がちゃんと理解できたら読みたい...。