Presentation is loading. Please wait.

Presentation is loading. Please wait.

Logic in Computer Science Transparency No. 3.3-1 Chapter 3 Propositional Logic 3.6. Propositional Resolution.

Similar presentations


Presentation on theme: "Logic in Computer Science Transparency No. 3.3-1 Chapter 3 Propositional Logic 3.6. Propositional Resolution."— Presentation transcript:

1 Logic in Computer Science Transparency No. 3.3-1 Chapter 3 Propositional Logic 3.6. Propositional Resolution

2 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-2 Propositional Resolution (another Propositinal calculus)  a single rule of inference: P => Q, Q => R -------------------------- P => R  Using propositional resolution alone (without axiom schemata or other rules of inference), it is possible to build a theorem prover that is sound and complete for All propositional Calculus.  The search space using propositional resolution is much smaller than for standard propositional calculus (like H).  works only on expressions in clausal form.  General procedure to convert wffs into clausal forms introduced before.

3 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-3 Clausal Form revisited  A literal is either an atomic sentence or a negation of an atomic sentence. p ~p  A clause is either a literal or a disjunction of literals. p ~p p \/ q \/ r  Clauses are usually written as sets of literals. { p}, { ~p}, { p,q,r }  A database in clausal form is a set of clauses. {{~p,q},{r,~q}}

4 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-4 Empty Sets  The empty clause {} is unsatisfiable. Why: It is equivalent to an empty disjunction.  The empty database {} is valid. Why: It is equivalent to an empty conjunction.  What about a database consisting of an empty clause {{}}?

5 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-5 Conversion to Clausal Form  Implications out: P1 -> P2 ---> ~P1 \/ P2 P1 P2 ---> (~P1 \/ P2) /\ (P1 \/ ~P2)  Negations in: ~~P ---> P ~(P1 /\ P2) ---> ~P1 \/ ~P2 ~(P1 \/ P2) ---> ~P1 /\ ~P2  Disjunctions in: P1 \/ (P2 /\ P3) ---> (P1 \/ P2) /\ (P1\/ P3)  Operators out: P1 \/ P2 ---> {P1,P2} P1 /\ P2 ---> {P1}, {P2}

6 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-6 Examples  Example 1: (g & (r -> f)) I (g & (~r | f)) N D O { g}, {~r,f}  Example 2: ~(g & (r -> f)) I ~(g & (~r | f)) N (~g | ~(~r | f)) (~g | (~~r & ~f)) (~g | (r & ~f)) D (~g | r) & (~g | ~f) O {~g, r}, {~g, ~f}

7 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-7 Propositional Resolution  General form: {p1,..., r,...,pm} {q1,...,~r,...,qn} --------------------- {p1,...,pm,q1,...,qn}  Example: {Office, Home} {~Home,Sick} ---------------------- {Office,Sick}

8 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-8 Issues  Collapse: {~p,q} {p,q} ------------ {q}  Multiple Conclusions: {p,q} {~p,~q} ------------- {p,~p} {q,~q} Single Application Only: {p,q} {~p,~q} ------------- {} NO!

9 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-9  Modus Ponens: p => q {~p,q} p {p} ---------- ----------------- q {q}  Modus Tollens: p => q {~p,q} ~q {~q} ---------- ------------ ~p {~p} Special Cases of Propositional Resolution Chaining: p => q {-p,q} q => r {-q,r} ---------- ------------- p => r {-p,r}

10 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-10 Unsatisfiability  Example: 1. {p,q} premise 2. {~p,q} premise 3. {p,~q} premise 4. {~p,~q} premise 5. {q} 1,2 6. {~q} 3,4 7. {} 5,6

11 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-11 True or False Questions  Theorem: T |= A iff T U {~A} is unsatisfiable.  Application: To determine whether a set T of sentences logically implies a sentence A, rewrite T U {~s} in clausal form and try to derive the empty clause.

12 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-12 True or False Example  {p -> q, q -> r} |= p -> r ? p -> q ==> {~p,q} q -> r ==> {~q,r} ~(p -> r) ==> {p}, {~r} 1. {~p,q} premise 2. {~q,r} premise 3. {p} negated goal 4. {~r} negated goal 5. {q} 1,3 6. {r} 2,5 7. {} 4,6

13 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-13 True or False Example  {p -> q,m -> p \/ q} |= m -> q? p -> q ==> {~p,q} m -> p \/ q ==> {~m,p,q} ~ (m -> q) ==> {m}, {~q} 1. {~p,q} premise 2. {~m,p,q} premise 3. {m} negated goal 4. {~q} negated goal 5. {p,q} 2,3 6. {q} 1,5 7. {} 4,6

14 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-14 Incompleteness?  Theorem: Propositional Resolution is not generatively complete. I.e., the statement: “If T |= A then there is a proof of A from T using Propositional Resolution only.” is not true. Pf: Show that {} |= p => (q => p) using propositional resolution. Note since there are no premises, there are no conclusions that can be generated. QED  However it can be show that Propositional Resolution is refutation complete. Namely, if T is unsatisfiable, then there is a resolution proof of {} (contradiction) from T. Hence  T |= A iff T U {~A} is unsatisfiable iff there is a resolution proof of {} from T U {~A}.

15 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-15 Resolution proof of {} |= p->(q->p) I ~(p -> (q -> p)) : ~A N ~(~p \/ (~q \/ p)) (~~p /\ ~(~q \/ p)) (~~p /\ (~~q /\ ~p)) (p /\ (q /\ ~p)) D O {p}, {q}, {~p} 1. {p} negated goal 2. {q} negated goal 3. {~p} negated goal 4. {} 1,3

16 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-16 Resolution Provability Definition: A sentence A is provable from a set of sentences T by propositional resolution (written T |- r A) iff there is a derivation of the empty clause from the clausal form of T U {~A} using resolution rule only.  Soundness and Completeness of Resolution:  Soundness Theorem: Proposition resolution is sound. T |- r A => T |= A  Completeness Theorem: Our proof system is complete. T |= A => T |- r A

17 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-17 Termination  Two finger method: 1. {P,Q} Premise 2. {~P,Q} Premise 3. {P,~Q} Premise 4. {~P,~Q} Premise 5. {Q} 1,2 6. {P} 1,3 7. {Q,~Q} 1,4; 2,3 8. {P,~P} 1,4; 2,3 9. {~P} 2,4 10. {~Q} 3,4 11. {} 6,9 Theorem: There is a resolution derivation of a conclusion from a set of premises if and only if there is a derivation using the two finger method. Theorem: Propositional resolution using the two-finger method always terminates. Proof: There are only finitely many clauses that can be constructed from a finite set of logical constants.

18 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-18 Soundness of |- r.  Let T |- rr A means there is a resolution proof of A with all premises from T.  Lemma: T |- rr A implies T |= A.  pf: Let D1,D2,…Dn be a resolution proof of A. Then  either A \in T and hence T |= A, or  A is obtained by resolution, i.e.,  there is Di = {L, L1,…,Ls}, Dj = {~L, M1,…,Mt} with  A = {L1,…Ls,M1,…Mt}.  By Ind. Hyp. T|= Di and T|= Dj, from which  T|= A by soundness of resolution.  Soundness of |-r.  pf: T |- r A iff T, ~A |- rr {} => T,~A |= [] => T U{~A} is unsatisfiable => T|= ~A.

19 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-19 The algorithm  input: T, A; output T |- r A ?  Let DB = the set of all clausal forms obtained from T U {~A}.  Let List = [].add( DB.removeFirst());  While(! DB.isEmpty()){  Clause C = DB.removeFirst();  ForEach( D in List ) {  let Result = AllResolvents(C,D);  for each E in Result {  if E = [] return true;  if( E not in List U DB ) DB.add( E);  }}  List.add(C).  }  return false;

20 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-20 Termination  The algorithm must terminates. pf: Since List and DB contains only distinct clauses and there are at most 2^ ( 2 x #atoms ) clauses that can be generated by resolutions, where #atoms is the number of distinct atoms in T U {~A}.

21 Logic in Computer Science Ch 3. Propositional Logic Transparency No. 3.1-21 Completeness  Let T be a finite set of clauses. if T is unsatifiable, then there is a resolution deduction of {} from T.  Pf: if T contains {}, then we are done.  Otherwise, the proof is by induction on the number of excess literals e = S { #literals(C) – 1 | C in T}.  if e = 0, then T is unsat iff theare two complementary unit clause {L} {~L} in C, => T |-r {}.  if e > 0 => there is a clause C = L \/ C’.  Let T1 = T – {C} U {C’}; T2 = T-{C} U {{L}}.  Since T is unsat, bothe T1 and T2 must be unsat.  => by ind hyp. There is a resolution proof R1 (R2) of {} from T1 (T2).  If R1 does not use C’, then R1 id also a proof of {} from T, and we are done. Other we can construct a proof of L from R1 by replacing every occurrence of C’ in R1 by C. now by joining such proof to occurrence of  L in R2,we obtains a prrof of {} from T.


Download ppt "Logic in Computer Science Transparency No. 3.3-1 Chapter 3 Propositional Logic 3.6. Propositional Resolution."

Similar presentations


Ads by Google