数理論理学 第14回 導出原理の健全性と完全性 エルブランの定理 © 加藤,高田,新出 4.3節(p. 104) 導出原理の健全 性と完全性 課題13 節集合S に対する導出原理を行え S={ parent(hiroshi, sakiko), child(x, y) ∨¬parent(y,x), ¬ child(sakiko,w) } (1) (2) (3) 節 (2) と (3)を用いて導出を行う。このとき のmgu は{w/y, sakiko/x}. (a) このmgu を節(2)と(3)に適用すると、以下のようになる。 child(sakiko, w) ∨¬parent(w,sakiko) (b) ¬ child(sakiko,w) (c) 導出の結果、次の 導出節 (d) が残る。 ¬parent(w, sakiko). これと、節 (1) から導出を行う。 mgu は 節(1)を使って導出を進める。 {hiroshi/w}. (e) ¬parent(hiroshi , sakiko) (f) parent(hiroshi , sakiko) (g) □ 導出の結果、空節 (h) が求まる。 導出原理の健全性 (p. 104) 節集合 S から導出原理によって空節を 得れば, S は充足不能(p. 65) である。 { parent(hiroshi, maruko) child(x, y) ∨¬parent(y, x) ¬ child(maruko, w) } 導出原理 3.2.2 解釈 定義 3.17 論理式や、関数に意味を 与えるもの。 (p. 61) 解釈 I ( D,A ) 対象領域 割り当て 定義3.14 定義3.15 Dの例 D {tom ozou, kotake, hiroshi, sum ire, sakiko, m aruko} 割り当て 述語記号に対しては、 D {, T} m の関数を割り当てる。 Aの例 : D {tom ozou, kotake,}, m 2 A ( parent)(tom ozou, hiroshi) T (真) A ( parent)(tom ozou, m aruko) (偽) 割り当て 関数記号に対しては、関数 D D を割り当てる。 m D {tom ozou, kotake, hiroshi} A (elder)(tom ozou, hiroshi) tom ozou A (elder)(m aruko, sakiko) sakiko さくら家における解釈を I ( D ,A ) sakura sakura とする。ただし Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura ( parent) 表 tomozou kotake hiroshi … maruko tomozou ⊥ ⊥ T … ⊥ kotake ⊥ ⊥ T … ⊥ hiroshi ⊥ ⊥ ⊥ … T … … … … … … maruko ⊥ ⊥ ⊥ … ⊥ さくら家における解釈を I ( D ,A ) sakura sakura とする。ただし Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura (elder) 表 hiroshi … maruko tomozou tomozou tomozou tomozou … tomozou tomozou kotake kotake tomozou kotake kotake … kotake hiroshi tomozou kotake hiroshi … hiroshi … … … … … … maruko tomozou kotake hiroshi … maruko 導出原理の健全性 (p. 104) 節集合 S から導出原理によって空節を 得れば, S は充足不能(p. 65) である { parent(hiroshi, maruko) child(x, y) ∨¬parent(y, x) ¬ child(maruko, w) } I1 I2 導出原理 Im どんな解釈を持ってきても、S のモデルにはならない 導出原理の完全性 (p. 104) 充足不能な節集合 S に対して導出原理 により必ず空節を得る { parent(hiroshi, maruko) child(x, y) ∨¬parent(y, x) S2 S1 ¬ child(maruko, w) } 導出原理 S3 Sn S4 I1 I2 Im どんな解釈を持ってきても、S のモデルにはならない モデルによる充足不能判定 導出原理による充足不能判定 どんな解釈 導出原理によって I を使っても 空節が得られる I(S)= ⊥ 定理4.4 導出原理の健全性と完全性 (p. 104) エルブランの定理 (p. 110 定理 4.3) どんな解釈、つまり無限にあるあらゆる 定義4.16 エルブラン領域 (p. 105) 解釈を扱い証明することは困難 定義4.17 エルブラン基底 (p. 105) 定義4.18 割り当てAS (p. 105) 定義4.19 エルブラン解釈とエルブランモデル(p. 107) モデルによる充足不能判定 導出原理による充足不能判定 どんな解釈 導出原理によって I を使っても 空節が得られる I(S)= ⊥ 定理4.4 導出原理の健全性と完全性 (p. 104) エルブランの定理 (p. 110 定理 4.3) 定義4.16 定義4.17 定義4.18 定義4.19 エルブラン領域 (p. 105) エルブラン基底 (p. 105) 割り当てAS (p. 105) エルブラン解釈とエルブランモデル(p. 107) 定義4.16 エルブラン領域HUS (p. 105) (空集合) Constants(S) (Constants(S) ≠ ∅) HU0= {a} (Constants(S) = ∅) S= 例4.19 (p. 106) (p. 90) { female(sumire), (4.1) parent(sumire,maruko), (4.2) mother(x,y)∨¬parent(x,y)∨¬female(x), ¬ mother(sumire,maruko) } (4.4) (4.3) HU0={sumire,maruko} = HUS (S に関数記号が ないので (p. 106 l.4) ) 定義4.16 エルブラン領域HUS (p. 105) Constants(S) (Constants(S) ≠ ∅) HU0= {a} (Constants(S) = ∅) S 内に関数記号がある場合 HUi+1= HUi ∪{f(t1,…,tn) | ・・・・・・・・・} HUS =∪ HU i i ∈ω 定義4.16 エルブラン領域HUS (p. 105) S 例4.20 (pp. 106-107) { sum(0, x, x), ¬sum(x, y, z)∨sum(succ(x), y, succ(z))} HU0 HU1 HU2 HU3 = {0} HUs = {0, succ(0)} = {0, succ(0), succ(s(0))} = {0, succ(0), succ(succ(0)), …} : HUi+1 = {0, succ(0), succ(succ(0)), i : …, succ(succ (0))} 定義4.16 エルブラン領域HUS (p. 105) (空集合) Constants(S) (Constants(S) ≠ ∅) HU0= {a} (Constants(S) = ∅) S= 例4.19 (p. 106) (p. 90) { female(sumire), (4.1) parent(sumire,maruko), (4.2) mother(x,y)∨¬parent(x,y)∨¬female(x), ¬ mother(sumire,maruko) } (4.4) (4.3) HU0={sumire,maruko} = HUS (S に関数記号が ないので (p. 106 l.4) ) モデルによる充足不能判定 導出原理による充足不能判定 どんな解釈 導出原理によって I を使っても 空節が得られる I(S)= ⊥ 定理4.4 導出原理の健全性と完全性 (p. 104) エルブランの定理 (p. 110 定理 4.3) 定義4.16 定義4.17 定義4.18 定義4.19 エルブラン領域 (p. 105) エルブラン基底 (p. 105) 割り当てAS (p. 105) エルブラン解釈とエルブランモデル(p. 107) 定義4.17 エルブラン基底 (p. 105) HBS = {p(t1,…,tm) | p は S に現れるarity m の述語記号, t1,…,tm ∈ HUS } S= 例4.19 (p. 106) (p. 90) { female(sumire), (4.1) parent(sumire,maruko), (4.2) mother(x,y)∨¬parent(x,y)∨¬female(x), ¬ mother(sumire,maruko) } (4.4) HUS={sumire,maruko} HBS={female(sumire), female(maruko), … (4.3) 定義4.17 エルブラン基底 (p. 105) 例4.19 (p. 106) (p. 90) { female(sumire), (4.1) parent(sumire,maruko), (4.2) mother(x,y)∨¬parent(x,y)∨¬female(x), ¬ mother(sumire,maruko) } (4.4) HUS={sumire,maruko} HBS={female(sumire), female(maruko), (4.3) parent(sumire,sumire), parent(sumire, maruko), parent(maruko,sumire), parent(maruko, maruko), mother(sumire,sumire),mother(sumire,maruko), mother(maruko,sumire),mother(maruko,maruko)} 定義4.17 エルブラン基底 例4.20 (pp. 106-107) { sum(0, x, x), S ¬ sum(x, y, z) ∨ sum(succ(x), y, succ(z))} HUs = {0, succ(0), succ(succ(0)), HUs …, succ(succ i(0))} HBS = {sum(0, 0, 0), sum(0, 0, succ(0)), 2 3 …, sum(succ(0), succ (0), succ (), …} モデルによる充足不能判定 導出原理による充足不能判定 どんな解釈 導出原理によって I を使っても 空節が得られる I(S)= ⊥ 定理4.4 導出原理の健全性と完全性 (p. 104) エルブランの定理 (p. 110 定理 4.3) 定義4.16 定義4.17 定義4.18 定義4.19 エルブラン領域 (p. 105) エルブラン基底 (p. 105) 割り当てAS (p. 105) エルブラン解釈とエルブランモデル(p. 107) 定義4.18 割り当てAS (p. 105) Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura ( parent) 表 tomozou kotake hiroshi … maruko tomozou ⊥ ⊥ T … ⊥ kotake ⊥ ⊥ T … ⊥ hiroshi ⊥ ⊥ ⊥ 以前の割り当て … … (pp. 56-59) … 定義3.15 … T … … ⊥ … ⊥ … maruko ⊥ ⊥ 定義4.18 割り当てAS (p. 105) AS は HBS の部分集合 (AS ⊆ HBS) (定義のl.2) 真偽の求め方 AS(L) = T ⊥ (L∈ AS の場合 ) (その他の場合 ) 例4.19 (p. 106) HBS={female(sumire), female(maruko), parent(sumire,sumire), parent(sumire, maruko), parent(maruko,sumire), parent(maruko, maruko), mother(sumire,sumire),mother(sumire,maruko), mother(maruko,sumire),mother(maruko,maruko)} maruko), AS ={parent(sumire, female(sumire), mother(sumire,maruko)} (p. 106 ll. 7) 真偽の求め方 AS(L) = T ⊥ (L∈ AS の場合 ) 例4.19 (p. 106) HBS={female(sumire), female(maruko), (その他の場合 ) parent(sumire,sumire), parent(sumire, maruko), parent(maruko,sumire), parent(maruko, maruko), mother(sumire,sumire),mother(sumire,maruko), mother(maruko,sumire),mother(maruko,maruko)} maruko), AS ={parent(sumire, female(sumire), mother(sumire,maruko)} ASSS(female(sumire)) (mother(sumire,maruko)) == TT (parent(sumire, maruko)) =T AS(parent(maruko, maruko)) =⊥ (p. (p.106 106 ll. ll.5) 6) モデルによる充足不能判定 導出原理による充足不能判定 どんな解釈 導出原理によって I を使っても 空節が得られる I(S)= ⊥ 定理4.4 導出原理の健全性と完全性 (p. 104) エルブランの定理 (p. 110 定理 4.3) 定義4.16 定義4.17 定義4.18 定義4.19 エルブラン領域 (p. 105) エルブラン基底 (p. 105) 割り当てAS (p. 105) エルブラン解釈とエルブランモデル(p. 107) 3.2.2 解釈 以前の解釈 (pp. 61-65) 定義 3.17 解釈 I ( D,A ) 対象領域 割り当て 定義3.14 定義3.15 Dの例 D {tom ozou, kotake, hiroshi, sum ire, sakiko, m aruko} 定義4.18 割り当てAS (p. 105) Dsakura {tomozou, kotake, hiroshi, sumire, sakiko, maruko} Asakura とは、さくら家における述語記号や関数記号の割り当て Asakura ( parent) 表 tomozou kotake hiroshi … maruko tomozou ⊥ ⊥ T … ⊥ kotake ⊥ ⊥ T … ⊥ hiroshi ⊥ … maruko … ⊥ ⊥ 以前の領域と割り当て … … (pp. 56-59) … … 定義3.15 … ⊥ ⊥ ⊥ ⊥ … T 定義4.19 エルブラン解釈と エルブランモデル (p. 107) エルブラン解釈 HI( HU S ,AS ) エルブラン領域 割り当て S={ bird(hawk), bird(eagle), 例4.21 (p. 107) fly(x) ∨ ¬ bird(x) } HUs = {hawk, eagle} HBS = {bird(hawk), bird(eagle), fly(hawk), fly(eagle)} 1 2 AS ∅ AS ={bird(hawk)} AS3 ={fly(eagle)} … AS5 ={bird(hawk), bird(eagle)} 16 … AS = HBS (p. 108) S={ bird(hawk),C1 bird(eagle),C2 例4.21 p. 109 の箇条書 fly(x) ∨ ¬ bird(x) C3 } HUs = {hawk, eagle} AS =HBS = {bird(hawk), bird(eagle), fly(hawk), fly(eagle)} HI HI( HU S ,AS )とする。HI(S)=Tとなることを示すため ・ HI({bird(hawk)})=HI({bird(eagle)})= HI({fly(x) ∨ ¬ bird(x) })=Tを示す (p. 109 l. 6) ・ bird(hawk), bird(eagle)∈AS より、 HI({bird(hawk)})=HI({bird(eagle)})= T(l. 10) ・ HI({fly(x) θ∨ ¬ bird(x) θ })=T ? (l. 8) (p. 108) S={ bird(hawk),C1 bird(eagle),C2 例4.21 p. 109 の箇条書 fly(x) ∨ ¬ bird(x) C3 } HUs = {hawk, eagle} AS =HBS = {bird(hawk), bird(eagle), fly(hawk), fly(eagle)} ・ HI({fly(x) θ∨ ¬ bird(x) θ })=T ? ・ θ ={hawk/x}のとき (l. 8) HI({fly(hawk) ∨ ¬ bird(hawk) }= T ・ θ ={eagle/x}のとき HI({fly(eagle) ∨ ¬ bird(eagle) }= T 以上より、HI は S のエルブランモデル 定理 4.2 (p. 110) 節集合 S が充足不能性である iff (必要十分条件) S の エルブランモデルが存在しない 定理 4.3 (p. 110) 節集合Sが充足不能 iff Sの基礎節集合GCS のある有限集合が 充足不能である。 定義 4.20 基礎節集合 GCS S={ bird(hawk), bird(eagle), fly(x) ∨ ¬ bird(x) (p. 109) 例4.22(p. 109) } HUs = {hawk, eagle} GCS ={ bird(hawk), bird(eagle), fly(hawk) ∨ ¬ bird(hawk), fly(eagle) ∨ ¬ bird(eagle) } S= {parent(hiroshi,maruko), C1 male(hiroshi), C2 father(x,y)∨¬parent(x,y)∨¬male(x) C3} } を節集合とする。 課題14-1 S に対するエルブラン基底 (要素10個)を求めよ。 課題14-2 S に対するエルブラン解釈 HI = {parent(hiroshi,maruko), male(hiroshi), father(hiroshi, maruko)}. がエルブランモデルであることを証明せよ。 S={parent(hiroshi,maruko), C1 解答 male(hiroshi), C2 father(x,y)∨¬parent(x,y)∨¬male(x) C3} HUs = {hiroshi, maruko} HBS = { parent(hiroshi,hiroshi),parent(hiroshi,maruko), parent(maruko,hiroshi), parent(maruko,maruko), male(hiroshi), male(maruko), father(hiroshi,hiroshi),father(hiroshi,maruko), father(maruko,hiroshi), father(maruko,maruko) } Sの一つのエルブラン解釈 HI を以下のように取るとき、 HI = {parent(hiroshi,maruko), male(hiroshi), father(hiroshi, maruko)}. この HI が S のエルブランモデルであることを証明する。 parent(hiroshi,maruko)∈HI より、 HI({parent(hiroshi,maruko)})= T 。 同様に、 HI (male(hiroshi))= T 。 次に、 節C3= father(x,y)∨¬parent(x,y)∨¬male(x) に対して、各変数に HUs の全ての組み合わせを代入した 場合の各 HI({C3θ}) の値を求める。 代入θ={hiroshi/x, hiroshi/y} の場合: parent(hiroshi, hiroshi) ∈HI より HI({parent(hiroshi, hiroshi)}) =⊥。よって定義3.17 (p. 61)の 2より、 HI({¬(parent(hiroshi, hiroshi)}) = a T。 よって、定義3.17の4 (p. 62)より、 HI({C3θ}) = b T 。 代入θ ={hiroshi/x, maruko/y} の場合: father(hiroshi, maruko) ∈HIより HI ({father(hiroshi, maruko)}) = c T 。よって、定義3.17の 4より、Val(C3θ)= d T。 代入θ = θ3 ={maruko/x, hiroshi/y}と θ = θ4 ={maruko/x, maruko/y}の場合: male(maruko) ∈HI より HI({male(maruko)})= ⊥e。 よって定義3.17の2より、 HI({¬ male(maruko)}) = T f 。 g。 よって定義定義3.17の4より、 HI({C3θ3})= HI({C3θ4})= T 以上より、全ての組み合わせに対してC3の値はTになる。 よって定義3.17の6より、 HI ({C3})= h T。 以上より、エルブラン解釈HIは、節集合 S 中の全ての節 の値をTにするので、定義3.17の3より、 HI (S)= Ti 。 j HI(S)= Tとなるエルブラン解釈はSのエルブランモデル なので、 HIは Sのエルブランモデルである。 j 節集合 S を以下のようなものとする。 S={ parent(hiroshi,maruko), male(hiroshi), father(x,y)∨¬parent(x,y)∨¬male(x)} 答案の書き方 課題14-1 Sに対するエルブラン基底 HBs = { , … , } 10個全て書く 課題14-2 エルブラン解釈 HI = { parent(hiroshi,maruko), male(hiroshi), father(hiroshi, maruko)}. が、S のエルブランモデルであることの証明。 (a) … (b) … . . . (j) …
© Copyright 2024 ExpyDoc