Resolution in First-Order Logic: Basic Steps For Proving A Conclusion Given Premises (All Expressed in FOL)
Resolution in First-Order Logic: Basic Steps For Proving A Conclusion Given Premises (All Expressed in FOL)
Basic steps for proving a conclusion S given premises Premise1, , Premisen (all expressed in FOL):
1. Convert all sentences to CNF 2. Negate conclusion S & convert result to CNF 3. Add negated conclusion S to the premise clauses 4. Repeat until contradiction or no progress is made: a. Select 2 clauses (call them parent clauses) b. Resolve them together, performing all required unifications c. If resolvent is the empty clause, a contradiction has been found (i.e., S follows from the premises) d. If not, add resolvent to the premises
Resolution Examples
Example 1:
If something is intelligent, it has common sense Deep Blue does not have common sense Prove that Deep Blue is not intelligent 1. x.I(x) H(x) 2. H(D) Conclusion: I(D) Denial: C3: I(D) C1: I(x) H(x) C2: H(D)
CNF
Mother(Lulu,Fifi)
Mother(x,y) Parent(x,y)
{x/Lulu,y/Fifi}
Parent(Lulu,Fifi)
Alive(Lulu)
Older(Lulu, Fifi)
Older(Lulu, Fifi)
Dont make mistake of first forming clause from conclusion & then denying it:
Conclusion: x.Older(x, Fifi) clause form: Older(C, Fifi) denial: Older(C, Fifi) Cannot unify Lulu,C!!
Question-Answering
Example 1: Who is Lulu older than?
Prove that there is an x such that Lulu is older than x In FOL form: x.Older(Lulu, x) Denial: x.Older(Lulu, x) x.Older(Lulu, x) in clause form: Older(Lulu, x) Successful proof gives {x/Fifi} [Verify!!]