モデル理論 Model Theory


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

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

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

スポンサーリンク

よく分からん人は、

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

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

 

 

 


目次

 

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

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

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

 

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

 

まとめ

 

 

 

 

 


 

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

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

 

 

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

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

 

 


 

 

モデル Model

 

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

モデルって何? という感じだと思うんで、

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

 

 

結論だけを述べると、これは「基準(付値)」のことです。

情報が入ってきたら、その基準を使ってどっちか判断します。

 

 

具体的には「分かるもの」と「分からないもの」の二つに。

真理値割り当てるもの」と言い換えても良いでしょう。

 

 

 

直観的な話をすると『意味』を与える枠のようなものです。

この最低限の基準である「分かる」「分からない」がメイン。

 

 

それを決定する「判断の基準」が大量に詰まってます。

(例えば法律とか個人の価値観とか)

 

 

プログラミング的な感じで言うなら、

なにか情報が入ってきたら「Yes,No」のどっちかを返す感じ。

 

 

感覚的な話をすると、いわゆる人の判断がこれの一部です。

金銭に余裕があれば、誰かに施しをする人もいます。

しかし、同じような条件でも施しをしない人もいる、と。

 

 

プログラミングで言うなら「 \mathrm{if} 文の塊」ですね。

そのときはそれ、このときはこれ、とする基準が詰まってます。

その塊のことを「モデル」と呼んでるわけです。

 

 

これの作られ方はいろいろ考えられますが、

その作り方は、基本的に『構造』と言われます。

これについての詳細は別の記事で。

 

 

 

 

 

充足する Satisfy

 

この「充足する」という言葉の意味は、

モデルである」ということと似た感じの意味になります。

 

 

単なる用語です。

なので、とりあえずその内訳をざっと見ていきましょう。

 

 

そのために、いくつか決まりを用意します。

まずなんらかの「論理式」を「 ( ゚Д゚) 」と置きます。

(記号はなんでもいい)

 

 

次に「真を示す値」を「 」とします。

(真を「正しいと分かる」と考えて良いです)

 

 

 

 

 

ここから、未だに紹介していないものになります。

ともあれ、先に大枠を見せるためにこんな感じに書きます。

 

 

ある「モデル」を「 M\,(Model) 」と表します。

 

 

これを使って、実際にどういう振る舞いをするか見てみましょう。

その振る舞いから「モデル理論」の大雑把な感じを掴んでください。

 

 

 

というわけで、実際に「真理値を割り当て」てみましょう。

とりあえず「 M[( ゚Д゚)]=⊤ 」としてみましょうか。

 

 

これがなにを表しているかというと、

意訳すると↓みたいな感じ。

 

『文 ( ゚Д゚) 』は、この『モデル』の『解釈』によると『真』

 

ここでの「 M 」が『モデル』で、

M[( ゚Д゚)] 」を『解釈』と言います。(?)

 

 

これが『モデル理論』の、全体像の感覚になります。

はい、まあよく分からんですよね。

(自分は最初 は? ってなりました)

 

 

ともかく用語が多くてあれなので、

一つずつじっくりと見ていきましょうか。

 

 

 


 


真理値 Truth Value

 

|| 正しいか変かを表すなにか

主に「真」「偽」を表す「値」のことです。

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

 

 


 

 

真理値割り当て Truth Assignment

 

|| 真理値の割り当てをするやつ

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

『モデルの役割』と思って良いです。

 

 

こんだけじゃ、まあそうだろってなると思います。

けど、だからそれどういうことなの? となると思うので、

どんな感じのものなのか見ていきましょう。

 

 

 

 

 

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

 

なにか「文」だったり「論理式」だったりがあるとします。

これを「 φ 」としましょう。(お好きに)

 

 

 

この時点では、まだ「 φ 」には「真偽」が定まってません。

でも、なんとかして「真偽を定めたい」ので、

φ 」に、その値を割り当てる「付値 M 」を用意します。

(要するに真偽を定める基準を持ってくるということ)

 

 

これを使って「 φ 」を「真( 1 )」だと示してみましょう。

すると「 M[φ]=1 」という感じになります。はい。

そして、この「 M 」こそが「真理値割り当て」の正体なわけです。

MModelM

 

 

 

以上、詳細は『真理値割り当て』にて。

 

 

 


 


解釈 Interpretation

 

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

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

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

 

 

M は「モデル」を

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

 

 

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

『正しいかどうかの判定』を行うあれです。

 

 

 

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

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

 

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

 

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

というのを形式にしたものを「解釈」と定義します。

 

 

 

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

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

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

 

 

感覚的な「解釈」とそう差異は無いと思われます。

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

 

 

 

 

 

厳密な定義

 

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

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

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

 

 

 

 

 

命題変数

 

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

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

 

 

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

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

 

 

 

 

 

真理値割り当て

 

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

記号「 M 」としてこれを表現すます

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

 

 

 

 

 

論理式

 

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

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

 

 

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

 

 

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

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}

モデル理論で言いたいことは、要はこういうことです。

 

 

 

 

 


成果

 

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

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

 

 

 

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

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

 

 

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

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

 

 

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

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

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

 

 

 

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

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

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

 

 

まあ要はあれです。

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

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

 

 

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

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

 

 

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

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

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