Resolution Refutation Formal Aspects of Computer Science - Week 8 The Law of Resolution and the Resolution Procedure Lee McCluskey, room 2/07
Resolution Refutation Recap Last Week we covered: -Conversion to Clausal Form -Unification..as both these are needed in the law of inference called Resolution.
Resolution Refutation The Law of (Binary) Resolution Two PARENT clauses w1 and w2 infer a CHILD clause wr if there are two (*) positive literals L and M such that L is a member of w1 ~ M is a member of w2 {L,M} unify under some substitution sequence S. Remembering that clauses are sets of literals, we can deduce wr = [ (w1 union w2) minus { L, ~ M } ]/S. The law also assumes that each clause has unique variable letters. This does not restrict its generality because variables in separate clauses are independent. * The general law of resolution allows more that 1 literal to be unified in each clause
Resolution Refutation Motivation This law is often embodied is a “proof procedure” called Resolution Refutation which is SOUND and COMPLETE.
Resolution Refutation Proof by Refutation (Sometimes called Proof by Contradiction or Reductio ad Absurdum) This is an efficient way of reasoning: assume what we are trying to prove is FALSE, then get a CONTRADICTION => what we were trying to prove is TRUE. Imagine we know Wff1 to be TRUE and we want to prove Wff2 logically follows from Wff1. If we can derive a contradiction from (Wff1 & ~Wff2) then assuming Wff1 is TRUE we know that Wff2 logically follows from Wff1, or written in logic: Wff1 |- Wff2
Resolution Refutation Resolution is a super law of inference which - can easily be automated - when used in refutation mode it is COMPLETE - it can deduce any Wff that logically follows. - is the basis for Prolog’s computation Resolution Refutation: To PROVE Wff2 FROM Wff1 1. Translate Wff1 to CLAUSAL FORM 2. Translate ~ Wff2 to CLAUSAL FORM 3. Get contradiction from using Resolution …. It follows that Wff1 |- Wff2
Resolution Refutation Back to Student Example … S = student, D = academic, T = teaches Ax ( S(x)=>D(x) ) ; Ax ( (Ey (T(x,y) & D(y) ) => D(x) ) S(Fred) ; T(Jeff,Fred) CLAUSAL FORM: 1. ~S(z) V D(z) 2. ~T(x,y) V ~D(y) V D(x) 3. S(Fred) 4. T(Jeff,Fred)
Resolution Refutation Example 1. ~S(x) V D(x)3. S(Fred) D(Fred) 2. ~T(x,y) V ~D(y) V D(x) ~T(x,Fred) V D(x)5. ~D(Jeff) ~T(Jeff,Fred)4. T(Jeff,Fred) Subs = Fred / x Subs = Fred / y Subs = Jeff / x..So D(Jeff) follows from our premises
Resolution Refutation Summary Resolution is a law of inference that is based on: - Wffs in CLAUSAL FORM - The method of UNIFICATION of literals Resolution Refutation is a deduction procedure that is COMPLETE amenable to AUTOMATION PROLOG works using a “single literal depth-first” (SLD) resolution refutation procedure