Title: COSC 4355 and 5355 Expert Systems
1COSC 4355 and 5355Expert Systems
- Knowledge Representation and Reasoning (Part 2)
- Resolution Theorem Proving in Propositional Logic
- Dr. Lappoon R. Tang
2Overview
- What is automated theorem proving?
- Proof System What is it?
- Theorem Prover What is it?
- Resolution Theorem Proving
- Resolution
- a rule of inference
- a mechanism for deriving new facts
3Readings
- ESPP
- Ch 3.10 Ch 3.12
- AI
- Ch 7.5
4Revision The Rules of Inference (Proof by
Refutation)
- To prove X, assume X is NOT true (i.e. not(X) is
true), and show that it leads to a contradiction - Example prove that there is no greatest integer
- Proof
- Assume the greatest integer is N
- Since N1 is also an integer
- But N1 gt N
- !!
5What is Automated Theorem Proving?
- It is a branch of research in AI that concerns
the following issues - Can I create a system that can automatically
prove if a statement is true or not? - Reminder a statement is something that is either
true or false (it has to be one or the other) - If so, how can I make sure that the system will
run efficiently?
6Why would Automated Theorem Proving be Desirable?
- Q Why would it be nice to have a theorem
- prover?
- False Because we can pass all Math
- classes easily
- True It has tremendous application values
7What is a Theorem Prover?
- Idea A program that can decide the validity of a
certain statement under a certain system of
logic.
S can be proven true given everything in K is true
Theorem Prover
A statement S
S cannot be proven true given everything in K is
true
A knowledge of true statements K
8Resolution Theorem Proving
- Resolution is a rule of inference
- Just like Modus Ponens, it can be used for
deriving new statements that are true provided
the premises are true. - Developed in 1965 by J.A. Robinson
- This single rule of inference can be used to
construct a theorem prover
9Resolution Theorem Proving Important definitions
- A literal is either an atomic sentence (or simply
atom) or the negation of it - Atoms p, q, r
- Negation of atoms p, q, s
- A clause is a disjunction of literals (or a set
of literals) - Example p v q p, q
- An empty clause is the empty set
- A WFF is in conjunctive normal form (CNF) if its
expressed as a conjunction of clauses - Example (p v q) (r v s)
- Any WFF in propositional logic can be converted
to a logically equivalent CNF using laws about
logical connectives (e.g. distributive law of
over v)
10Resolution Theorem Proving The resolution rule
of inference
- The resolution rule of inference
- Given p U A and p U B where p is an
atom, A and B are sets of literals - Derived A U B
- p U A p U B
- A U B
- p is the atom that has been resolved
- A U B is the resolvent
- This rule can be implemented as a procedure
called resolution
11Resolution An Example
- Suppose A r, B s
- p U r p U s
- r, s
- The atom p has been resolved
- r, s is the resolvent
12Resolution Theorem Proving The Intuition
- The idea behind resolution theorem proving is
this - To prove that a statement s is true, we assume
that it is false we assume s is true - If we can derive a contradiction at the end the
empty clause, then we know s is true
13Resolution Theorem Proving Algorithm
14Resolution Theorem Proving Algorithm
- Given a set of WFF K, and a sentence s
- Task find out if s can be derived from K (Note
this is the same as asking if the statement K gt
s is true) - Convert all the sentences in K into clauses in
CNF - Convert s to s (negation of s) Do you smell a
proof by refutation here? ? - Convert s into a clause in CNF
- Combine all the clauses obtained in 1) and 2)
into a single set G (G s U K) - Iteratively apply the resolution procedure on a
pair of clauses in G and add the resolvents to G
until - There are no more new resolvents that can be
added and return FALSE K gt s is false - The empty clause is produced (a contradiction is
found) and return TRUE Yes, K implies s
15Resolution Theorem Proving Block World Example
- Given set K (of facts)
- BAT_OK (battery is ok)
- CNF BAT_OK
- MOVES (robot arm is not moving)
- CNF MOVES
- BAT_OK LIFTABLE ? MOVES (if the battery is ok
and the object is liftable, then the robot arm
moves) - What is the disjunction of literals?
- CNF BAT_OK, LIFTABLE, MOVES
- Prove LIFTABLE (the object is too heavy, thus
not liftable by the robot arm)
16Resolution Theorem Proving Block World Example