Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences.

Similar presentations


Presentation on theme: "CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences."— Presentation transcript:

1 CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences

2 Resolution Theorem Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

3 Resolution Theorem Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

4 Conversion to Clausal Form Use P  Q equiv ~P v Q to remove  Use P  Q equiv ((~P v Q) ^ (~Q v P)) to remove  Use P  Q equiv ((~P v Q) ^ (~Q v P)) to remove  New 1st Step! We hadn’t done conditionals yet Use DeMorgan’s laws and ~Elim to move ~ as far inward as possible (gives NNF) Use the distributive laws until the sentence is in CNF

5 Clausal Form Given a sentence S written in CNF S = ( )  ( ) ...  ( ) Convert each ( ) into a clause - a set consisting 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 Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

7 Satisfying a Set of Clauses Assigning truth-values to the atomic sentences so the CNF sentence the set corresponds to is true. {{A,  C, D}, {C},{  A},{A, D}} is satisfied by {{A,  C, D}, {C},{  A},{A, D}} is satisfied by A = False C = True D = True A = False C = True D = True

8 Empty Clause {} denoted by . The empty clause is not satisfiable We want {{A}, {  A}} to lead to {} (  ) The basic resolution step involves “canceling” pos and neg matching literals from two clauses So, we derive {} (  ) from {{A}, {  A}}

9 Example: not satisfiable  P  Q P  Q {  P, Q} {P} {  Q} {  P, Q} {P} {  Q}

10 Resolution Theorem Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

11 Resolution Step

12 Res. Step with Larger Clauses

13 Resolvent Clause R is a resolvent of clauses C 1 and C 2 if there is a literal in C 1 whose negation is in C 2 and R consists of all the remaining literals in either clause. Example: {A, C,  D} and {B,  C} have resolvent { A, B,  D }

14 Resolution Theorem Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

15 Resolution Theorem For any set of clauses that are not satisfiable, it is possible to arrive at the empty clause by using successive resolutions.

16 Resolution Theorem Proving Method for searching for proofs automatically Sentences are translated into CNF, and then to sets of clauses At each step, a new clause is derived from two clauses you already have Proof steps all use the same rule If reach  (_|_), sentences were not satisfiable Start: premises + negation of goal End: if reach , premises |= goal

17 Using Resolution to Determine Validity of Arguments Q is a logical consequence of P1, P2, …, Pn iff P1 ^ P2 ^ … ^ Pn ^ ~Q is not satisfiable For sentences in clausal form: Q is a logical consequence of a set of clauses S iff S  {  Q} is not satisfiable. So, convert premises + negation of goal to clausal form, and do resolution steps, trying to reach {} ( )

18 Is this Argument Valid? B v C ~C v ~D A v D ~B v ~D A

19 Example Show  A  (B  C)  (  C   D)  (A  D)  (  B   D) is not 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 Example Modus Pones P  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 not preceded with a . For example, Cube(b) and P are positive literals. A sentence S is a Horn sentence if and only if it is in CNF and every conjunct has at most one positive literal.

22 Examples (A   B   C)  (  A   B) (A   B  C)  (D) (A  B)  (  C   D) Horn sentence Not Horn sentence (A   C)  (B   C)  (A   D)  (B   D) Horn sentence

23 Alternate Form of Horn Conjunct  A 1   A 2 ...   A n  B  (A 1  A 2 ...  A n )  B (A 1  A 2 ...  A n )  B Conditional Form of Horn sentence B :- A 1, A 2, …, A n. In Prolog: Rule B if A 1, A 2, …, A n

24 Special Cases No positive literal  A 1   A 2 ...   A n No negative literals B (A 1  A 2 ...  A n )  False True  B In Prolog, this is a fact! In Prolog, this is a query!

25 Why are Horn sentences important? Very efficient algorithms exist for determining if a set of Horn sentences is satisfiable

26 CNF to PROLOG  A  B   C is  (A  C)  B is (A  C)  B B :- A, C. A. C. Query: :- B. Answer: Yes.

27 Example Prolog Program grandfather(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).


Download ppt "CS1502 Formal Methods in Computer Science Lecture Notes 10 Resolution and Horn Sentences."

Similar presentations


Ads by Google