当前位置:首页 > 谓词转化为子句集
1. 判断下列公式是否为可合一,若可合一,则求出其最一般合一。
(1) P(a, b), P(x, y) (2) P(f(x), b), P(y, z) (3) P(f(x), y), P(y, f(b))
(4) P(f(y), y, x), P(x, f(a), f(b)) (5) P(x, y), P(y, x)
解:(1) 可合一,其最一般和一为:σ={a/x, b/y}。
(2) 可合一,其最一般和一为:σ={y/f(x), b/z}。 (3) 可合一,其最一般和一为:σ={ f(b)/y, b/x}。 (4) 不可合一。
(5) 可合一,其最一般和一为:σ={ y/x}。
2. 把下列谓词公式化成子句集:
(1) (?x)(?y)(P(x, y)∧Q(x, y)) (2) (?x)(?y)(P(x, y)→Q(x, y))
(3) (?x)(?y)(P(x, y)∨(Q(x, y)→R(x, y))) (4) (?x) (?y) (?z)(P(x, y)→Q(x, y)∨R(x, z))
解:(1) 由于(?x)(?y)(P(x, y)∧Q(x, y))已经是Skolem标准型,且P(x, y)∧Q(x, y)已经是合取范式,所以可直接消去全称量词、合取词,得 { P(x, y), Q(x, y)}
再进行变元换名得子句集: S={ P(x, y), Q(u, v)}
(2) 对谓词公式(?x)(?y)(P(x, y)→Q(x, y)),先消去连接词“→”得:
(?x)(?y)(?P(x, y)∨Q(x, y))
此公式已为Skolem标准型。 再消去全称量词得子句集: S={?P(x, y)∨Q(x, y)}
(3) 对谓词公式(?x)(?y)(P(x, y)∨(Q(x, y)→R(x, y))),先消去连接词“→”得:
(?x)(?y)(P(x, y)∨(?Q(x, y)∨R(x, y)))
此公式已为前束范式。
再消去存在量词,即用Skolem函数f(x)替换y得:
(?x)(P(x, f(x))∨?Q(x, f(x))∨R(x, f(x)))
此公式已为Skolem标准型。
最后消去全称量词得子句集:
S={P(x, f(x))∨?Q(x, f(x))∨R(x, f(x))}
(4) 对谓词(?x) (?y) (?z)(P(x, y)→Q(x, y)∨R(x, z)),先消去连接词“→”得:
(?x) (?y) (?z)(?P(x, y)∨Q(x, y)∨R(x, z))
再消去存在量词,即用Skolem函数f(x,y)替换z得:
(?x) (?y) (?P(x, y)∨Q(x, y)∨R(x, f(x,y)))
此公式已为Skolem标准型。
最后消去全称量词得子句集:
S={?P(x, y)∨Q(x, y)∨R(x, f(x,y))}
(5)?x?y((P(x,y)?Q(x,y))?R(x,y))
解:
??x?y((?P(x,y)?Q(x,y))?R(x,y))??x?y((?P(x,y)??Q(x,y))?R(x,y))??x((?P(x,f(x))??Q(x,f(x)))?R(x,f(x)))??P(x,f(x))??Q(x,f(x))?R(x,f(x))
(6)?x{?yP(x,y)???y[Q(x,y)?R(x,y)]} (P102例5.7) 解:
?x{??yP(x,y)???y[?Q(x,y)?R(x,y)]}?x{?y?P(x,y)??y[Q(x,y)??R(x,y)]}?x{?y?P(x,y)??z[Q(x,z)??R(x,z)]}?x{?P(x,f(x))?[Q(x,g(x))??R(x,g(x))]}
?P(x,f(x))?[Q(x,g(x))??R(x,g(x))][?P(x,f(x))?Q(x,g(x))]?[?P(x,f(x))??R(x,g(x))][?P(x,f(x))?Q(x,g(x))]?[?P(y,f(y))??R(y,g(y))]{?P(x,f(x))?Q(x,g(x)),?P(y,f(y))??R(y,g(y))}或 ?P(x,f(x))∨Q(x,g(x))
?P(y,f(y))∨?R(y,g(y))
为原谓词公式的字句集。
共分享92篇相关文档