Reasoning Using First-Order Predicate Logic
Reasoning Using First-Order Predicate Logic
Resolution Refutations
Example: Given {BAT_OK, MOVES', BAT_OK LIFTABLE MOVES}
Prove LIFTABLE
Nilsson
Resolution Refutations
Example: Given {BAT_OK, MOVES', BAT_OK LIFTABLE MOVES}
Prove LIFTABLE
Resolution refutation proofs involve the following steps:
Resolution Refutations
Example: Given {BAT_OK, MOVES', BAT_OK LIFTABLE MOVES}
Prove LIFTABLE
Nilsson
Anyone passing his history exams and winning the lottery is happy. But anyone who studies or is lucky can pass all his exams. John did not study but is lucky. Anyone who is lucky wins the lottery. Is John happy?
Unification substitutions
Complete state space for the exciting life problem generated by breadth-first search (to two levels).
4.
Eliminate implication signs. Reduce scopes of negation signs. Standardize variables. Note: variables within the scope of quantifiers are dummy variables and can be renamed so that each quantifier has its own variable symbol. Example: (X)p(X)' (X)q(X) can be rewritten as (X)p(X)' (Y)q(Y). Eliminate existential quantifiers (e.g., use a Skolem function to convert (X)[(Y) height(X,Y)] (meaning, X is of height Y) to (X)height(X,h(X)).
Nilsson
Problem: Sam, Clyde, and Oscar are elephants. We know the following facts about them: 1. Sam is pink. 2. Clyde is gray and likes Oscar. 3. Oscar is either pink or gray (but not both) and likes Sam. Prove that a gray elephant likes a pink elephant.
Nilsson
Problem: Sam, Clyde, and Oscar are elephants. We know the following facts about them: 1. Sam is pink. 2. Clyde is gray and likes Oscar. 3. Oscar is either pink or gray (but not both) and likes Sam. Prove that a gray elephant likes a pink elephant.
Problem: Sam, Clyde, and Oscar are elephants. We know the following facts about them: 1. Sam is pink. 2. Clyde is gray and likes Oscar. 3. Oscar is either pink or gray (but not both) and likes Sam. Prove that a gray elephant likes a pink elephant. Knowledge Base: p(s) g(c) l(c,o) p(o) g(o) p(o) g(o)' l(o,s) (X,Y)[g(X)p(Y)l(X,Y)] (prove)
(assume)
p(s) g(c) l(c,o) p(o) g(o) p(o)' g(o)' l(o,s) g(sk1) p(sk2) l(sk1, sk2) g(sk1)' p(sk2)' l(sk1, sk2)'
1 2 3 4 5 6
7
Nilsson
1. 2. 3. 4. 5. 6. 7.
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)'
1. 2. 3. 4. 5. 6. 7. 8.
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)'
used used
1. 2. 3. 4. 5. 6. 7. 8. 9.
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)'
used
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)' p(o)
Given Given Given Given Given Given Assumed 6,7 1,8 4,9
used
used
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)' p(o) p(sk2)' l(c, sk2)'
Given Given Given Given Given Given Assumed 6,7 1,8 4,9 2,7
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)' p(o) p(sk2)' l(c, sk2)' l(c, o)'
Given Given Given Given Given Given Assumed 6,7 1,8 4,9 2,7 10,11
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)' p(o) p(sk2)' l(c, sk2)' l(c, o)'
Given Given Given Given Given Given Assumed 6,7 1,8 4,9 2,7 10,11 3,12
p(s) g(c) l(c, o) p(o) g(o) p(o)' g(o)' l(o, s) g(sk1)' p(sk2)' l(sk1, sk2)' g(o)' p(s)' g(o)' p(o) p(sk2)' l(c, sk2)' l(c, o)'
Given Given Given Given Given Given Assumed 6,7 1,8 4,9 2,7 10,11 3,12
Different solution
Previous solution
Although at first sight there may not appear to be enough information to prove what is asked, consider that there are only tw o likes predicates in the knowledge base. Consequently, the only two possibilities are g(c)p(o)l(c, o) and g(o)p(s)l(o, s). Because we know g(c) and p(s), the first of these will be true for p(o) and the second for g(o). But we also know p(o) g(o) so, even though we dont know what color Oscar is, we do know that one of those statements, (g(c) p(o)l(c, o) or g(o)p(s)l(o, s), must be true. Note that the two solutions shown above reflect the two possibilities.
Prove: (X)(Y)[g(X)p(Y)l(X,Y)] 1. p(s) 2. g(c) 3. l(c, o) 4. p(o) g(o) 5. p(o) g(o)' 6. l(o, s) 7. {( X)(Y)[g(X)p(Y)l(X,Y)]} ' 8. (X)(Y)[g(X)' p(Y)' l(X, Y)'] 9. (X)(Y)[l(X, Y) (g(X) p(Y))'] 10. l(c, o) [g(c) p(o)]' 11. [g(c) p(o)]' 12. g(c)' p(o)' 13. g(c) p(o)' 14. p(o)' 15. p(o)' g(o) 16. g(o) 17. l(o, s) [g(o) p(s)]' 18. [g(o) p(s)]' 19. g(o)' p(s)' 20. g(o) p(s)' 21. p(s)'
hypothesis hypothesis hypothesis hypothesis hypothesis hypothesis assumption for proof by contradiction 7, negate and use DeMorgans law 8, rewrite implication and use DeMorgans law
9, universal instantiation 3,10, modus ponens 11, DeMorgans law 12, rewrite implication 2, 13, modus ponens 4, rewrite implication 14,15, modus ponens 9, universal instantiation 6, 17, modus ponens 18, DeMorgans law 19, rewrite implication 16, 20, modus ponens contradiction with 1
Alternatively, we can consider a standard proof sequence for the elephant problem (still employing a proof by contradiction)
Problem: Tony, Mike, and John belong to the Alpine Club. Every member of the Alpine Club is either a skier or a mountain climber or both. No mountain climber likes rain, and all skiers like snow. Mike dislikes whatever Tony likes and likes whatever Tony dislikes. Tony likes rain and snow. Who is a member of the Alpine Club who is a mountain climber but not a skier?
Nilsson
Problem: Tony, Mike, and John belong to the Alpine Club. Every member of the Alpine Club is either a skier or a mountain climber or both. No mountain climber likes rain, and all skiers like snow. Mike dislikes whatever Tony likes and likes whatever Tony dislikes. Tony likes rain and snow. Who is a member of the Alpine Club who is a mountain climber but not a skier? Predicates: a(X) X is a member of the Alpine club m(X) X is a Mountain climber s(X) X is a Skier l(X,Y) X Likes Y Constants: t Tony m Mike j John r Rain s Snow
Nilsson
Problem: Tony, Mike, and John belong to the Alpine Club. Every member of the Alpine Club is either a skier or a mountain climber or both. No mountain climber likes rain, and all skiers like snow. Mike dislikes whatever Tony likes and likes whatever Tony dislikes. Tony likes rain and snow. Who is a member of the Alpine Club who is a mountain climber but not a skier? Knowledge Base: a(t) a(m) a(j) (x)[a(X) s(X) m(X)] (x)[m(X) l(X,r)'] (x)[s(X) l(X,s)] (x)[l(t,X) l(m,X)'] (x)[l(t,X)' l(m,X)] l(t,r) l(t,s) a(X) m(X) s(X)' (prove) a(t) 1 a(m) 2 a(j) 3 a(X)' s(X) m(X) 4 m(X)' l(X,r)' 5 s(X)' l(X,s) 6 l(t,X)' l(m,X)' 7 l(t,X) l(m,X) 8 l(t,r) 9 l(t,s) 10 a(X)' m(X)' s(X) Ans(X) (assume)11
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X)
Given Given Given Given Given Given Given Given Given Given Assumed
used
used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)'
Given Given Given Given Given Given Given Given Given Given Assumed 7,10
used
used used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)'
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9
used
used used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)' 14. s(m)'
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9 6,12
used
used used used used used used used used
used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)' 14. s(m)' 15. a(m)' m(m)
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9 6,12 4,14
used
used used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)' 14. s(m)' 15. a(m)' m(m) 16. a(m)' s(m) ans(m)
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9 6,12 4,14 11,15
used
used used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)' 14. s(m)' 15. a(m)' m(m) 16. a(m)' s(m) ans(m) 17. s(m) ans(m)
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9 6,12 4,14 11,15 2,16
used
used used used used used used used used
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12. l(m,s)' 13. m(t)' 14. s(m)' 15. a(m)' m(m) 16. a(m)' s(m) ans(m) 17. s(m) ans(m) 18. ans(m)
Given Given Given Given Given Given Given Given Given Given Assumed 7,10 5,9 6,12 4,14 11,15 2,16 14,17
used
used used used used used used used used
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X)
Given Given Given Given Given Given Given Given Given Given Assumed
used
used used used used used used used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12.m(t)' s(t) ans(t)
Given Given Given Given Given Given Given Given Given Given Assumed 1,11
used
used
Nilsson
1. a(t) 2. a(m) 3. a(j) 4. a(X)' s(X) m(X) 5. m(X)' l(X,r)' 6. s(X)' l(X,s) 7. l(t,X)' l(m,X)' 8. l(t,X) l(m,X) 9. l(t,r) 10.l(t,s) 11.a(X)' m(X)' s(X) ans(X) 12.m(t)' s(t) ans(t) 13.l(t,s) m(t)' ans(t) Where do we go from here?
Given Given Given Given Given Given Given Given Given Given Assumed 1,11 6,12
used
used
used used
Nilsson