|| 文の意味から真偽を決める感じ
ここでは、主に『意味』について扱っていきます。
数学における『意味論 Semantics』と考えて良いです。
スポンサーリンク
よく分からん人は、
とりあえず『意味』について扱ってる
とか、そんな感じだと思ってればだいたい正解。
目次
・モデル「これはこう、と決める判断基準の集まり」
真理値「真偽を表す値のこと( 0,1 とか)」
真理値割り当て「真理値を命題に割り当てる」
・解釈「文に真理値を割り当てる」
・まとめ
なんとなく分かると思いますが、
これはかなり『哲学』っぽいです。
実際、下半身は『哲学』にずっぽり。
上半身は『数学』に飲み込まれてる感じになります。
モデル Model
|| 判断基準 (解釈) の塊
モデルって何? という感じだと思うんで、
とりあえずこれについての説明を行っていきます。
結論だけを述べると、これは「基準(付値)」のことです。
情報が入ってきたら、その基準を使ってどっちか判断します。
具体的には「分かるもの」と「分からないもの」の二つに。
「真理値を割り当てるもの」と言い換えても良いでしょう。
直観的な話をすると『意味』を与える枠のようなものです。
この最低限の基準である「分かる」「分からない」がメイン。
それを決定する「判断の基準」が大量に詰まってます。
(例えば法律とか個人の価値観とか)
プログラミング的な感じで言うなら、
なにか情報が入ってきたら「Yes,No」のどっちかを返す感じ。
感覚的な話をすると、いわゆる人の判断がこれの一部です。
金銭に余裕があれば、誰かに施しをする人もいます。
しかし、同じような条件でも施しをしない人もいる、と。
プログラミングで言うなら「 \mathrm{if} 文の塊」ですね。
そのときはそれ、このときはこれ、とする基準が詰まってます。
その塊のことを「モデル」と呼んでるわけです。
これの作られ方はいろいろ考えられますが、
その作り方は、基本的に『構造』と言われます。
これについての詳細は別の記事で。
充足する Satisfy
この「充足する」という言葉の意味は、
「モデルである」ということと似た感じの意味になります。
単なる用語です。
なので、とりあえずその内訳をざっと見ていきましょう。
そのために、いくつか決まりを用意します。
まずなんらかの「論理式」を「 ( ゚Д゚) 」と置きます。
(記号はなんでもいい)
次に「真を示す値」を「 ⊤ 」とします。
(真を「正しいと分かる」と考えて良いです)
ここから、未だに紹介していないものになります。
ともあれ、先に大枠を見せるためにこんな感じに書きます。
ある「モデル」を「 M\,(Model) 」と表します。
これを使って、実際にどういう振る舞いをするか見てみましょう。
その振る舞いから「モデル理論」の大雑把な感じを掴んでください。
というわけで、実際に「真理値を割り当て」てみましょう。
とりあえず「 M[( ゚Д゚)]=⊤ 」としてみましょうか。
これがなにを表しているかというと、
意訳すると↓みたいな感じ。
『文 ( ゚Д゚) 』は、この『モデル』の『解釈』によると『真』
ここでの「 M 」が『モデル』で、
「 M[( ゚Д゚)] 」を『解釈』と言います。(?)
これが『モデル理論』の、全体像の感覚になります。
はい、まあよく分からんですよね。
(自分は最初 は? ってなりました)
ともかく用語が多くてあれなので、
一つずつじっくりと見ていきましょうか。
真理値 Truth Value
|| 正しいか変かを表すなにか
主に「真」「偽」を表す「値」のことです。
詳しくは『真理値』の記事を参考にしてください。
真理値割り当て Truth Assignment
|| 真理値の割り当てをするやつ
「なにか(論理式とか)」に「真理値」を割り当てるものです。
『モデルの役割』と思って良いです。
こんだけじゃ、まあそうだろってなると思います。
けど、だからそれどういうことなの? となると思うので、
どんな感じのものなのか見ていきましょう。
実際に真理値を割り当ててみる
なにか「文」だったり「論理式」だったりがあるとします。
これを「 φ 」としましょう。(お好きに)
この時点では、まだ「 φ 」には「真偽」が定まってません。
でも、なんとかして「真偽を定めたい」ので、
「 φ 」に、その値を割り当てる「付値 M 」を用意します。
(要するに真偽を定める基準を持ってくるということ)
これを使って「 φ 」を「真( 1 )」だと示してみましょう。
すると「 M[φ]=1 」という感じになります。はい。
そして、この「 M 」こそが「真理値割り当て」の正体なわけです。
(M は 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} 」
モデル理論で言いたいことは、要はこういうことです。
成果
『モデル理論』で発見されたすげえのをざっくり紹介。
詳細は『集合論』の知識やらなんやらがいるので省きますが、
その一つが『レーヴェンハイム・スコーレムの定理』
これは「一階述語論理の無限濃度 (サイズ) についての定理」で、
『無限が作れる → もっとでかい無限も作れちゃう』
みたいなことを示します。
これはまあ、要は「後付けルール」の話で、
『無限を許容する』→『どこまでも話がでかくなる』
とまあこういう話をちゃんと説明したやつですね。
より根本的には、これは『コンパクト性定理』の話で、
「充足可能性」は「一部(有限)を調べればわかる」
っていうことを保証してるんですけど、
まあ要はあれです。
「最小限のモデル (最低限のルール)」に、
『ルールの後付けをしていく』と、
「もっと広い範囲をカバーできるモデルが作れる」って話で、
まあ言われてみればそりゃそうだよねって話です。
特に疑問に思う部分は無いと思いますが、
モデル理論はこれを『数理的に説明することが可能』
という点で、非常に有用と言えます。