|| 文の意味から真偽を決める感じ
ここでは、主に『意味』について扱っていきます。
数学における『意味論 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} 」
モデル理論で言いたいことっていうのは、要はこれだけ。
『正しいと判定できる文』を定めることで、
「それを否定するものを間違っているとする」
そうすることによって、
『正しいか間違っているか分からないもの』
というのを、これで綺麗に排除してしまいます。
成果
『モデル理論』で発見されたすげえのをざっくり紹介。
詳細は『集合論』の知識やらなんやらがいるので省きますが、
その一つが『レーヴェンハイム・スコーレムの定理』
これは「一階述語論理の無限濃度 (サイズ) についての定理」で、
『無限が作れる → もっとでかい無限も作れちゃう』
みたいなことを示します。
これはまあ、要は「後付けルール」の話で、
『無限を許容する』→『どこまでも話がでかくなる』
とまあこういう話をちゃんと説明したやつですね。
より根本的には、これは『コンパクト性定理』の話で、
「充足可能性」は「一部(有限)を調べればわかる」
っていうことを保証してるんですけど、
まあ要はあれです。
「最小限のモデル (最低限のルール)」に、
『ルールの後付けをしていく』と、
「もっと広い範囲をカバーできるモデルが作れる」って話で、
まあ言われてみればそりゃそうだよねって話です。
特に疑問に思う部分は無いと思いますが、
モデル理論はこれを『数理的に説明することが可能』
という点で、非常に有用と言えます。