第四章-谓词逻辑归结基本方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
z 因为 IXB 且 IXPI(b) , 所以 若 QI(a)=1 则 SI(b,a)=0.
因而 QI(a)=0 . z 所以 IXC .
证毕.

证明(归结方法).
A 的转化为: ^ x(P(x)[] y(R(y)>S(x,y))), ^ x] y(P(x)[(R(y)>S(x,y))) , ^ x] y(P(x)[(\ R(y)ZS(x,y))) , ] y(P(c1)[(\ R(y)ZS(c1,y))) , ] x(P(c1)[(\ R(x)ZS(c1,x))) , {P(c1),\ R(x)ZS(c1,x)} .
z
若以下条件成立: 对任意的赋值 I , 当 IXC1 及 IXC2 时, 有 IXC3 .
则称 C3 是 C1 和 C2 的逻辑推论. 记为 C1,C2XC3 .
z
若存在 L 的解释满足 C , 则称 C 是可满足的; 否则称 C 是不可满足的.
z
解释 I 满足 S 是指 I 满足 S 所表示的 Skolem 范式.
则A,BXC .

证明(解释赋值方法). 若 I 是一个解释. 假设 IXA[B , 以下证明:
对任意的 aJDI , 当 RI(a)=1 时 QI(a)=0 .
z 从 IXA , 可知存在 bJDI , 使得 PI(b)=1 , 且对任意的 aJDI , 都有当 RI(a)=1 时 SI(b,a)=1.
所以 \ A 是永假的.
所以 A 是永真的.

定义3.1(文字,相反文字,子句,子句集合,空子句,基文字,基子句,子句代换,子句集合代换 ) 对于谓词逻辑, 可以定义类似于命题逻辑的一些概念:
z 原子公式或者原子公式的非称为文字.
z 若 L 是原子公式,则 \ L 是 L 的 相反文字, L 是 \ L 的相反文字. z 文字的有限集合称为子句. z 不出现变元的文字称为基文字. z 不出现变元的子句称为基子句. z 空的子句称为空子句. z 子句的有限集合称为子句集合. z 称 5: {x1/t1,l,xm/tm} 为一个代换.
z
若存在 L 的解释满足 S , 则称 S 是可满足的; 否则称 S 是不可满足的.

例3.3(可满足) 给定一阶语言 L , 假设 P,Q 是 1 元谓词符号, c 是常元, x,y 是变元.
z 子句 P(c)ZQ(x) 是可满足的.
z P(c)ZQ(x),\ Q(y)XP(c).

定义3.3(归结子句) 给定一阶语言 L , 假设 C1,C2 是 L 的两个子句. 形如
给定一阶语言 L={c,f,g,P,Q} , 其中 c 是常元, x,y 是变元, f,g 是 1 元函数符号, 是 1 元谓词符号.
有以下归结推出关系:
z P(c),\ P(x)Ures` .
z P(c)ZQ(x),\ Q(y)UresP(c) .
z P(x)ZQ(x),\ Q(y)UresP(x) .
C3
=(
5
1
(
C1)
-{L
1}
)
P(
52(
C2)
-{
L2
}
)
.
假设子句 Ci 分别表示公式9i . 则可知9iX5i(Ci) . (i=1,2)
因为
(
5
1
(
C1
)
-{L
1
})
P(
52(
C2)
-{
L2
}
)
=C3
,
所以
9
1
,
92XC3
,
91,92X93.
即:
C1 , C2X C3 .

定理3.2(归结方法的可靠性) 给定一阶语言 L , 假设 S 是 L 的子句集合. 若 S 有一个反驳, 则 S 是不可满足的. 证明根据归结一步可以传递可满性, 若 S 是可满足的, 则它的反驳序列中每个子句都是可满 足的, 但最後一个空子句是不可满足的. 所以 S 是不可满足的.

定理3.3(归结方法的完全性) 给定一阶语言 L , 假设 S 是 L 的子句集合. 若 S 是不可满足的, 则 S 有一个反驳.

例3.6(简单证明)
给定一阶语言 L={c1,c2,P,Q} , 其中 c1,c2 是常元, x 是变元, P,Q 是 1 元谓词符号. 语句
\ ((^ xP(x)Z^ xQ(x))>^ x(P(x)ZQ(x))), 的 Skolem 范式是:
{
L2
,1,
l,
L2,n
}
2
,
l,
{ Lm , 1 ,l , Lm, n m}
}
表示以下合取范式的闭包:
(
L1,1
ZlZL
1,
n1)
[(
L2
,
1Z
l
ZL
2,
n
)
2
[l
[
(L
m,1
ZlZLm,
nm).
因而表示一个 Skolem 范式. □
例3.2(基本概念) z P(c1) 与 \ P(c1) 是相反文字, 但是 P(c1) 与 \ P(z) 不是相反文字. z 假设代换 5={z/c1} , 则 5(\ P(z)) 等于 \ P(c1) . z 基子句 {P(c)} 表示 P(c) . z 子句 {P(x),Q(y)} 表示语句 ] x] y(P(x)ZQ(y)).
] x] y((Q(x,x,y)[\ P(y))>S(x)), ^ x^ y(R(y,x)[\ P(x)) , ^ x] yQ(x,x,y) , ^ xS(x) . 则 A,B,CXD .
\ C 的转化为: \ ] x(R(x)>\ Q(x)). ^ x\ (R(x)>\ Q(x)) , ^ x(R(x)[Q(x)) , R(c2)[Q(c2) , {R(c2),Q(c2)} ,
前提与结论的反面可以转化为以下子句: C1: P(c1) C2: \ R(x)ZS(c1,x), C3: \ P(y)Z\ Q(z)Z\ S(y,z), C4: R(c2) C5: Q(c2)
谓词逻辑归结法
例3.1(永真性判断)
给定一阶语言 L={c1,c2,P,Q} , 其中 c1,c2 是两个常元, P,Q 是 1 元谓词符号, x,y,z 是不同的变元. 假设 A 是以下公式:
(^ xP(x)Z^ xQ(x))>^ x(P(x)ZQ(x))
考察公式 \ A :
\ ((^ xP(x)Z^ xQ(x))>^ x(P(x)ZQ(x))), 即
可知:
CX(P(c1)ZQ(c2))[\ P(c2)[\ Q(c2) ,
CXP(c1)ZQ(c2) ,
CX\ P(c1) , CX\ Q(c2) . 若将 P(c1),Q(c2) 看成是命题变元 p,q , 对于子句集合
{pZq,\ p,\ q},
它具有一个反驳, 这表明它能够语义推出一个恒假式, 所以, C 能够语义推出一个恒假式, 因而 C 是永假的.
z 子句集合 {P(x)ZQ(y),P(c)Z\ Q(z)} 表示 Skolem 范式 ] x] y] z((P(x)ZQ(y))[(P(c)Z\ Q(z))).

定义3.2(可满足) 给定一阶语言 L , 假设 C,C1,C2,C3 是子句, S 是字句集合.
z
L 的一个解释 I 满足 C , 是指 I 满足 C 所表示的语句. 记为IXC
B 的转化为: ] x(P(x)>] y(Q(y)>\ S(x,y))), ] x] y(P(x)>(Q(y)>\ S(x,y))), ] x] y(\ P(x)Z\ Q(y)Z\ S(x,y)), ] y] x(\ P(y)Z\ Q(z)Z\ S(y,z)), {\ P(y)Z\ Q(z)Z\ S(y,z)}.
] z((P(c1)ZQ(c2))[\ P(z)[\ Q(z)).
所对应的子句集合是:
{P(c1)ZQ(c2),\ P(z),\ Q(z)},
它有一个反驳:
<P(c1)ZQ(c2),\ P(z),\ Q(z),Q(c2),`>.
因而
\ ((^ xP(x)Z^ xQ(x))>^ x(P(x)ZQ(x)))
它有一个反驳:
{p1Zq2,\ p1,\ p2,\ q1,\ q2},
对应于谓词逻辑的反驳:
<p1Zq2,\ p1,\ q2,q2,`>.
<P(c1)ZQ(c2),\ P(c1),\ Q(c2),Q(c2),`>. 可以直接转换为最初子句集合的反驳:
<P(c1)ZQ(c2),\ P(z),\ Q(z),Q(c2),`>.
它的前束范式是:
(^ xP(x)Z^ xQ(x))[] x(\ P(x)[\ Q(x)).
^ x^ y] z((P(x)ZQ(y))[\ P(z)[\ Q(z)). 它的 Skolem 范式 C 是:
] z((P(c1)ZQ(c2))[\ P(z)[\ Q(z)).
根据以下语义推出关系:
CX(P(c1)ZQ(c2))[\ P(c1)[\ Q(c1) ,
若 L 是文字, 则 5(L) 表示
Lxt 11,,ll,,txmm.
z 若子句 C 是 {L1,l,Ln} , 则 5(C) 表示 {5(L1),l,5(Ln)}.

事实3.1(子句集合与 Skolem 范式)
子句 {L1,l,Ln} 也写为 L1ZlZLn 表示
L1ZlZLn
的闭包.
子句集合
{
{ L1 ,1 ,l, L1 ,n1} ,
z P(x)ZQ(x),\ Q(y)UresP(f(x)) .
z P(x)ZQ(x),\ Q(y)UresP(f2(x)) . z 假设
{ A 是 P(x)ZP(f(y))ZR(g(y)) . { B 是 \ P(y)Z\ R(y) . 则:
A,BUresP(f(y))ZR(g(y))Z\ R(y),
A,BUresR(g(y))Z\ R(f(y)).

定义3.4(反驳) 子句集合 S 的一个反驳是指子句的有限序列 {Ci|15i5n} , 它满足以下条件:
z Cn 是 ` . z 对于每个 i :
{ 或者 CiJS , { 或者存在 j,k<i (15j,k<n) 使得 Cj,CkUresCi .
C1, C2UresC4 C3 , C 4UresC5

定理3.1(归结推出与语义推出) 给定一阶语言 L , 假设 C1,C2 是 L 的两个子句.
若 C1,C2UresC3 则 C1,C2XC3 .
证明:从
C1, C2UresC3
可知存在代换
5
1
,52
及两个相反的文字
L1

L2
,
使得
L1J51(C1) , L2J52(C2) , 而
是永假的, 即
是永真的. 子句集合
(^ xP(x)Z^ xQ(x))>^ x(P(x)ZQ(x))
对应的基实例集合是
{P(c1)ZQ(c2),\ P(z),\ Q(z)},
{P(c1)ZQ(c2),\ P(c1),\ P(c2),\ Q(c1),\ Q(c2),},
若将 P(c1),P(c2),Q(c1),Q(c2) 分别看成是命题变元 p1,p2,q1,q2 , 则上述基实例集合 对应于命题逻辑语句集合:

例3.5(反驳)
给定一阶语言 L={c1,c2,P,Q} , 其中 c1,c2 是常元, x 是变元, P,Q 是 1 元谓词符号. 子句集合
{P(c1)ZQ(c2),\ P(x),\ Q(x)} 有一个反驳 {C1,C2,C3,C4,C5} , 其中:
C1 : P( c1 ) ZQ (c2 ) C2:\ P(x) C3:\ Q(x) C4 : Q ( c 2) C5:`

例3.7(多种证明) 给定一阶语言 L={c1,c2,P,Q,R,S} , 假设 P,Q,R 是 1 元谓词符号, S 是 2 元谓词符 号, x,y,z 是三个不同的变元, c1,c2 是两个不同的常元. 定义以下公式:
A: ^ x(P(x)[] y(R(y)>S(x,y))), B: ] x(P(x)>] y(Q(y)>\ S(x,y))), C: ] x(R(x)>\ Q(x)).
有以下的归结推出:
C1,C3 Ures\ Q(z)wenku.baidu.com\ S(c1,z),
C2,C4 UresS(c1,c2),
\ Q(z)Z\ S(c1,z),S(c1,c2) Ures\ Q(c2),
C5,\ Q(c2) Ures`.
所以 A,BXC. 证毕.

例3.8(语义推出) 给定一阶语言 L={a,b,c,P,Q,R,S} , P,S 为 1 元谓词符号, R 为 2 元谓词符号, Q 为 3 元谓词符号, a,b,c 是三个不同的常元. x,y,z,w 是四个不同的变元. A,B,C,D 是以下公 式:
(
5
1
(
C1
)
-{L
1
})
P(
52(
C2)
-{
L2
}
)
的子句称为 C1 与 C2 的归结子句. 其中 51,52 是两个代换,
L1J51(C1), L2J52(C2),
而 L1 与 L2 是两个相反的文字.
若三个子句 C1,C2,C3 具有上述关系, 则记为 C1,C2UresC3 .

例3.4(归结子句)
相关文档
最新文档