Download presentation
Presentation is loading. Please wait.
Published byScarlett McGee Modified over 9 years ago
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).
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.