02 Fol 1
02 Fol 1
Adapted from:
Tuomas Sandholm
Carnegie Mellon University
Computer Science Department
• If P and Q are literals and x is a variable, then the following are sentences:
P V Q P ^ Q ~P
P => Q P <=> Q
(Ax)P (Ex)P
(Ex)(Ey)(mushroom(x) ^ purple(x)
^ mushroom(y) ^ purple(y) ^ ~(x=y)
^ (Az)((mushroom(z) ^ purple(z))=>
((x=z) v (y=z)))
(Ax)(Ay)(above(x,y) <=>
(on(x,y) v (Ez)((on(x,z) ^ above(z,y))))
...
Modus Ponens:
If p is true and if p => q is true, then q is true.
Conjunction (And-Introduction):
If p is true and if q is true, then p ^ q is true.
Simplification (And-Elimination):
If p ^ q is true, then p is true.
...
Resolution:
If ~p V q is true and if p V r is true, then q V r is true.
• Existential Instantiation
From (Ex)P(x) infer P(c) for some new constant c
– E..g., from (Ex)eats(Ziggy,x) infer eats(Ziggy,K).
– Note that the variable is replaced by a brand new constant that does not
occur in this or any other sentence in the premises or conclusions
• Existential Generalization
If P(c) is true, where c is from the domain of x, then infer
(Ex)P(x).
– E.g., from eats(Ziggy, IceCream) we can infer
(Ex)eats(Ziggy, x).
– All instances of the given constant symbol are replaced by the new variable
symbol. Note that the variable symbol cannot already exist anywhere in the
expression.
Fall 2014, CSE 814 Overview of Predicate Logic & 18
Automated Reasoning
Fall 2014, CSE 814 Overview of Predicate Logic & 19
Automated Reasoning
Natural Deduction Proof
A proof that a set of hypotheses H implies a conclusion c: