Resolution
- Resolution is a complete inference procedure for FOPL that can be automated.
- Developed by Robinson 35 years after Godel showed that such a procedure existed.
- Generalized Resolution rule for propositional logic:
- P1 | P2 | .... | Pn, ~P1 | Q2 | .... | Qm |-
P2 | P3 | ... | Pn | Q2 | Q3 | .... | Qm
- Can consider MP as a special case of unit resolution:
- (a -> b, b) |- b is equivalent to (~a | b, a) |- b
Generalized Resolution
- Can state the resolution inference rule in implication form as opposed to the clause form; the book does this but it is not standard so won’t bother to do so here.
- For general case when the disjuncts are not composed of ground terms you need to unify the complementary literals and apply the unification to the rest of the resolvent.
Generalized Resolution
- Formally stated: for 2 literals pj and qk where unify(pj,~qk) = theta
- p1 | p2 | ... | pj | ... | pn, q1 | q2 | ... | qk | ... | qm |-
subst(theta, p1 | ... pj-1| pj+1| ... | pn,q1 | ... qk-1| qk+1| ... | qm)
Refutation Proofs
- To prove theorems with resolution, we construct refutation proofs. We refute the negation of the proposed theorem:
- Example
- (1) dogs like bones
~dog(x) | likes(x,bones)
- (2) dogs eat everything they like
~dogs(y) | ~likes(y,z) | eats(y,z)
- (3) Pasta is a dog
dog(pasta)
- Prove Pasta eats bones: eats(pasta,bones)
- Do this by adding the negation of the sentence to the KB and
showing a contradiction with other sentences in the KB
Resolution-Refutation Proofs
- Resolution is sound and refutation is complete; if a sentence is unsatisfiable, resolution will derive a contradiction (proof is in the text).
- Resolution can be used to establish that a sentence is entailed by
the KB, but cannot be used to generate all logical consequences of a
set of Well-Formed Formulae (WFF). WFF are the set of sentences in the KB.
Resolution-Refutation Example
- (1) ~dog(x) | likes(x,bones)
- (2) ~dogs(y) | ~likes(y,z) | eats(y,z)
- (3) dog(pasta)
- (4) ~eats(pasta,bones) contradiction desired
- (5) [resolution,2,4,{y/pasta,z/bones}]
~dogs(pasta) | ~likes(pasta,bones)
- (6) [resolution,1,3,{x/pasta}] likes(pasta,bones)
- (7) [resolution,5,6] ~dogs(pasta)
- (8) [resolution,3,7] FALSE
Conjunctive Normal Form (CNF)
- Start the proof with the axioms in the right form for resolution, CNF
- CNF is a conjunction of disjunctions; each clause is a disjunction of literals and the clauses are implicitly taken in conjunction (so don’t be confused --- you see the disjuncts).
Steps to convert to CNF
Steps to convert to CNF
Steps to convert to CNF
Example Proof
Example continued
- Resolution proof (starting with clause form)
- (1) ~R(x) | L(x)
- (2) ~D(y) | ~L(y)
- (3a) D(A)
- (3b) I(A)
- negated (4) ~I(z) | R(z)
- (5) [res,3b,4,{z/A}] R(A)
- (6) [res,1,5,{x/A}] L(A)
- (7) [res,2,6,{y/A}] ~D(A)
- (8) [res,3a,7] FALSE
Assignment to be worked in the regularly schedule class time on
April 27
- Problem 9.8 on page 295 of your text.