Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
29
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences
  • 2. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then tosets of clausesAt each step, a new clause is derived from twoclauses you already haveProof steps all use the same ruleIf reach  (_|_), sentences were not satisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 3. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then tosets of clausesAt each step, a new clause is derived from twoclauses you already haveProof steps all use the same ruleIf reach  (_|_), sentences were not satisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 4. Conversion to Clausal FormUse P  Q equiv ~P v Q to remove Use P  Q equiv ((~P v Q) ^ (~Q v P)) to remove  New 1st Step! We hadn’t done conditionals yetUse DeMorgan’s laws and ~Elim to move ~ as far inwardas possible (gives NNF)Use the distributive laws until the sentence is in CNF
  • 5. Clausal FormGiven a sentence S written in CNF S = ( ) ∧( ) ∧ . . . ∧ ( )Convert each ( ) into a clause - a setconsisting of each of the literals in ( ).Example: S= (A) ∧ (¬B ∨ C ∨ D) ∧ (¬A∨ D)Clauses are: {A}, {¬ B, C, D}, {¬ A, D}
  • 6. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then to sets ofclausesAt each step, a new clause is derived from two clausesyou already haveProof steps all use the same ruleIf reach  (_|_), sentences were notsatisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 7. Satisfying a Set of ClausesAssigning truth-values to the atomicsentences so the CNF sentence the setcorresponds to is true.{{A, ¬C, D}, {C},{¬A},{A, D}} is satisfied by A = False C = True D = True
  • 8. Empty Clause{} denoted by .The empty clause is not satisfiableWe want {{A}, {¬ A}} to lead to {} ()The basic resolution step involves “canceling”pos and neg matching literals from two clausesSo, we derive {} () from {{A}, {¬ A}}
  • 9. Example: not satisfiable¬P ∨ Q {¬P, Q}P {P}¬Q {¬Q} {¬P, Q} {P} {¬Q}
  • 10. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then tosets of clausesAt each step, a new clause is derived from twoclauses you already haveProof steps all use the same ruleIf reach  (_|_), sentences were not satisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 11. Resolution Step
  • 12. Res. Step with Larger Clauses
  • 13. ResolventClause R is a resolvent of clauses C 1 andC2 if there is a literal in C1 whose negationis in C2 and R consists of all the remainingliterals in either clause.Example: {A, C , ¬D} and {B, ¬C} haveresolvent {A, B, ¬D}
  • 14. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then tosets of clausesAt each step, a new clause is derived from twoclauses you already haveProof steps all use the same ruleIf reach  (_|_), sentences were notsatisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 15. Resolution TheoremFor any set of clauses that are notsatisfiable, it is possible to arrive at theempty clause by using successiveresolutions.
  • 16. Resolution Theorem ProvingMethod for searching for proofs automaticallySentences are translated into CNF, and then to sets ofclausesAt each step, a new clause is derived from two clausesyou already haveProof steps all use the same ruleIf reach  (_|_), sentences were not satisfiableStart: premises + negation of goalEnd: if reach , premises |= goal
  • 17. Using Resolution to Determine Validity of ArgumentsQ is a logical consequence of P1, P2, …,Pn iff P1 ^ P2 ^ … ^ Pn ^ ~Q is notsatisfiableFor sentences in clausal form:Q is a logical consequence of a set ofclauses S iff S ∪ {¬Q} is not satisfiable.So, convert premises + negation of goal toclausal form, and do resolution steps, trying toreach {} ()
  • 18. Is this Argument Valid?BvC~C v ~DAvD~B v ~DA
  • 19. ExampleShow ¬A ∧ (B ∨ C) ∧ (¬C ∨ ¬D) ∧ (A ∨ D) ∧ (¬B ∨ ¬D) isnot satisfiable.Clauses: {¬ A}, {B, C}, {¬C, ¬D}, {A, D}, {¬B, ¬D}.{¬A} {A,D} {B,C} {¬C, ¬D} {D} { B, ¬D} {¬B, ¬D} { ¬D} 
  • 20. ExampleModus PonesP→Q ¬P∨Q or {¬P,Q}P {P}Q negate to get {¬Q}Apply resolution: {¬P,Q} { P} { Q} { ¬Q}
  • 21. What is a Horn sentence?A positive literal is any literal that is notpreceded with a ¬. For example, Cube(b)and P are positive literals.A sentence S is a Horn sentence if andonly if it is in CNF and every conjunct hasat most one positive literal.
  • 22. Examples(A ∨ ¬B ∨ ¬C) ∧ (¬A ∨ ¬B) Horn sentence(A ∨ ¬B ∨ C) ∧ (D) Not Horn sentence(A ∧ B) ∨ (¬C ∧ ¬D) Horn sentence (A ∨ ¬C) ∧ (B ∨ ¬C) ∧ (A ∨ ¬D) ∧ (B ∨ ¬D)
  • 23. Alternate Form of Horn Conjunct¬A1∨ ¬A2∨...∨ ¬An∨ B ¬(A1 ∧ A2 ∧... ∧ An) ∨ B (A1 ∧ A2 ∧... ∧ An) → B B :- A1, A2, …, An. Conditional Form In Prolog: of HornRule sentence B if A1, A2, …, An
  • 24. Special CasesNo positive literal¬A1∨ ¬A2∨...∨ ¬An In Prolog, this is a query!(A1 ∧ A2 ∧... ∧ An) → FalseNo negative literalsB In Prolog, this True → B is a fact!
  • 25. Why are Horn sentences important?Very efficient algorithms exist for determining if aset of Horn sentences is satisfiable
  • 26. CNF to PROLOG¬A ∨ B ∨ ¬C is ¬(A∧C) ∨ B is (A ∧ C)→BB :- A, C.A.C.Query: :- B.Answer: Yes.
  • 27. Example Prolog Programgrandfather(X,Y) :- father(X,Z), father(Z,Y).grandfather(X,Y) :- father(X,Z), mother(Z,Y).mother(ann,bill).father(carl,ed).father(nick,ann).father(ed,sam).