Sep 20, 2006 ------------- - Recap propositional logic rules - Modus Ponens - Modus Tollens - Resolution - What is the difference between "entails" and "if ... then ..."? - one is an expression, the other is a sentence! - one is true in some models, the other is a statement about general models - Using these rules to prove simple facts - From KB, derive goal - First, convert the given KB into clauses - each clause is a disjunction - Try to apply these rules in order to arrive at the desired conclusion - Two 'tricks' that we use - can rearrange literals in a clause (disjunction) - can eliminate duplicate literals - Worked out example with resolution applied three times - Given: p->q, ^p->r, q->s, r->s - Prove: s - Doesn't always work (why?) - Might need to negate goal: ^s - Add it back to the KB - And prove a contradiction - This approach is called - refutation - Resolution is complete if - we use the refutation mode of proving - Can also say - "Resolution-refutation is complete", or - "Resolution is refutation-complete" (better) - What this means is: - you do not need any other rule, just resolution is sufficient - Another worked out example from your book - How to search for a systematic proof - breadth first search (forward chaining) - set of support strategy - both are complete! - Set of support strategy - Initially "set of support" contains only negated goal - All resolutions must include one argument from set of support - Accumulate results back into set of support - Horn clauses - a representation for which Modus Ponens is complete - note that Modus Ponens is really a specialization of Resolution - Definition of Horn Clause - a disjunction with at most one positive literal - Types of Horn Clauses - exactly 1 positive literal and no negative literals - called "facts" - exactly 1 positive literal and at least one negative literal - called "rules" - 0 positive literals - serves as the "goal" - Predicate logic - generalization of propositional logic - Simple example - CS 4804 is a CS course. - All CS courses are easy. - Therefore CS 4804 is easy. - Possible predicates - CScourse(X): true when X is a CScourse. - easy(X): true when X is easy. - Predicates are also called - tables/relations in database literature - schema: predicate name, columns; instances: rows