1 / 41

Resolution Preliminaries

Computational Logic Lecture 9. Resolution Preliminaries. By Prof. Michael Genesereth, Computer Science, Stanford Univ Spring 2005 Modified by Charles Ling. Use with permission . Resolution Principle. The Resolution Principle is a rule of inference.

naif
Download Presentation

Resolution Preliminaries

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computational Logic Lecture 9 Resolution Preliminaries By Prof. Michael Genesereth, Computer Science, Stanford Univ Spring 2005 Modified by Charles Ling. Use with permission

  2. Resolution Principle The Resolution Principle is a rule of inference. Using the Resolution Principle alone (without axiom schemata or other rules of inference), it is possible to build a theorem prover that is sound and complete for all of Relational Logic. The search space using the Resolution Principle is much smaller than with standard axiom schemata.

  3. Clausal Form Relational resolution works only on expressions in clausal form. Fortunately, it is possible to convert any set of Relational Logic sentences into an equally satisfiable set of sentences in clausal form. Notice the notations used by this author, different from the textbook in many ways!

  4. Clausal Form A literal is either an atomic sentence or a negation of an atomic sentence. A clausal sentence is either a literal or a disjunction of literals. A clause is a set of literals (interpreted as disjunction). {p(a)} {p(a)} {p(a), q(b)} The empty clause {} is unsatisfiable.

  5. Inseado Implications Out: Negations In:

  6. Inseado (continued) Standardize variables Existentials Out (Outside in): Introductng Skolem constants and functions.

  7. Inseado (continued) Alls Out Distribution

  8. Inseado (continued) Operators Out

  9. Example

  10. Example

  11. Example (continued)

  12. Clausal Form Bad News: The result of converting a set of sentences is not necessarily logically equivalent to the original set of sentences. Why? Introduction of Skolem constants and functions. Good News: The result of converting a set of sentences is satisfiable if and only if the original set of sentences is satisfiable. Important because we use satisfiability to determine logical entailment.

  13. Difficulty with Universal Instantiation

  14. Substititions A substitution is a finite set of pairs of variables and terms, called replacements. {Xa, Yf(b), VW} The result of applying a substitution  to an expression  is the expression  obtained from  by replacing every occurrence of every variable in the substitution by its replacement. p(X,X,Y,Z){Xa,Yf(b),VW}=p(a,a,f(b),Z)

  15. Unification A substitution  is a unifier for an expression  and an expression  if and only if =. p(X,Y){Xa,Yb,Vb}=p(a,b) p(a,V){Xa,Yb,Vb}=p(a,b) If two expressions have a unifier, they are said to be unifiable. Otherwise, they are nonunifiable. p(X,X) p(a,b)

  16. Non-Uniqueness of Unification Unifier 1: p(X,Y){Xa,Yb,Vb}=p(a,b) p(a,V){Xa,Yb,Vb}=p(a,b) Unifier 2: p(X,Y){Xa,Yf(W),Vf(W)}=p(a,f(W)) p(a,V){Xa,Yf(W),Vf(W)}=p(a,f(W)) Unifier 3: p(X,Y){Xa,YV}=p(a,V) p(a,V){Xa,YV}=p(a,V)

  17. Most General Unifier A substitution  is a most general unifier (mgu) of two expressions if and only if it is as general as or more general than any other unifier. Theorem: If two expressions are unifiable, then they have an mgu that is unique up to variable permutation. p(X,Y){Xa,YV}=p(a,V) p(a,V){Xa,YV}=p(a,V) p(X,Y){Xa,VY}=p(a,Y) p(a,V){Xa,VY}=p(a,Y) (May omit the next few slides on how to find mgu. Usually easy to see in simple proof).

  18. Expression Structure p a d f b c Each expression is treated as a sequence of its immediate subexpressions. Linear Version: p(a, f(b, c), d) Structured Version: car cdr

  19. Most General Unification functionmgu (x, y, s) {if x = y then s else if varp(x) then mguvar(x, y, s) else if atom(x) then {if varp(y) then mguvar(y, x, s) else if atom(y) then if x = y then s} else if varp(y) then mguvar(y, x, s) else if atom(y) then false else if smgu(car(x),car(y), s) then mgu(cdr(x), cdr(y), s)} functionmguvar (x, y, s) {vardum; ifdum assoc(x, s)thenmgu(right(dum), y, s) elsecompose(s,{x  plug(y,s)})}

  20. Example Call: mgu(p(X,b), p(a,Y), {}) Call: mgu(p, p, {})Exit: {} Call: mgu(X, a, {}) Exit:{Xa} Call:mgu(b, Y, {Xa}) Exit:{Xa,Yb} Exit:{Xa,Yb}

  21. Example Call: mgu(p(X,X), p(a,b), {}) Call: mgu(p, p, {}) Exit: {} Call: mgu(X, a, {}) Exit: {Xa} Call: mgu(X, b, {Xa}) Call: mgu(a, b, {Xa}) Exit: false Exit: false Exit: false

  22. Example Call: mgu(p(f(X),f(X)), p(Y,f(a)), {}) Call: mgu(p, p, {}) Exit:{} Call: mgu(f(X), Y, {}) Exit: {Yf(X)} Call: mgu(f(X), f(a), {Yf(X)}) Call: mgu(f, f, {Yf(X)}) Exit: {Yf(X)} Call: mgu(X, a, {Yf(X)}) Exit: {Yf(a),Xa} Exit: {Yf(a),Xa} Exit: {Yf(a),Xa}

  23. Example Call: mgu(p(X,X), p(Y,f(Y)), {}) Call: mgu(p, p, {}) Exit:{} Call: mgu(X, Y, {}) Exit:{XY} Call: mgu(X, f(Y), {XY}) Call: mgu(Y, f(Y), {XY}) Exit:{Xf(Y),Yf(Y)} Exit:{Xf(Y),Yf(Y)} Exit:{Xf(Y),Yf(Y)}

  24. Computational Logic Lecture 10 Resolution Theorem Proving Michael Genesereth Spring 2005

  25. Propositional Resolution

  26. Relational Resolution I

  27. Example

  28. Example

  29. Example Everybody loves somebody. Everybody loves a lover. Show that everybody loves everybody.

  30. Example (continued)

  31. Example (concluded)

  32. Harry and Ralph Every horse can outrun every dog. Some greyhound can outrun every rabbit. Show that every horse can outrun every rabbit.

  33. Harry and Ralph (continued)

  34. Harry and Ralph (continued)

  35. Harry and Ralph (concluded)

  36. Example Given: x.y.(p(x,y)  q(x,y)) x.y.(p(x,y)  q(x,y)) Prove: x.y.(p(x,y)  q(x,y))

  37. Example (continued) x.y.(p(x,y)  q(x,y)) x.y.((p(x,y)  q(x,y))  (p(x,y)  q(x,y))) (p(a,y)  q(a,y))  (p(a,y)  q(a,y)) {p(a,y), q(a,y)} {p(a,y), q(a,y)} x.y.(p(x,y)  q(x,y)) p(x, f(x))  q(x, f(x)) {p(a,f(x)), q(a,f(x))}

  38. Example (continued) Negate the goal: x.y.(p(x,y)  q(x,y)) x.y.(p(x,y)  q(x,y)) Convert to Clausal Form: x.y.(p(x,y)  q(x,y)) x.y.(p(x,y)  q(x,y)) x.y.(p(x,y) q(x,y)) p(x,y) q(x,y) {p(x,y), q(x,y)}

  39. Example (concluded) 1. {p(a,y), q(a,y)} Premise 2. {p(a,y), q(a,y)} Premise 3. {p(x, f(x)), q(x, f(x))} Premise 4. {p(x,y), q(x,y)} Negated Goal 5. {q(a, f(a))} 1, 3 6. {p(a, f(a))} 2, 3 7. {p(a, f(a))} 4, 5 8. {} 6, 7

  40. Provability A resolution derivation of a clause  from a set  of clauses is a sequence of clauses terminating in  in which each item is (1) a member of  or (2) the result of applying the resolution to earlier items. A sentence  is provable from a set of sentences  by resolution if and only if there is a derivation of the empty clause from the clausal form of {}. A resolution proof is a derivation of the empty clause from the clausal form of the premises and the negation of the desired conclusion.

  41. Soundness and Completeness Metatheorem: Provability using the Relational Resolution Principle is sound and complete for Relational Logic (without equality).

More Related