CS.462
Artificial Intelligence
SOMCHAI THANGSATHITYANGKUL
Lecture 06 : First Order Logic Resolution Prove
Proving Theorem in FOL
• Proving theorem in FOL raises two
additional problems:
– Need to remove quantifiers
– Need to be able to compare variable (which
represent unknown values)
2
Substitution and Unification
• A substitution is a set of variable/ term pairs that
one can apply to sentences to perform some needed
unification or other manipulation
SUBST(, ) denoted the result of applying substitution
to sentence
e.g., SUBST({x/A, y/ f(x)}, P (x,y)) = P(A, f(A))
• Unification is the process of taking 2 atomic
statements and finding a substitution that make
them equivalent
UNIFY(p,q) = where SUBST(, p) = SUBST(, q)
e.g. UNIFY(P(x), P(A) = { x/A }
3
Unification Example
Knows(John, x) Hates(John, x)
Knows(John, Jane)
Knows(y, Leonid)
Knows(y, Mother(y))
Knows(x, Elizabeth)
UNIFY(Knows(John,
UNIFY(Knows(John,
y/Leonid}
UNIFY(Knows(John,
x/Mother(John)}
UNIFY(Knows(John,
x), Knows(John, Jane)) = {x/John}
x), Knows(y, Leonid)) = {x/John,
x), Knows(y, Mother(y))) = {y/John,
x), Knows(x, Elizabeth) = fail
4
Unification Example
• Before beginning unification, all variable names must
be unique
UNIFY(Knows(John, x1), Knows(x2, Elizabeth) = {x1/Elizabeth,
x2/John}
• Unification makes as few commitments about
variable bindings as possible
UNIFY(Knows(John, x), Knows(y, z) = {y/John, x/z}
Or {y/John, x/z, w/Freda}
Or {y/John, x/John, z/John}
Or …
{y/John, x/z} is the most general unifier (MGU)
5
First Order Resolution
6
Convert to Clausal Form
7
Convert to Clausal Form
8
Convert to Clausal Form
9
Example : Convert to Clausal Form
10
Resolution Using Unification
Given: P(A) (x) (P(x) Q(f(x))), prove: (z) (Q(z))
•
Negate the theorem: (z) (Q(z))
•
Drop universal quantifiers and separate into disjunctive clauses.
1. P(A)
2. (P(x) Q(f(x)))
3. Q(z)
•
Clause 1 and 2 are resolved by substituting A for x {x/A}.
Resulting clause is Q(f(A)), which is added to original set.
•
Q(f(A)) is resolved against clause 3, using {z/f(A)}. Result is
Q(f(A)) and Q(f(A))
•
Contradiction proves original theorem.
11
Resolution Proof
• Question (informal): Is Marcus alive in the year 2001?
• Axioms (informal)
1. Marcus was a man.
2. Marcus was a Pompeian.
3. Marcus was born in 40 A.D.
4. All man are mortal.
5. The volcano erupted in 79 A.D.
6. All Pompeians died when the volcano erupted.
7. No mortal lives longer than 150 years.
• Additional axioms are required.
8. Alive means not dead
9. If someone dies, they remain dead.
12
Resolution Proof
Axioms in clause form
1.
2.
3.
4.
Man(Marcus)
Pompeian(Marcus)
Born(Marcus, 40)
Man(x1) Mortal(x1)
from... x Man(x) Mortal(x)
5.
6.
Erupted(Volcano, 79)
Pomepeian(x2) Died(x2, 79)
from... x Pompeian(x) Died(x, 79)
7.
Mortal(x3) Born(x3, t1) Gt(t2-t1, 150)
Dead(x3, t2)
from... x,t1,t2 (Mortal(x)Born(x,t)Gt(t2-t1, 150)
Dead(x, t2))
13
Resolution Proof
8a. Alive(x4, t3) Dead(x4, t3)
8b. Dead(x4, t3) Alive(x4, t3)
from... x,t Alive(x, t) Dead(x, t)
9.
Died(x6, t5) Gt(t6,t5) Dead(x6,t6)
from... x,t1,t2 Died(x, t1) Gt(t2,t1) Dead(x,
t2)
Prove:
alive(Marcus, 2001)
Negate clause to be proved and add to list:
alive(Marcus, 2001)
14
Alive(x4, t3)Dead(x4, t3)
Alive(Marcus, 2001)
Mortal(x3) Born(x3, t1)
Gt(t2-t1, 150) Dead(x3, t2)
{x4/Marcus, t3/2001}
Dead(x4, 2001)
{x3/Marcus, t2/2001}
Mortal(Marcus) Born(Marcus, t1)
Gt(2001-t1, 150)
Man(x1) Mortal(x1)
{x1/Marcus}
Man(Marcus) Born(Marcus, t1)
Gt(2001-t1, 150)
Man(Marcus)
Born(Marcus, t1)
Gt(2001-t1, 150)
Born(Marcus, 40)
{t1/40}
Gt(2001-40, 150)
Gt(1961, 150)
15
Try this
• Use Resolution prove that West is a
criminal
16
© Copyright 2026 Paperzz