Automated Theorem Proving
What is a "Proof"?
- Flip a coin: Heads I win, Tails you lose.
- Heads => IWin
- Tails => YouLose
- YouLose => IWin
- Heads or Tails
- not Heads or not Tails
- Inference Rule (Modus Ponens)
- Condition: A and (A => B)
- Conclusion: B
- Proof by Modus Ponens
- Inference Rule (Resolution)
- Condition 1: A1 or ... or Ai or not C or ... or Am
- Condition 2: B1 or ... or Bj or C or ... or Bn
- Conclusion: A1 or ... Am or B1 or ... or Bn
- Proof by contradiction
- Tautology: A or not A
- Contradiction: not (A or not A) => A and not A
Satisfiability Problem
- CNF (Conjunctive Normal Form)
- Horn Clause
- Each clause has at most one positive literal
- (Definite Horn Clause): Each clause has exactly one positive literal
- Leads to polynomial-time resolution inference
Expert Systems
- Build knowledge base using Horn Clauses
- Prolog
- Backward-chaining (resolution)
- CLIPS
- Forward-chaining (modus ponens)
Predicate Calculus
- "Abbreviated" predicate calculus
- Allows parameterized predicates
- Abbreviates propositional logic
- "Full" predicate calculus
- Allows "function symbols"
- Example: Peano Axioms:
- NatNum(Zero)
- NatNum(?N) => NatNum(S(?N))