論理公理 Logical Axioms


|| どう見ても正しい感じの論理

「論理式」についての「公理」です。

「証明」などを行う上で、押さえておく必要があります。

スポンサーリンク





目次


量化記号の公理

等号の公理


まとめ








多いものだと「トートロジー」も「論理公理」に当たります。

とはいえ、これは別の記事で扱います。(基本だけでほんとに多い)




ともかく「論理公理」とは、こういうものです。

どう見ても『正しいとしか思えない』やつを集めたものになります。

なので、必然的に「恒真命題(トートロジー)」は論理公理です。






説明の準備


ともかく、必要になる「記号」について確認しましょう。

ざっと「変数」「項」「論理式」を『記号』で表します。




・「個体(変数)」を用意。

x,y 」とか。




・「」も必要。(定数、変数、関数、のどれか)

t,t_1,t_2,...,t_n,u,u_1,u_2,...,u_n 」としておきます。




・「論理式」は主役なので必須。

φ,ψ 」とします。







量化記号の公理「 ∀,∃


大きく分けて三つあります。

その内訳は「代入」「分配」「否定」についてです。



どれも『人間の直観』を形式にしただけになります。

ですから難しく考える必要はありません。




・「代入」に関すること


tx に代入可能」なら、

代入規則証明論で)


∀x\,φ\,→\,φ_x[t]



右のやつ「 φ_x[t] 」は、自由変数 x を項 t で置き換えた式です。

単に xt に変わっただけなので、難しく考えないように。




訳すと、左は「全ての x が、 φ を満たす」と言ってて、

だったら右「 x に、項 t を代入したもの」は正しいと。




「同値」ではなく「包含」なのは、

項「 t 」に自由変数が含まれるかもしれないからです。






・「分配法則」っぽいやつ


[∀x\,(φ→ψ)]\,→\,[∀x\,φ\,→\,∀x\,ψ]




同値じゃない理由だけが重要です。

結論から逆算すると、右だけ広いですね。



包含記号が量化記号の外に出たことで、

少し条件が弱くなったんでしょう。




具体的な値を入れてみると分かります。

左は「包含が真である」ことは確実ですが、

右は「包含が真である」とは限らないわけですね。

(量化されてないんで)



左は「包含関係」が成立していることが確定して「 x 」が決まって、

右は「包含関係」の成立は置いといて「 x 」が決定されます。

ってなわけで、右の方が「 x 」の範囲が広くなっちゃうわけです。




もっとざっくり言うなら、

左は「~なら~だよ」が絶対に正しくなるけど、

右は「~なら~だよ」は正しいとは限らない、という感じ。






・「否定」について


∀x\,¬φ\,≡\,¬(∃x\,φ)



訳は、左は「 x は全部、論理式 φ の否定を満たす」と。

それと右の「論理式を満たす x なんて無い」が一緒だって言ってます。

(てかこれド・モルガンの法則です)




φ 」を満たす『 x は存在しない』(中のどこにもない)と、

φ ではない」を満たす『全ての x 』(外側の全部)は、

指してる「 x 」の内容が同じことだ、って感じ。



要は「内側にはなんもない」と「外側の全部」ですから。

単に「見ているのが内か外か」という話なだけです。







等号の公理「 =


これは「言語」が「等号」を持つときのものです。

大きく分けて2つあります。




・同一律


x=x



あたりまえーな感じのやつ。

こいつは確実に全ての前提に来ます。

残念ながら否定の余地がありません。






・「代入」するときの「変数」の役割


これについては、条件が少し面倒くさいものになります。

ただ、直観的にはそんなでもないかと。

要は、項は項で、ただ置き換えてるだけだよ!みたいな感じなので。




「述語記号」を「 P 」とします。

なんでもいいように(一般性)「 n 変数述語記号」とします。

ややこしいと思うなら「 2 変数」で考えるのもありです。




このとき、等号の公理は↓になります。


[x=y]\,→\,[P(t_1,t_2,...,t_n)\,→\,P(u_1,u_2,...,u_n)]



左は「変数が同じ」と訳せて、

右は「 tu に置き換えても正しい」と言ってます。




ただ、ここでの「 tu 」には面倒な決まりがあります。

(無いと u の範囲が広すぎてやばい)






要約すると「項 u 」は「項 t 」を元にしてできてます。

具体的には「変数 x 」を、いくつか「変数 y 」に置き換えて。

x=y って前提の元で)




上のをもっと厳密にいうのが、ちょっと面倒なんです。

というわけで↓に書いていきます。

(↑の感じだと、なんか曖昧な部分が残ります)

(「同値」ではなく「包含」の理由がこれ)






まず「変数(個体)」を固定します。

具体的には x=y ですけど、真偽は分からん。



その上で「項」の、なんらかの「関係」について見ていきます。

とりあえず「関係」を、記号「 」で表します。(なんでもいい)



はい、というわけでやっと前提が整いました。

ようやく定義になります。




当然のように「再帰的定義」です。

「項 u 」についての定義となります。



『項』ですから、大きく分けて「変数」「定数」「関数記号」の3つ。

「変数」だけ2つで、他は1個になります。






「定数」について


ただ項は項だって言ってるだけです。

それを形式的に表現すると↓になります。



項が「定数 c 」(前提)なら、

u≈c 」は「 u=c 」と定義されます。






「関数記号」について


ここも、単に項は項だって言ってるだけです。

難しく考える必要はありません。

形式的表現がちょっと面倒なだけで。




「項」があって「アリティ n の関数記号」がある(前提)

このとき↓を満たす「項 u_1,u_2,...,u_n 」があって(存在)

[f(t_1,...,t_n)≈u]≡[t_1≈u_1,...,t_n≈u_n] なら、



u=f(u_1,u_2,...,u_n) と定義されます。



うげ、という感じですが、

こんだけ書いて、要は「項は項だぞっ☆」って言ってるだけ。

『関数について』どうたら、って話では確かに特殊なんですけど。






「変数」について


ここだけが重要になる部分で、しかも重要なのは2つ目だけ。

それ以外は単なる「項の定義」です。




1つ目は、分かってる変数「 x,y 」について、

[x≈u]≡[(x=u)∨(y=u)] (前提 x=y より)



ここまでが、単なる確認の話になります。

核心部分は次のやつです。






2つ目、誰だ状態の変数「 z 」について。

この「分かっていない変数」が、この定義で最重要な部分になります。



ただし「 x 」と別人だということは分かってるとします。

でもまあ、詳しい中身はなんも分かってません。



このとき [z≈u]≡[z=u]



ここを定義してないと、曖昧な部分が残っちゃうわけです。

「中身が分かってない変数」を、そのまま使うことになっちゃうので。



ですから「確定させるため」の定義が必要でしたと、そんな感じ。

逆にこれが無いと数学がぶっ壊れるわけですね。




ぶっちゃけこの1行だけでも良い気がしますけど、

「項が項である」ってことははっきりさせとかないといけないんで。







まとめ


条件でごちゃごちゃしちゃったんで、結果だけおまとめ。

ただし↑の内容を理解してないとよく分からんと思います。




「トートロジー(恒真命題)」は論理公理だよ!


難しく考える必要はありません。

単に『正しいものは正しい』ってだけの話。




量化記号について


∀x\,φ\,→\,φ_x[t] 」だよ!よくわかんないね!(代入)

[∀x\,(φ→ψ)]\,→\,[∀x\,φ\,→\,∀x\,ψ] 」だそうだよ!当然!

∀x\,¬φ\,≡\,¬(∃x\,φ) 」ど・もるがん!




等号について


x=x 」だって!当然だね!

[x=y]\,→\,[P(t_1,t_2,…,t_n)\,→\,P(u_1,u_2,…,u_n)] 」みたい!

こいつ、なんかうるさいね!(代入についてです)