parent clauses | resolvent | comments |
P, ¬P ∨ Q | Q | this is the same as Modus Ponens |
¬P ∨ Q, ¬Q ∨ R | ¬P ∨ R | This is often called Chaining. The positive and negative literals cancel out. |
P ∨ Q, ¬P ∨ Q | Q | Merge (or Factoring) (Q ∨ Q collapses to Q) |
P ∨ Q, ¬P ∨ ¬Q | Q ∨ ¬Q | Tautology. This is a dead end, since there is no other clause that can be resolved with it. |
P ∨ Q, ¬P ∨ ¬Q | P ∨ ¬P | Tautology. This is a dead end, since there is no other clause that can be resolved with it. |
P, ¬P | NIL | Contradiction. This is what we are looking for. |
P ∧ Q ∧ R → S ¬Q → R ¬S → Pand you are asked to prove
S
1. ¬P ∨ ¬Q ∨ ¬R ∨ S 2. Q ∨ R 3. S ∨ P
4. ¬S
resolve 3. S∨P with 4 ¬S obtain 5. P resolve 5. P with 1. ¬P&or¬Q&or¬R∨S obtain 6. ¬Q∨¬R∨S resolve 6. ¬Q∨¬R∨S with 2. Q∨R obtain 7. ¬R∨S∨R = TrueWe can try resolving other clauses, such as
resolve 1. ¬P∨¬Q∨¬R∨S with 4. ¬S obtain 8. ¬P∨¬Q∨¬R resolve 8. ¬P∨¬Q∨¬R with 3. S∨P obtain 9. ¬Q∨¬R∨¬S (this is the same as 6)but there is no other step we can take to produce the empty clause, so we fail to prove a contraddiction. Since this example is in propositional calculus, and propositional calculus is decidable (i.e. there is a procedure for deciding if an expression is entailed or not) failure to prove an expression means the expression is not entailed by the knowledge base. We would not be able to make the same statement if we were to use predicate calculus, since predicate calculus is semi-decidable (i.e. if a sentence is entailed we can prove it, but not the reverse).