1 of 39

数理論理学

第14回

導出原理の健全性と完全性

エルブランの定理

© 加藤,高田,新出

2 of 39

4.3節(p. 104)

導出原理の健全

性と完全性

3 of 39

課題13 節集合S に対する導出原理を行え

節 (2) と (3)を用いて導出を行う。このときのmgu は{w/y, sakiko/x}.

child(sakiko, w) ∨¬parent(w,sakiko)

  child(sakiko,w)

S={ parent(hiroshi, sakiko),       (1)

child(x, y) ∨¬parent(y,x),  (2)

child(sakiko,w) (3)

}

           (a)

このmgu を節(2)と(3)に適用すると、以下のようになる。

(c)

             (b)

4 of 39

導出の結果、次の  導出節  が残る。

parent(w, sakiko).

これと、節 (1) から導出を行う。 mgu は{hiroshi/w}.

parent(hiroshi , sakiko)

parent(hiroshi , sakiko)

□ 導出の結果、空節 が求まる。

       (d)

       (e)

節(1)を使って導出を進める。

          (f)

(g)

(h)

5 of 39

導出原理の健全性 (p. 104)

節集合 S から導出原理によって空節を

得れば, S 充足不能 である。

{ parent(hiroshi, maruko)

child(x, y) ∨¬parent(y, x)

child(maruko, w) }

導出原理

(p. 65)

6 of 39

論理式や、関数に意味を

与えるもの。 (p. 61)

解釈

対象領域

定義3.14

割り当て

定義3.15

3.2.2 解釈

定義 3.17

7 of 39

割り当て

8 of 39

割り当て

9 of 39

とは、さくら家における述語記号や関数記号の割り当て

tomozou

kotake

hiroshi

maruko

tomozou

T

kotake

T

hiroshi

T

maruko

さくら家における解釈を

とする。ただし

10 of 39

tomozou

kotake

hiroshi

maruko

tomozou

tomozou

tomozou

tomozou

tomozou

kotake

tomozou

kotake

kotake

kotake

hiroshi

tomozou

kotake

hiroshi

hiroshi

maruko

tomozou

kotake

hiroshi

maruko

とは、さくら家における述語記号や関数記号の割り当て

さくら家における解釈を

とする。ただし

11 of 39

導出原理の健全性  (p. 104)

節集合 S から導出原理によって空節を

得れば, S 充足不能 である

導出原理

(p. 65)

I1

I2

Im

どんな解釈を持ってきても、S のモデルにはならない

{ parent(hiroshi, maruko)

child(x, y) ∨¬parent(y, x)

child(maruko, w) }

12 of 39

導出原理の完全性 (p. 104)

充足不能な節集合 S に対して導出原理

により必ず空節を得る

導出原理

I1

I2

Im

{ parent(hiroshi, maruko)

child(x, y) ∨¬parent(y, x)

child(maruko, w) } S1

S2

S3

S4

Sn

どんな解釈を持ってきても、S のモデルにはならない

13 of 39

どんな解釈

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)

14 of 39

エルブランの定理 (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)

15 of 39

定義4.16 エルブラン領域HUS (p. 105)

 

HU0=

Constants(S) (Constants(S) ≠ )

{a} (Constants(S) = )

HU0={sumire,maruko}

= HUS

(S に関数記号が

 ないので (p. 106 l.4) )

{ female(sumire), (4.1)

parent(sumire,maruko), (4.2)

mother(x,y)parent(x,y)female(x), (4.3)

mother(sumire,maruko) } (4.4)

例4.19 (p. 106) (p. 90)

S=

(空集合)

16 of 39

定義4.16 エルブラン領域HUS (p. 105)

 

HU0=

Constants(S) (Constants(S) ≠ )

{a} (Constants(S) =)

HUi+1= HUi ∪{f(t1,…,tn) | ・・・・・・・・・}

HUS =HUi

i ∈ω

S 内に関数記号がある場合

17 of 39

{ sum(0, x, x),        

sum(x, y, z)∨sum(succ(x), y, succ(z))}

HU0 = {0}

HU1 = {0, succ(0)}

HU2 = {0, succ(0), succ(s(0))}

HU3 = {0, succ(0), succ(succ(0)), …}

HUi+1 = {0, succ(0), succ(succ(0)),

: …, succ(succ (0))}

i

HUs

S

定義4.16 エルブラン領域HUS (p. 105)

 

例4.20 (pp. 106-107)

18 of 39

定義4.16 エルブラン領域HUS (p. 105)

 

HU0=

Constants(S) (Constants(S) ≠ )

{a} (Constants(S) = )

HU0={sumire,maruko}

= HUS

(S に関数記号が

 ないので (p. 106 l.4) )

{ female(sumire), (4.1)

parent(sumire,maruko), (4.2)

mother(x,y)parent(x,y)female(x), (4.3)

mother(sumire,maruko) } (4.4)

例4.19 (p. 106) (p. 90)

S=

(空集合)

19 of 39

エルブランの定理 (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)

20 of 39

定義4.17 エルブラン基底 (p. 105)

HBS = {p(t1,…,tm) | p S に現れるarity m

の述語記号, t1,…,tm HUS } 

{ female(sumire), (4.1)

parent(sumire,maruko), (4.2)

mother(x,y)parent(x,y)female(x), (4.3)

mother(sumire,maruko) } (4.4)

例4.19 (p. 106) (p. 90)

S=

HUS={sumire,maruko}

HBS={female(sumire), female(maruko),

21 of 39

定義4.17 エルブラン基底 (p. 105)

{ female(sumire), (4.1)

parent(sumire,maruko), (4.2)

mother(x,y)parent(x,y)female(x), (4.3)

mother(sumire,maruko) } (4.4)

例4.19 (p. 106) (p. 90)

HUS={sumire,maruko}

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)}

22 of 39

定義4.17 エルブラン基底

HUs

HBS = {sum(0, 0, 0), sum(0, 0, succ(0)),

…, sum(succ(0), succ (0), succ (),

…}

HUs = {0, succ(0), succ(succ(0)),

…, succ(succ (0))}

i

{ sum(0, x, x),        

sum(x, y, z) ∨ sum(succ(x), y, succ(z))}

例4.20 (pp. 106-107)

2

3

S

23 of 39

エルブランの定理 (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)

24 of 39

とは、さくら家における述語記号や関数記号の割り当て

tomozou

kotake

hiroshi

maruko

tomozou

T

kotake

T

hiroshi

T

maruko

定義4.18 割り当てAS  (p. 105)

   以前の割り当て

定義3.15 (pp. 56-59)

25 of 39

定義4.18 割り当てAS  (p. 105)

AS HBS の部分集合 (AS  HBS)(定義のl.2)

真偽の求め方

ASL) =

T (L AS  の場合 )

(その他の場合 )

mother(sumire,sumire),mother(sumire,maruko),

mother(maruko,sumire),mother(maruko,maruko)}

HBS={female(sumire), female(maruko),

parent(sumire,sumire), parent(sumire, maruko),

parent(maruko,sumire), parent(maruko, maruko),

例4.19 (p. 106)

AS

={parent(sumire, maruko), (p. 106 ll. 7)

female(sumire), mother(sumire,maruko)}

26 of 39

真偽の求め方

ASL) =

T (L AS  の場合 )

(その他の場合 )

mother(sumire,sumire),mother(sumire,maruko),

mother(maruko,sumire),mother(maruko,maruko)}

HBS={female(sumire), female(maruko),

parent(sumire,sumire), parent(sumire, maruko),

parent(maruko,sumire), parent(maruko, maruko),

例4.19 (p. 106)

AS

={parent(sumire, maruko),

female(sumire), mother(sumire,maruko)}

ASparent(sumire, maruko)) = T (p. 106 ll. 6)

ASfemale(sumire)) = T (p. 106 ll. 6)

ASmother(sumire,maruko)) = T (p. 106 ll. 5)

ASparent(maruko, maruko)) =

27 of 39

エルブランの定理 (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)

28 of 39

以前の解釈 (pp. 61-65)

解釈

対象領域

定義3.14

割り当て

定義3.15

3.2.2 解釈

定義 3.17

29 of 39

とは、さくら家における述語記号や関数記号の割り当て

tomozou

kotake

hiroshi

maruko

tomozou

T

kotake

T

hiroshi

T

maruko

定義4.18 割り当てAS  (p. 105)

   以前の領域と割り当て

定義3.15 (pp. 56-59)

30 of 39

エルブラン領域

割り当て

定義4.19 エルブラン解釈と

            エルブランモデル (p. 107)

S={ bird(hawk), bird(eagle),    

fly(x) ∨ ¬ bird(x) }

例4.21 (p. 107)

HBS = {bird(hawk), bird(eagle),

fly(hawk), fly(eagle)}

HUs = {hawk, eagle}

={bird(hawk)}

={fly(eagle)}

={bird(hawk), bird(eagle)}

= HBS

エルブラン解釈

31 of 39

S={ bird(hawk),  bird(eagle),    

fly(x) ∨ ¬ bird(x) }

例4.21(p. 108)

p. 109 の箇条書

HUs = {hawk, eagle}

AS =HBS = {bird(hawk), bird(eagle),

fly(hawk), fly(eagle)}

とする。HI(S)=Tとなることを示すため

C1

C2

C3

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)

32 of 39

S={ bird(hawk),  bird(eagle),    

fly(x) ∨ ¬ bird(x) }

例4.21(p. 108)

p. 109 の箇条書

HUs = {hawk, eagle}

AS =HBS = {bird(hawk), bird(eagle),

fly(hawk), fly(eagle)}

C1

C2

C3

HI({fly(x) θ∨ ¬ bird(x) θ })=T ? (l. 8)

・ θ ={hawk/x}のとき

   HI({fly(hawk) ∨ ¬ bird(hawk) }= T

・ θ ={eagle/x}のとき

   HI({fly(eagle) ∨ ¬ bird(eagle) }= T

以上より、HI は S のエルブランモデル

33 of 39

定理 4.2 (p. 110)

節集合 S が充足不能性である

iff (必要十分条件)

S の エルブランモデルが存在しない

定理 4.3 (p. 110)

節集合Sが充足不能

Sの基礎節集合GCS のある有限集合が

充足不能である。

iff

34 of 39

定義 4.20 基礎節集合 GCS (p. 109) 

HUs = {hawk, eagle}

GCS ={ bird(hawk), 

bird(eagle),     

fly(hawk) ∨ ¬ bird(hawk),

fly(eagle) ∨ ¬ bird(eagle) }

S={ bird(hawk),  

bird(eagle),    

fly(x) ∨ ¬ bird(x) }

例4.22(p. 109)

35 of 39

課題14-1 S に対するエルブラン基底

(要素10個)を求めよ。 

S=

{parent(hiroshi,maruko), C1

male(hiroshi), C2

father(x,y)parent(x,y)male(x) C3}

} を節集合とする。

課題14-2  S に対するエルブラン解釈

がエルブランモデルであることを証明せよ。 

HI = {parent(hiroshi,maruko), male(hiroshi), father(hiroshi, maruko)}.

36 of 39

S={parent(hiroshi,maruko), C1

male(hiroshi), C2

father(x,y)∨¬parent(x,y)∨¬male(x) C3}

解答

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)

}

HUs = {hiroshi, maruko}

37 of 39

Sの一つのエルブラン解釈 HI を以下のように取るとき、

この HIS のエルブランモデルであることを証明する。

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)}) = T

よって、定義3.17の4 (p. 62)より、 HI({C3θ}) = T

a

b

HI = {parent(hiroshi,maruko), male(hiroshi), father(hiroshi, maruko)}.

38 of 39

代入θ ={hiroshi/x, maruko/y} の場合: 

father(hiroshi, maruko) HIより

HI ({father(hiroshi, maruko)}) =  T よって、定義3.17の

4よりVal(C3θ)= T

代入θ = θ3 ={maruko/x, hiroshi/y}と

θ = θ4 ={maruko/x, maruko/y}の場合:

male(maruko) HI より HI({male(maruko)})=

よって定義3.17の2より HI({¬ male(maruko)}) = T

よって定義定義3.17の4より、 HI({C3θ3})= HI({C3θ4})= T

以上より、全ての組み合わせに対してC3の値はTになる。

よって定義3.17の6より、 HI ({C3})= T

以上より、エルブラン解釈HIは、節集合 S 中の全ての節

の値をTにするので、定義3.17の3より、 HI (S)= T

HI(S)= Tとなるエルブラン解釈はSのエルブランモデル

なので、 HI Sのエルブランモデルである。

c

d

e

f

g

h

i

j

j

39 of 39

.

.

.

(j) …

HBs = { , … , }

答案の書き方

節集合 S を以下のようなものとする。

S={ parent(hiroshi,maruko),

male(hiroshi),

father(x,y)∨¬parent(x,y)∨¬male(x)} 

課題14-1 Sに対するエルブラン基底

10個全て書く

課題14-2 エルブラン解釈

HI = { parent(hiroshi,maruko), male(hiroshi),

father(hiroshi, maruko)}.

が、S のエルブランモデルであることの証明。