H28ヒント集
一階述語論理式
• 全称限量の基本(∀→)
「人は死ぬ。(Manismortal.)」
∀x(Man(x)→Mortal(x))
• 存在限量の基本(∃∧)
「死なない人がいる。(Thereisamanwhois
notmortal.)」
∃x(Man(x)∧¬Mortal(x))
一階述語論理式
• 存在限量∃は∧と相性がよい
「AでBのものがある」
「BなるAがある」
(正) ∃x(A(x)∧B(x))
(誤) ∃x(A(x)→B(x)) …よくある間違い
一階述語論理式
• 存在の否定は、∀で言い換えてみよう
「どんなAもBでない」
¬∃x(A(x)∧B(x))
⇔∀x¬(A(x)∧B(x))
⇔∀x(¬A(x)∨¬B(x))
⇔∀x(A(x)→¬B(x)) …分かりやすいかも
一階述語論理式
• 部分否定は、∃で言い換えてみよう
「すべてのAがBというわけではない」
¬∀x(A(x)→B(x))
⇔∃x(A(x)∧¬B(x))
一階述語論理式
• only
「AだけがB。(OnlyAisB.)」
∀x(B(x)→A(x))…語順が逆なので注意
一階述語論理式
• if,onlyif,ifandonlyif
「AifB」
∀x(B(x)→A(x)) …英語と語順が逆
「 AonlyifB」
∀x(A(x)→B(x)) …英語の語順通り
「AifandonlyifB」
∀x(A(x)⇔B(x))
一階述語論理式
• ∀や∃を同値変形して検討しよう
¬∀xΨ(x)
⇔∃x¬Ψ(x)
¬∃xΨ(x)
⇔∀x¬Ψ(x)
¬Ψ(x)をド・モルガン則で同値変形するなど
一階述語論理式
• 全称限量∀xでは領域を意識しよう
「AはB」
∀x(A(x)→B(x))
xは人間とは限らない。
−1
(虫や石ころや虚数単位 かもしれない。)
A(x)が対象を限定していればOK
タブロー法
• ひたすら論理式を分解していく
(論理結合子をはずしていく)
• 枝が単に伸びるα型分解
例) i行目 T: φ∧Ψ
:
:
j行目 T: φ αi
j+1行目 T: Ψ αi
タブロー法
• 枝が単に伸びるα型分解
(基本) T: φ∧Ψ (T:φと T:Ψで伸ばす)
ほかにも
F: φ∨Ψ (F:φ とF:Ψで伸ばす)
F: φ→Ψ (T:φとF:Ψで伸ばす)
タブロー法
• 枝が2本に分岐するβ型分解
例) i行 T: φ∨Ψ
:
:
βi
j行 T: φ j+1行 T: Ψ
• 木構造ができていく
タブロー法
• 枝が2本に分岐するβ型分解
(基本) T: φ∨Ψ (T:φと T:Ψで分岐)
ほかにも
F: φ∧Ψ (F:φとF:Ψで分岐)
T: φ→Ψ (F:φとT:Ψで分岐)
タブロー法
• 同じ式(基本は命題変数)にT:とF:がつけば
枝が閉じる
例) i行 T: φ
:
:
j行 F: φ
×i,j
((p→(q∨r))∧(q→s)∧(r→t))→(p→(s∨t))
1F:((p→(q∨r))∧(q→s)∧(r→t))→(p→(s∨t))n.o.c.
2T:(p→(q∨r))∧(q→s)∧(r→t)1
3F:p→(s∨t)1
4T:p→(q∨r)2
5T:q→s2
6T:r→t2
7T:p3
8F:s∨t3
9F:s8
10F:t8
4
11 F:p12T:q∨r
X7,1112
13T:q14T:r
56
15F:q16T:s17F:r18T:t
X13,15X9,16X14,17X10,18
ResoluYon法
• 与えられた式をCNFに変換する
例) p∨(q∧r)
⇒(p∨q)∧(p∨r)
節
節
ResoluYon法
• CNFへの変形規則
– 含意
x→y⇒¬x∨y
– 分配 x∨(y∧z)⇒(x∨y)∧(x∨z)
– ドモルガン¬(x∨y)⇒¬x∧¬y
¬(x∧y)⇒¬x∨¬y
– 2重否定¬¬x⇒x
ResoluYon法
• 前提1,…,前提n 結論
– 各前提iごとにCNF変換 ⇒節集合Si
– 結論の否定をCNF変換⇒節集合Sc
– 節集合の和 S=S1∪…∪Sn∪Sc
ResoluYon法
• 節集合 S から2つの節を選んでresoluYon
例) {…p∨q,…,¬p∨r,…}
q∨r
• 結果(resolvent)をSに追加
• この過程を繰り返す
ResoluYon法
• 目指す最後のresoluYon
例) {…p,…,¬p,…}
□ (矛盾)
ResoluYon法
• resoluYon過程の線形表現
例) S={p,¬p∨q,¬q} に対して、
1p ∈S
2¬p∨q ∈S
3¬q ∈S
4qres.1,2
5□res.3,4
(p→(q∨r)),(q→s),(r→t)(p→(s∨t))
前提1のCNFp→(q∨r)⇒¬p∨q∨r
前提2のCNFq→s⇒¬q∨s
前提3のCNFr→t⇒¬r∨t
結論の否定のCNF¬(p→(s∨t))⇒¬(¬p∨s∨t)⇒p∧¬s∧¬t
1 ¬p∨q∨r∈S
2 ¬q∨s∈S
3 ¬r∨t∈S
4 p∈S
5 ¬s∈S
6 ¬t∈S
7 q∨rres.1,4
8 ¬qres.2,5
9 ¬rres.3,6
10 rres.7,8
11 □res.9,10
自然演繹法
• 前提に現れるφ→Ψは、→e規則で分解するよ
うに努める
– Ψが役に立つはずだから
– φがなければassumeしよう
• 結論に現れるφ→Ψは、→i規則で作り出すよ
うに努める
– 何はともあれ、φをassumeしよう
– Ψはきっと導けるはず
自然演繹法
(p→(q∨r)),……
1 p→(q∨r)prem
2 …
3 pass
4 q∨r→e1,2
5 …
...
自然演繹法
• 前提に現れるφ∨Ψは、∨e規則で分解するよ
うに努める
– 別の欲しい χがΦとΨのそれぞれから導けるはず
(p→(q∨r)),(q→s),(r→t)(p→(s∨t))
1 p→(q∨r)prem
2 q→sprem
3 r→tprem
4 pass
5 q∨r→e1,4
6 qass
7 s→e2,6
8 s∨t∨i7
9 rass
10 t→e3,9
11 s∨t∨i10
12 s∨t∨e5,6-8,9-11
13 p→(s∨t)→i4-12
自然演繹法
• MT規則を使ってみよう
i行めp→q
j行め ¬q
k行め¬pMTi,j
自然演繹法
(p→q)(¬q→¬p)
1 p→qprem
2 ¬qass
3 ¬pMT1,2
4 ¬q→¬p→i2-3
自然演繹法
• 「苦しいときのLEM頼り」
やることがまったく思いつかないときは、
役に立ちそうなΨを思い浮かべて
i行め Ψ∨¬Ψ LEM
と書き、∨e規則の適用に持ち込もう
(LEMと∨eはワンセット)
ブール方程式
• y1,y2に関する連立方程式
L1=R1
L2=R2
• F(y1,y2)を作る
F(y1,y2)=L1’・R1+L1・R1’+L2’・R2+L2・R2’
• F(0,0),F(1,0),F(0,1),F(1,1)を計算
• F(0,0)・F(1,0)・F(0,1)・F(1,1)=0を確認
ブール方程式
• y2の一般解
y2=F(0,0)・F(1,0)+α2・(F(0,1)・F(1,1))’
• F(0,y2),F(1,y2)を計算
(y2には上の一般解を代入)
• y1の一般解
y1=F(0,_)+α1・F(1,_)’
ブール方程式
• 式の簡約化
x+x’・y
=x・(1+y)+x’・y
=x・1+(x+x’)・y
=x+1・y
=x+y
© Copyright 2026 ExpyDoc