モデル理論 Model Theory


|| 文の意味から真偽を決める感じ

ここでは、主に『意味』について扱っていきます。

数学における『意味論 Semantics』と考えて良いです。

スポンサーリンク

よく分からん人は、

とりあえず『意味』について扱ってる

とか、そんな感じだと思ってればだいたい正解。

 

 

 


目次

 

モデル「これはこう、と決める判断基準の集まり」

   真理値「真偽を表す値のこと( 0,1 とか)」

   真理値割り当て「真理値を命題に割り当てる」

 

解釈「文に真理値を割り当てる」

 

まとめ

 

 

 

 

 


 

なんとなく分かると思いますが、

これはかなり『哲学』っぽいです。

 

 

実際、下半身は『哲学』にずっぽり。

上半身は『数学』に飲み込まれてる感じになります。

 

 


 

 

モデル Model

 

|| 判断基準 (解釈) の塊

モデルってそもそも何?って話だと思うんで、

とりあえずこれについての説明をざっと行っていきます。

 

 

結論だけを述べるなら、

これは「基準(付値 \mathrm{Model} )」のことを指していて、

 

\begin{array}{lllll} \displaystyle \mathrm{Model}[\mathrm{infomation}] &=&\mathrm{True \,\, or \,\, False} \end{array}

 

情報(文)が入ってきたら、

「正しいかどうかの判断」を行う。

そんな役割を持っています。

 

 

え、それだけ?

と思うかもしれませんが、それだけです。

これ以上の意味は特にありません。

 

 

 

 

 

感覚的な話

 

直観的な話をするなら、

「モデル」は『意味を与える枠』のようなもので、

 

 

その中でも『主張の真偽を確定させる』

そういう役割を担うものを主に「モデル」と言います。

 

 

まあ要は「判断の基準」が大量に詰まってる感じで、

具体的には「法律」とか「個人の価値観」とか

そういうやつが『モデル』

 

 

 

まあつまりプログラミングで言うところの

\mathrm{if} 文の塊」がモデルで、

文はこの塊によって真偽を割り振られます。

 

 

 

 

 

充足する Satisfy

 

『モデルの厳密な定義』を考える上で、

「条件の一部」としてこんな単語が出てくることがあります。

 

 

これは「定義の要件」である

\mathrm{Well}\text{-}\mathrm{Defined} 」と似たやつで、

 

 

『モデルっぽいやつから真偽が割り振られた状態』で

『論理式に矛盾が存在しない』場合

「充足している」なんて言って、

 

 

その時に限り、その「モデルっぽいもの」を

『モデルである』とする、みたいな。

 

 

なんかこういう話をするときに

「充足する」なんて単語が出てきます。

 

 

 

あまり意識しませんが、

「モデルの厳密な定義」に関わる話なので

なんとなーく覚えておきましょう。

 

 

 


 


真理値 Truth Value

 

|| 正しいか変かを表す値

「真偽を表す値」のことをこう呼ぶことがあります。

詳しくは『真理値』の記事を参考にしてください。

 

 


 

 

真理値割り当て Truth Assignment

 

|| 真理値の割り当てをするやつ (モデル)

「なにか(論理式とか)」に「真理値」を割り当てるもの

まあつまり『モデル』のことをこう呼ぶことがあります。

 

\begin{array}{rlc} \displaystyle M[φ]&=&\mathrm{True} \end{array}

 

形式的にはこんな感じで、

この M が「真理値割り当て (モデル) 」です。

 

 

 

 

 

実際に真理値を割り当てるとは

 

なにか適当な「文」だったり

それを加工した「論理式」だったりがあるとします。

 

 

とりあえず「 φ 」としましょうか。(お好きに)

 

 

すると人は、この『文の正しさ』とか

『どういう意味なのか』とか

そういう部分に着目したりするわけですが、

 

 

この時点では、

まだ「 φ 」には「真偽」が定まっていませんよね。

 

 

『とある文が存在している』だけで、

まだ「意味の解釈」すらされていません。

 

 

 

しかし普通、人は「文」をそのまま放置したりはせず、

無意識に『意味を読み取ろう』とし、

「その内容を理解」します。

 

 

その結果として「意味は解釈」され、

『その文が正しいかどうかの判定』もされ、

結果的に、その「文の正しさ」は決められる。

 

 

これが『文・主張の解釈の流れ』であり、

意味解釈は、必ずこのような順序を辿っています。

 

 

 

これを見てわかると思いますが、

この手順は一定で、紛れはありません。

 

 

『意味解釈をするもの』され定義すれば、

そこを通すことで「文」は『正しさを獲得する』

この手順は、確かに存在しています。

 

 

 

 

 

意味の解釈 (モデル) の形式化

 

以上のことから、

『意味を解釈するもの』を定義するために、

「主張 φ 」に、真理値を割り当てる「付値 M 」を用意。

 

\begin{array}{lllll} \displaystyle M[φ]&=&\mathrm{True} \end{array}

 

「意味解釈」から「真偽確定」までの手順を確認し、

この『付値 M 』を「モデル」として定義する。 

M\mathrm{Model}M

 

 

以上の流れが『意味解釈から真偽確定までの手順』から

「モデルが定義されるまで」の流れで、

 

 

「モデル」はあくまで、

『文に真偽を与える写像』としてしか定義されていません。

 

 

数学的にはそれ以上の意味はなく、

「モデル」はあくまで『意味解釈の仲介役』

 

 

『モデルを形成するのが人間である』以上、

根本的に、この部分は人間に依存することになります。

 

 

 


 


解釈 Interpretation

 

|| これはこれだという判断 (モデルがやること)

『文の真偽』を『モデルを通して確定させる』こと。

形式的には「 M[φ] 」のことを「解釈」と呼びます。

 

 

M は「モデル」を

φ は「文」を表す記号とします

 

 

これは直観的には「判断」のようなもので、

『正しいかどうかの判定』を行う

直感的にはそんな感じのやつです。

 

 

 

詳しく理解するためには『論証』の知識が必要ですが、

ともかく大枠としては↓みたいな、

 

\begin{array}{llllll} \displaystyle M[ φ ]&=&\mathrm{True \,\, or \,\, False} \end{array}

 

「正しいかどうかを判断する直観」として、

「解釈」という概念を明確に定義しています。

 

 

 

なんか「基準(モデル) M 」があって、

「主張(文) φ 」が与えられて、

「真」にするか「偽」にするか迷う。

 

 

感覚的な「解釈」とそう差異はありませんよね?

実際、今までこれで特に問題らしい問題は生じていませんし。

 

 

 

 

 

厳密な定義

 

『真偽が確定する』ことを指針に定義されています。

まあ数学的に扱いたいんでそりゃそうなんですが、

ともかく、これはそういう感じで定義されています。

 

 

具体的には、

『明確に正しいとする文』を基準に、

「それを否定するもの」を「偽」とする、って感じで。

 

 

 

 

 

命題変数

 

P 」をなにかを主張する『文』とします。

するとこの時、この「 P 」が命題変数です。

 

 

P 』の和訳は「~は~だよ」「~は~です」みたいな

なんかそういうやつだと思ってればOK

 

 

 

 

 

真理値割り当て

 

\mathrm{Model} のイニシャルから

記号「 M 」が採用されています。

M[φ] 」は「真か偽」を出力

 

 

 

 

 

論理式

 

「命題変数」から作られた「式」として

その列を「 φ,ψ 」みたいな記号で表現するとします。

 

 

この時、この記号「 φ,ψ 」がいわゆる論理式です。

 

 

中身は、例えば 3 個の P から作られたなら、

A(P_1,P_2,P_3) 」こんな感じに表現されます。

 

 

より具体的には、

「俺は俺だ」「君は君だ」も論理式だし、

「俺は俺であり、かつ君は君だ」も論理式だよ、って話。

 

 

 

 

 

解釈の定義

 

大きく分けて2つ

それを分けてだいたい4ブロックで構成されています。

 

 

その構成をざっと説明するなら、

「命題定数」「命題変数」について

「アリティ 1 の記号」「アリティ 2 の記号」について

 

 

とまあこのような感じで、

『解釈がなにをするのか』というのを明確に宣言。

そうすることによって『解釈』を厳密に定義しています。

 

 

 

 

 

1. 「命題定数」と「命題変数」

 

原子命題・原子式」を解釈する

ということがどういうことか定義

 

 

 

1.1 「命題定数」について

 

原子式「 ⊤,⊥ 」であれば、

 

\begin{array}{llllll} \displaystyle M[⊤]&=&⊤ \\ \\ M[⊥]&=&⊥ \end{array}

 

こうなるとする。

 

 

要は正しけりゃ「どう解釈しても」正しくて、

変なら「どう解釈しても」変って言ってるだけ

 

 

 

1.2 「命題変数」について

 

原子式「 P_i 」とすると( i は添え字)

 

\begin{array}{llllll} \displaystyle M[P_i]&&=&&\mathrm{True \,\, or \,\, False} \end{array}

 

「真理値割り当て M (モデル) 」は

「原子式」に対して「真か偽であるかを与える」

 

 

要は『解釈』によって、

『モデル』は「必ず真か偽を与える」

ってことをここでは宣言しています。

 

 

まあつまり、

「 解釈 閉論理式 (真偽確定) 」です。

「文の解釈」は、必ずこの結果を返します。

 

 

 

 

 

2. 「論理式」と「命題記号」について

 

当然に感じられることをここでは決めています。

(真理値を見れば明らかなことの確認と確定)

 

 

 

2.1 「否定」について(アリティ 1 の記号)

 

論理式を「 φ 」とすると、

 

\begin{array}{rlc} \displaystyle M[¬φ]&=&¬M[φ] \end{array}

 

「否定の操作は取り出せる」って言ってます。

 

 

まあ要はあれです。

『必ず真偽が確定するように』しています。

 

 

 

2.2 「結合記号」について(アリティ 2 の記号)

 

論理式を「 φ,ψ 」とすると、

 

\begin{array}{lllllll} \displaystyle M[φ∧ψ]&=&M[φ]∧M[ψ] \\ \\ M[φ∨ψ]&=&M[φ]∨M[ψ] \\ \\ M[φ→ψ]&=&M[φ]→M[ψ] \\ \\ M[φ↔ψ]&=&M[φ]↔M[ψ] \end{array}

 

こんな関係が必ず成立するとします。

 

 

これもまあ要はそういうことで、

『文の解釈』によって『真偽が確定』

 

 

「俺のものだしお前のものでもある」(真)

「俺のもの」(真)「お前のもの」(真)

「俺のもの」かつ「お前のもの」(真)

 

 

要はこういうことを確定してる感じです。

『真偽が確定しない文』が紛れないようにしています。

 

 

 

 

 

以上が『解釈の形式的な表現』になるわけですが、

どれも特別なことを言ってるわけではありません。

見返してみれば、全て当たり前のことを言ってます。

 

 

 


 


まとめ

 

「真理値割り当て M 」が「論理式」の「モデル」である。

もしくは「真理値割り当て」が「論理式」を「充足する」とは

厳密にはどういうことか、整理してみます。

 

 

まあ意訳すると↓ってことなんですけど、

 

\begin{array}{lllllllllllll} \mathrm{Proposition} &&\mathrm{True \,\, or \,\, False} &&&& \mathrm{Interpretation} && \mathrm{True \,\, or \,\, False} \\ \\ \\ \displaystyle P_1 &&\mathrm{Unknown} &&&& M「P_1]&&\mathrm{Defined} \\ \\ \displaystyle P_2 &&\mathrm{Unknown} &&&& M「P_2]&&\mathrm{Defined} \\ \\ && &&\vdots \\ \\ \displaystyle P_n &&\mathrm{Unknown} &&&& M「P_n]&&\mathrm{Defined} \end{array}

 

まあ、意識してみれば当たり前の話。

 

 

「文 \mathrm{Proposition} 」が「解釈 \mathrm{Interpretation} 」されて、

『真理値 \mathrm{True \,\, or \,\, False} 』が「決まる \mathrm{Defined}

 

 

モデル理論で言いたいことっていうのは、要はこれだけ。

 

 

 

『正しいと判定できる文』を定めることで、

「それを否定するものを間違っているとする」

 

 

そうすることによって、

『正しいか間違っているか分からないもの』

というのを、これで綺麗に排除してしまいます。

 

 

 

 

 


成果

 

『モデル理論』で発見されたすげえのをざっくり紹介。

詳細は『集合論』の知識やらなんやらがいるので省きますが、

 

 

 

その一つが『レーヴェンハイム・スコーレムの定理

これは「一階述語論理の無限濃度 (サイズ) についての定理」で、

 

 

『無限が作れる → もっとでかい無限も作れちゃう』

みたいなことを示します。

 

 

これはまあ、要は「後付けルール」の話で、

『無限を許容する』→『どこまでも話がでかくなる』

とまあこういう話をちゃんと説明したやつですね。

 

 

 

より根本的には、これは『コンパクト性定理』の話で、

「充足可能性」は「一部(有限)を調べればわかる」

っていうことを保証してるんですけど、

 

 

まあ要はあれです。

「最小限のモデル (最低限のルール)」に、

『ルールの後付けをしていく』と、

 

 

「もっと広い範囲をカバーできるモデルが作れる」って話で、

まあ言われてみればそりゃそうだよねって話です。

 

 

特に疑問に思う部分は無いと思いますが、

モデル理論はこれを『数理的に説明することが可能』

という点で、非常に有用と言えます。