AUTOMATED REASONING SLIDES 12: PARAMODULATION Using Equality (=) in Data Equality Axioms Equality and Resolution: Paramodulation Controlling use of equality in Resolution: Hyper-paramodulation RUE-resolution Equality and Models
KB - AR - 13 Question: Given this derivation of [ ] would you expect (1), (2), (3) to be unsatisfiable? (Hint: replace = by the predicate symbol S.) (1) T(p,q)∨T(q,p) (p,q are constants) (2) ¬T(X,X) (3) p=q 12ai
EQUALITY
(1) T(p,q)∨T(q,p) (2) ¬T(X,X) (3) p=q (4) (1 + 3) T(q,q)∨T(q,p) (substitute q for p in T(p,q)) (5) (4 + 2) T(q,p) (6) (5 + 3) T(q,q) (substitute q for p in T(q,p)) (7) (6 + 2) [] A "Natural" derivation of []
- Actually, they do have a model!
So what has gone wrong? 12aii (1) T(p,q)∨T(q,p) (2) ¬T(X,X) (3) p=q
- But they do not have a H-model in which '=' satisfies the 'equality axioms'.
- They do have a model!
eg Let Domain = {1,2} p -> 1; q -> 2 Set T(1,1) , T(2,2) both false Set T(1,2), T(2,1) both true Set =(1,2) is true Paramodulation is a reasoning step that implicitly incorporates the use of such equality properties to generalise the notion of substitution Informally, the equality axioms state that "if t1 = t2 and property P holds for t1, then P holds for t2" Can you argue that 1, 2 and 3 have no H-model satisfying the above? Hint: Suppose property P is "T(p,q)" First let's see how paramodulation operates Then we'll see why it is correct reasoning See Optional part for why the simple notion of identity is no use for H-models DEFN: (PARAMODULATION) (generalises simple substitution) (ppt) if C1≡ L[t]∨ C1' (i.e. t occurs in L) , C2 ≡ r=s ∨ C2' (or s=r ∨ C2') and rθ=tθ, then the clause (C1' ∨ C2' ∨ L[sθ])θ is called a paramodulant. 12aiii a=b L(X) ∨ M(X) L(b) ∨ M(a) (P) Can also obtain: L(a)∨ M(b). Substitutions occur in 1 argument position at a time. Example Comparison with definition: C1 is L(X) ∨ M(X). X in L(X) is "t" and C1' is M(X) C2 is a=b. a is the "r" term and b is the "s" term. C2' is the empty clause Unify "a" with X. θ is the substitution X==a, and aθ =Xθ The term sθ is "b", since the substitution θ doesn't affect "b". The paramodulant clause is therefore (M(X) ∨ L(b))θ, which is M(a) ∨ L(b) The next slide gives a simple prescription for performing paramodulation