充足不能性と導出原理

Download Report

Transcript 充足不能性と導出原理

充足不能性と導出原理

充足不能性の証明



スコーレム標準形
エルブラン解釈
導出原理


基礎節に対する導出
導出原理の完全性と健全性
©2008 Ikuo Tahara
1
一階述語論理式の充足不能性

任意の閉式
スコーレム標準形

x.[x] (全称記号のみで限量された閉式)
エルブラン解釈

標準的な解釈
©2008 Ikuo Tahara
2
標準形

スコーレム標準形(Skolem normal form)
x1
C1 
xm .[ x1 , , xm ]
 Ci 
li1 
 lik
 Cn
:全称束縛冠頭形
:節形式
:節
©2008 Ikuo Tahara
3
スコーレム標準形への変換
(1) , ,  のみからなる論理式にして  を原子
式の直前に移動する.
(2)束縛変数の標準化をする.
(3)スコーレム関数を導入して  を除去する.
xy. p(x, y)
x. p(x, f (x))
yx. p(x, y)
x. p(x, a)
(4)冠頭形に変換する.
(5)母式を節形式に変換する.
©2008 Ikuo Tahara
4
スコーレム関数の導入
xy. p( x, y)
yx. p( x, y)
a
x
f
y
x. p( x, f ( x))
x
y
x. p( x, a)
©2008 Ikuo Tahara
5
変換に役立つ同値関係
(1)変数名の付け替え
x.[x] y.[ y] x.[x]  y.[ y]
(2) x.[x]  x.[x] x.[ x] x.[ x]
(3)論理式  が変数
x を含まないとき (Q{, })
Qx.[[ x]  ]  Qx.[ x] 
Qx.[[ x]  ]  Qx.[ x] 
(4) x.[[ x]  [ x]]  x.[ x] x. [ x]
x.[[ x]  [ x]]  x.[ x]  x. [ x]
©2008 Ikuo Tahara
6
例
x.[y. p(x, y) z.q(x, z)] zy.r( y, z)
 (x.[y. p(x, y) z.q(x, z)] zy.r( y, z)
 x.[y. p(x, y) z.q(x, z)] zy.r( y, z)
 (x1y1. p( x1, y1 ) x2z2 .q( x2 , z2 ))  z3y3.r( y3 , z3 )
 (x1. p( x1, f ( x1 )) x2 .q( x2 , g ( x2 )))  y3.r ( y3 , a)
 同値な変換で
x1x2y3.(( p( x1, f ( x1 ))  r( y3 , a))  (q( x2 , g( x2 ))  r( y3 , a)))
はない!
©2008 Ikuo Tahara
7
x. p(x)  p(a)
節集合
M  (D,  )
D  {1,2}
a  1

閉式: 

スコーレム標準形: x1

節集合: S  {C1 , , Cn }

 :充足不能
p (1)  F, p (2)  T
xm .[C1 
 Cn ]
S :充足不能
©2008 Ikuo Tahara
8
エルブラン領域

エルブラン領域 H(S)
節集合 S に現れる個体定数,関数記号を用いて作ら
れる項(基礎項)全体の集合

エルブラン基底 HB(S )
節集合 S に現れる原子式の変数に H(S)の要素を代
入して作られる原子式(基礎例)全体の集合

基礎節
節集合 S に現れる節の変数に H(S) の要素を代入し
て作られる節
©2008 Ikuo Tahara
9
例
S  {p(x)  q(x), p( f ( y)), q(a)}
H(S)  {a, f (a), f ( f (a)), f ( f ( f (a))), }
HB(S)  {p(a), q(a), p( f (a)), q( f (a)), }
基礎節の集合:
{p(a)  q(a), p( f (a))  q( f (a)),
p( f (a)), p( f ( f (a))),
q(a)}
©2008 Ikuo Tahara
10
エルブラン解釈

エルブラン解釈 M   (H (S ),  )




個体定数 a: a  a
 M 
M
関数記号 f: f (t1 , , tn )  f (t1, , tn )
述語記号: 基礎例に真偽を割当てる.
HB(S )  { p1, p2 , }
p1 :
F
T
HB(S)の部分集合に対応
p2 : T
一つのエルブラン解釈
©2008 Ikuo Tahara
F
T
F
11
エルブラン解釈の充足可能性

節集合 S が充足可能ならば,S を充足するエル
ブラン解釈が存在する.
ある解釈 M  (D, ) が S を充足するとき,
基礎例 p(t1 , , tn )の真理値を
p(t1 , , tn )  ( p(t1 , , tn ))M
 p (t1M , , tnM )
とすれば,このエルブラン解釈は S を充足する.
©2008 Ikuo Tahara
12
例
S  {p(x)  q(a)}
M  ( D,  )
D  {1,2}
M   ( H (S ),   )
H (S )  {a}


a 2
p  (1)  F,
p  (2)  F
q  (1)  T, q  (2)  F
x  1: (p( x)  q(a))M ,[ x /1]
 p (1)  q (2)  T
x  2: (p( x)  q(a))M ,[ x / 2]
 p (2)  q (2)  T
a a
p(a)  ( p(a))M  p (a )
 p (2)  F
q(a)  (q(a))M  q (a )
 q (2)  F

x  a : (p( x)  q(a))M ,[ x / a]
 p(a)  q(a)  T
©2008 Ikuo Tahara
13
エルブランの定理

節集合 S が充足不能ならば,
そのときに限り S を充足するエルブラン
解釈は存在しない.
基礎例にT,Fを割当
充足可能なエルブラン解
釈が存在しなければ,その
節集合は充足不能である.
ある基礎節がFになると
このエルブラン解釈は節
集合を充足できない ©2008 Ikuo充足不能な基礎節の集合
Tahara
14
エルブランの定理


節集合 S が充足不能ならば,
そのときに限り S を充足するエルブラン
解釈は存在しない.
エルブランの定理
節集合の基礎節全体の集合を S* とする.
S が充足不能ならば,そのときに限り S* の
有限部分集合で充足不能な集合が存在する.
©2008 Ikuo Tahara
15
導出(resolution)

基礎節 C1 がリテラル l を含み,基礎節 C2 がその相補的
リテラル l を含むとき, C1 から l を除去した節と C2 か
ら l を除去した節の選言をとってできる節を C1 と C2 の
導出節(resolvent)といい,この操作を導出という.
C1  p  q
C2  p  r
qr

 (q)  p  q  p
 p r
 (q)  r  q  r
導出は妥当な推論である.
©2008 Ikuo Tahara
16
導出原理

節集合 S の充足不能性の証明
S  {C1 , , Ci , , C j , , Cn}
Ci  l  Q
S  S {Ci j }
(1)
S
( n)
C j  l  R
Cij  Q  R
( S )
( n)
©2008 Ikuo Tahara
17
導出原理の完全性と健全性

完全性
節集合Sが充足不能 ⇒ 空節□
S {Cij } の意味木
S の意味木
QF
pT
Ci  p  Q  F
RF
pF
Cij  Q  R
Cij  Q  R  F
Cj  p  R  F
©2008 Ikuo Tahara
18
導出原理の完全性と健全性

健全性
空節□ ⇒ 節集合Sは充足不能
(充足可能と仮定)
節集合S
導出
S {導出節}
空節□を含む節集合
(妥当な推論)
(充足可能)
(充足不能)
©2008 Ikuo Tahara
矛盾
19
例
( p  q)  r
pq
p
qr ?
(( p  q)  r)  ( p  q)  p (q  r)
:充足不能?
 (p q  r)  (p  q)  p  (q r)
{p q  r, p  q, p, q r}
©2008 Ikuo Tahara
:節集合
20
例
{p q  r, p  q, p, q r}
p  r  p
 p  r
r
q
r
©2008 Ikuo Tahara
21