SLIDE 1
AUTOMATED REASONING SLIDES 2-6 Proofs and Things (Appendix 1) Proof of Soundness of Resolution Proof of Skolemisation Theorem About Substitutions and Unifiers
KB - AR - 09 A1ai Some Useful Proofs The slides Appendix1 (A1) contain various proofs about resolution and a little background information on unifiers. The theorems in A1b and A1c are important as they give the basis for the soundness of the resolution principle. The Skolemisation theorem
- n A1ci means that it is sound to consider the clausal form representation of a problem,
rather than the general first order representation when using refutation as a proof technique to show (un)satisfiability. (This was called (**) on 4di.) The theorem on A1bi means that when proving theorems about resolution it is allowed to restrict them to Herbrand interpretations and models as opposed to arbitrary models and interpretations. This is usually much easier. (This was called Useful theorem (*) on 4bii.) There is also a proof of the property Subfree introduced in Slides 6. The information on unifiers should be familiar to you from Prolog. But notice that Prolog does not test for the occurs check condition: the check, for equation xi=ti, that xi is not in
- ti. This is done for efficiency, but it can lead to unsoundness (of Prolog). The traditional
counterexample to this unsoundness is succeeding to show that ∀x∃yP(x,y) |= ∃y∀xP(x,y) (which is incorrect ). The (Skolemised) clausal form of the Data+negated conclusion (i.e ∀x∃yP(x,y) and ∀y∃x¬P(x,y)) is the two clauses P(x,f(x)) and ¬P(g(y),y). (Remember that each ∃ quantifier must give rise to different Skolem functions.) These two literals do not unify as the occurs check fails. The unification algorithm first gives x=g(y) and f(x)=y, and then x==g(y) and f(g(y))=y, but the latter fails the occurs check. However, if you try the Prolog query P(g(y),y), with the data P(x,f(x)) it succeeds. If you try to write the answer - well, try it! Useful Theorem (*) Corresponding to any model of S there is a Herbrand model of S.
- r equivalently, If S has no Hmodels then S has no models.
So when showing S has no models, it is sufficient to show S has no H-models. (Note also: If S has no models it clearly has no Hmodels, so with the above theorem we have the property that S has no models iff S has no Hmodels.) A1bi Recall from Slides 4 that the Soundness proof of resolution requires only to consider Herbrand models and to show that clauses S |=HR(C1,C2), where C1 and C2 are in S and R(C1,C2) is their resolvent. i.e. if M is an H-model of S then M is an H-model of S+R(C1,C2). (Note that R(C1,C2) does not introduce any terms not already occurring in the language of S.) That this suffices to show Soundness relies on the following Useful Theorem (*) (If interested, you can find a proof in the Chapter 1 of notes on my website.)
Soundness of Resolution (a single step)
To show that S=>*[] implies that S has no models (Soundness) uses induction on the length
- f the refutation of S.
Base Case: k=0. S must contain the empty clause and is clearly unsatisfiable. Case k>0. Assume as (IH) that the property holds for refutations of length k-1. Such a refutation has the form (for some C1 and C2 in S) S=>S+R(C1,C2)=>*[]. By (IH) S+R(C1,C2) has no models ==> S+R(C1,C2) has no H-models ==> S has no H-models (by A1bii) ==> S has no models (by (*)). A1bii Next we show that the resolvent between two clauses is logicallly implied by those clauses. Theorem: Let C1 = ∀[G∨H], C2 = ∀[¬E∨F], R = ∀[(H∨F)θ] and Gθ = Eθ and mgu(G,E) = θ. (Here, G and E are atoms, F and H are clauses and the ∀ indicates universal quantification over variables in the clause.) Then, if M is a H-model of G∨H and ¬E∨F, then M is a H-model of (H∨F)θ (universal quantification is assumed implicit). Proof:
- Variables in C1 and C2 can be renamed so that C1 and C2 are "standardised apart"
(i.e. have no variables in common).
- The implicit universal quantifiers can be drawn out into a prefix to yield
∀[C1 ∧ C2] |= ∀[C1θ ∧ C2θ] (*) ≡ ∀[(G∨ H ) θ∧ (¬ E ∨ F)θ] ≡ ∀[(¬ H → G) θ ∧ (E→ F) θ] ≡ ∀[(¬ H θ → Gθ ) ∧ (Eθ → Fθ )] |= ∀ [(¬H θ → Fθ )] ≡ ∀ [ (H ∨ F)θ] The step (*) is the crucial one. It says that if M is a H-model of ∀[C1 ∧C2] then M is also a H-model of ∀[C1θ ∧C2θ]. This follows easily from the fact that if θ is the mgu
- f the step then it only uses terms from Sig(C1,C2). (DIY!).