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))解:(1) 可合一,其最一般和一为:σ={a/x, b/y}
(2) 可合一,其最一般和一为:σ={y/f(x), b/z}
(3) 可合一,其最一般和一为:σ={ f(b)/y, b/x}
(4) 不可合一
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