△述語理論の3値化

 一階述語論理(FOL)を3値論理;既存のもの

一階述語論理(FOL)を3値論理に拡張した体系あるかchatGPTで調べてみました。

  • クレーネの3値論理(Kleene’s Three-Valued Logic)
  • ウカシェヴィッチの3値論理(Łukasiewicz’s Three-Valued Logic)

とのことで、まずクレーネの3値論理の確認を行いました。

ところが、途中途中での検証がコロコロ変わります。例えば、対偶も成り立つと言ったり成り立たないと言ったり、真偽値表を求めると矛盾したものが出されたりしました。

この方向で調べるのは断念しました。

 3値の演算法を定める処から、自作?

真、偽、不明の3値の論理積と論理和を設計します。

先ず、2値の場合は次のようになります。

  • T ∧ T = T
  • T ∧ F = F
  • F ∧ F = F
  • T ∨ T = T
  • T ∨ F = T
  • F ∨ F = F

演算時の強度/優先度を表すと

  • ∧演算 F>T
  • ∨演算 T>F
となります。

この演算にUを導入するにあたって、FとTの関係を保持すると∧演算、∨演算には次の優先度が想定できます。

  • ∧演算
    • U>F>T
    • F>U>T
    • F>T>U
  • ∨演算
    • U>T>F
    • T>U>F
    • T>F>U

∧演算、∨演算の組み合わせは次の9タイプとなります。

    - - - ∧∨とも Uを先頭、中央、最後に追加
  • type1 ∧演算 U>F>T 、∨演算 U>T>F
  • type2 ∧演算 F>U>T 、∨演算 T>U>F
  • type3 ∧演算 F>T>U 、∨演算 T>F>U
  • - - - F>Uを壊さない形で追加
  • type4 ∧演算 F>U>T 、∨演算 T>F>U
  • - - -
  • type5 ∧演算 U>F>T 、∨演算 T>U>F
  • type6 ∧演算 U>F>T 、∨演算 T>F>U
  • type7 ∧演算 F>U>T 、∨演算 T>F>U
  • type8 ∧演算 F>T>U 、∨演算 U>T>F
  • type9 ∧演算 F>T>U 、∨演算 T>U>F

 どのような理論体系があるか調べる

この9タイプに則った理論を調べます。
chatGPTの回答は次の通り。

✅ 対応する論理体系一覧(真偽演算が完全一致)
Type∧ 優先度∨ 優先度対応論理備考
type1U > F > TU > T > FBochvar’s Internal Logic
type2F > U > TT > U > F・Kleene’s Weak 3‑Valued Logic (K3)
・Strong Kleene’s Logic
・Łukasiewicz’s 3‑Valued Logic (Ł₃)
type3F > T > UT > F > U対応体系無し※
type4F > U > TT > F > U対応体系無し
type5U > F > TT > U > F対応体系無し
type6U > F > TT > F > U対応体系無し
type7F > U > TU > T > F対応体系無し
type8F > T > UU > T > F対応体系無し
type9F > T > UT > U > F対応体系無し

当初、

  • type2:Kleene’s Weak 3‑Valued Logic (K3)
  • type4:Strong Kleene’s Logic
と出たのですが、真偽表を表示させているうちにtype2に2つのKleene論理体系があるという形に変わりました。

※さらに、当初type3とされたŁukasiewicz’s 3‑Valued Logic (Ł₃)も調べが進むうちにtype2であることが分かりました。

 それぞれの真偽値表

chatGPTにそれぞれの真偽表を作成させましたが、出鱈目なものしかできませんでしたので、wikipediaを参考にし、自作しました。

Type1: AND = U > F > T, OR = U > T > F, 含意 = Bochvar

ABA∧BA∨B¬A∨BA→B¬B→¬A
TTTT¬T∨T=F∨T=TT¬T→¬T=F→F=T
TFFF¬T∨F=F∨F=FF¬F→¬T=T→F=F
TUUT¬T∨U=F∨U=UU¬U→¬T=U→F=U
FTFF¬F∨T=T∨T=TT¬T→¬F=F→T=T
FFFF¬F∨F=T∨F=TT¬F→¬F=T→T=T
FUUU¬F∨U=T∨U=UU¬U→¬F=U→T=U
UTUU¬U∨T=U∨T=UU¬T→¬U=F→U=U
UFUU¬U∨F=U∨F=UU¬F→¬U=T→U=U
UUUU¬U∨U=U∨U=UU¬U→¬U=U→U=U


Type2: AND = F > U > T, OR = T > U > F, 含意 = Kleene 弱三値論理 (K3)

ABA∧BA∨B¬A∨BA→B¬B→¬A
TTTT¬T∨T=F∨T=TT¬T→¬T=F→F=T
TFFF¬T∨F=F∨F=FF¬F→¬T=T→F=F
TUUT¬T∨U=F∨U=UU¬U→¬T=U→F=T
FTFF¬F∨T=T∨T=TT¬T→¬F=F→T=T
FFFF¬F∨F=T∨F=TT¬F→¬F=T→T=T
FUFU¬F∨U=T∨U=TT¬U→¬F=U→T=T
UTUT¬U∨T=U∨T=TT¬T→¬U=F→U=T
UFFU¬U∨F=U∨F=UU¬F→¬U=T→U=U
UUUU¬U∨U=U∨U=UU¬U→¬U=U→U=U
Kleene 弱三値論理 (K3)はA=T,B=Uで対偶が成り立っていません。(赤で表示)


Type2: AND = F > U > T, OR = T > U > F, 含意 = Strong Kleene

ABA∧BA∨B¬A∨BA→B¬B→¬A
TTTT¬T∨T=F∨T=TT¬T→¬T=F→F=T
TFFF¬T∨F=F∨F=FF¬F→¬T=T→F=F
TUUT¬T∨U=F∨U=UT¬U→¬T=U→F=T
FTFF¬F∨T=T∨T=TT¬T→¬F=F→T=T
FFFF¬F∨F=T∨F=TT¬F→¬F=T→T=T
FUFU¬F∨U=T∨U=TT¬U→¬F=U→T=T
UTUT¬U∨T=U∨T=TT¬T→¬U=F→U=T
UFFU¬U∨F=U∨F=UU¬F→¬U=T→U=U
UUUU¬U∨U=U∨U=UU¬U→¬U=U→U=U
Strong Kleeneでは対偶を成り立たせるためA=T,B=Uだけ特殊な扱いを行っています。基本計算は¬A∨Bですが、A=T,B=UのみUで決め打ちです。
Kleene 弱三値論理 (K3)との違いはA=T,B=Uの場合です。

Type2: AND=F>U>T,OR=T>U>F, 含意=min(1,1-v(A)+v(B))[T=1,U=0.5,F=0] Łukasiewicz

ABA∧BA∨Bmin(1,1-v(A)+v(B))
A→B¬B→¬A
TTTTm(1,1-1+1)=1=TT¬T→¬T=F→F=T
TFFFm(1,1-1+0)=0=FF¬F→¬T=T→F=F
TUUTm(1,1-1+0.5)=0.5=UU¬U→¬T=U→F=U
FTFFm(1,1-0+1)=1=TT¬T→¬F=F→T=T
FFFFm(1,1-0+0)=1=TT¬F→¬F=T→T=T
FUFUm(1,1-0+0.5)=1=TT¬U→¬F=U→T=T
UTUTm(1,1-0.5+1)=1=TT¬T→¬U=F→U=T
UFFUm(1,1-0.5+0)=0.5=UU¬F→¬U=T→U=U
UUUUm(1,1-0.5+0.5)=1=TT¬U→¬U=U→U=T
Łukasiewicz(ウカシェヴィッチ)の3値理論では含意を特別な計算式で得ており、A=U,B=UがTとなるようにしています。
Strong Kleeneとの違いはA=U,B=Uの場合です。
Kleene 弱三値論理 (K3)との違いはA=T,B=UおよびA=U,B=Uの場合です。

 type3理論

type3

  • ∧: F > T > U ∨:T > F > U
でも組めるかを、次回以降に

 AIと論理学は相性が悪いか?

計算し表を作る機械的作業はchatGPTで実施すればよいと考えたのですが、なかなかうまく行きませんでした。計算結果がでたらめになるのです。修正を要求すると修正されるのですが、他がおかしくなる等の問題が発生し、結局採用しませんでした。

間違いの原因を聞くと「計算に直感が混ざった」という答えが。おそらく実際に計算するのではなく、元の式と似た式の結果を拾ってきているのかもしれません。

|

«△->の有意性限定化と∀x,∃x