You are on page 1of 19

Artificial Intelligence (AI)

Part - 2, Lecture – 13 & 14

Resolution in First-order logic


Lecturer: Dr. Md Akhtaruzzaman
Assistant Professor, CSE, MIST
akhter900@gmail.com

June 17, 2021, MIST, Dhaka.


 Recap

 Resolution
 Resolution inference rule
 Steps of Resolution rule
 Examples

akhter900@gmail.com 2
 Unification
 Unification Algorithm
 Examples

akhter900@gmail.com 3
 A proving technique that proceeds by building
refutation proofs (proofs by contradictions)
 If there are various statements are given, and a
conclusion is needed to be proved from those
statements, resolution can be applied.
 Unification is a key concept in proofs by
resolutions.
 Resolution is a single inference rule which can
efficiently operate on the Conjunctive Normal
Form (CNF) or clausal form.

akhter900@gmail.com 4
Also called as binary resolution rule

𝒍 𝟏 ∨ ⋯ ∨ 𝒍 𝒌 , 𝒎𝟏 ∨ ⋯ ∨ 𝒎𝒏
𝑺𝑼𝑩𝑺𝑻 𝜽, 𝒍𝟏 ∨ ⋯ ∨ 𝒍𝒊−𝟏 ∨ 𝒍𝒊+𝟏 ∨ ⋯ ∨ 𝒍𝒌 ∨ 𝒎𝟏 ∨ ⋯ ∨ 𝒎𝒋−𝟏 ∨ 𝒎𝒋+𝟏 ∨ ⋯ ∨ 𝒎𝒏

Here, 𝒍𝒊 and 𝒎𝒋 are complementary literal

akhter900@gmail.com 5
Exercise 1:
 𝑷∨𝑸
 ¬𝑸 ∨ 𝑹
 ¬𝑷 ∨ 𝑺
 ¬𝑺

 Goal to proof: 𝑹

akhter900@gmail.com 6
Exercise 1…: Solution (Resolution graph):
 𝑷∨𝑸 𝑷∨𝑸 --- ¬𝑸 ∨ 𝑹
 ¬𝑸 ∨ 𝑹
 ¬𝑷 ∨ 𝑺 𝑷∨𝑹 --- ¬𝑷 ∨ 𝑺
 ¬𝑺
𝑹∨𝑺 --- ¬𝑺
 Goal to proof: 𝑹
 Negation of 𝑹 is ¬𝑹 𝑹 --- ¬𝑹

𝚽 (𝐍𝐮𝐥𝐥)
akhter900@gmail.com 7
1. Conversion of facts into first-order logic (FoL)
2. Convert FoL statements into CNF
3. Negate the statement which needs to prove
(proof by contradiction)
4. Draw resolution graph (unification)

akhter900@gmail.com 8
 Convert FoL statements into CNF
1. Eliminate all implication (→) and rewrite
2. Move negation (¬) inwards and rewrite
3. Rename variables or standardize variables
4. Eliminate existential instantiation quantifier by
elimination
5. Drop Universal quantifiers
6. Distribute conjunction ∧ over disjunction ¬

akhter900@gmail.com 9
Example 1:
 John likes all kind of food.
 Apple and vegetable are food
 Anything anyone eats and not killed is food.
 Anil eats peanuts and still alive
 Harry eats everything that Anil eats.

 Prove by resolution: John likes peanuts.

akhter900@gmail.com 10
Given statements: Step 1: Convert Facts into FoL
1. John likes all kind of food. 1. ∀𝒙 𝒇𝒐𝒐𝒅 𝒙 → 𝒍𝒊𝒌𝒆𝒔 𝑱𝒐𝒉𝒏, 𝒙
2. Apple and vegetable are food 2. 𝒇𝒐𝒐𝒅 𝑨𝒑𝒑𝒍𝒆 ∧ 𝒇𝒐𝒐𝒅(𝒗𝒆𝒈𝒊𝒕𝒂𝒃𝒍𝒆𝒔)
3. Anything anyone eats and not 3. ∀𝒙 ∀𝒚 𝒆𝒂𝒕𝒔 𝒙, 𝒚 ∧ ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙 → 𝒇𝒐𝒐𝒅(𝒚)
killed is food.
4. Anil eats peanuts and still alive
4. 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒑𝒆𝒂𝒏𝒖𝒕𝒔 ∧ 𝒂𝒍𝒊𝒗𝒆(𝑨𝒏𝒊𝒍)
5. Harry eats everything that Anil
5. ∀𝒙 𝐞𝐚𝐭𝐬 𝐀𝐧𝐢𝐥, 𝐱 → 𝐞𝐚𝐭𝐬(𝐇𝐚𝐫𝐫𝐲, 𝐱)
eats.

Prove that: John likes peanuts. 6. ∀𝒙 ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙 → 𝒂𝒍𝒊𝒗𝒆(𝒙)


7. ∀𝒙 𝒂𝒍𝒊𝒗𝒆 𝒙 → ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙

8. Have to proof: 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)

akhter900@gmail.com 11
Step 1: Convert Facts into FoL Step 2: Convert FoL into CNF
1. ∀𝒙 𝒇𝒐𝒐𝒅 𝒙 → 𝒍𝒊𝒌𝒆𝒔 𝑱𝒐𝒉𝒏, 𝒙 1. ¬ 𝒇𝒐𝒐𝒅 𝒙 ∨ 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝒙)
2. 𝒇𝒐𝒐𝒅 𝑨𝒑𝒑𝒍𝒆 ∧ 𝒇𝒐𝒐𝒅(𝒗𝒆𝒈𝒊𝒕𝒂𝒃𝒍𝒆𝒔) 2. 𝒇𝒐𝒐𝒅(𝑨𝒑𝒑𝒍𝒆)
3. ∀𝒙 ∀𝒚 𝒆𝒂𝒕𝒔 𝒙, 𝒚 ∧ ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙 → 3. 𝒇𝒐𝒐𝒅(𝒗𝒆𝒈𝒆𝒕𝒂𝒃𝒍𝒆𝒔)
𝒇𝒐𝒐𝒅(𝒚) 4. ¬ 𝒆𝒂𝒕𝒔 𝒚, 𝒛 ∨ 𝒌𝒊𝒍𝒍𝒆𝒅 𝒚 ∨ 𝒇𝒐𝒐𝒅(𝒛)
5. 𝒆𝒂𝒕𝒔 (𝑨𝒏𝒊𝒍, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)
4. 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒑𝒆𝒂𝒏𝒖𝒕𝒔 ∧ 𝒂𝒍𝒊𝒗𝒆(𝑨𝒏𝒊𝒍) 6. 𝒂𝒍𝒊𝒗𝒆(𝑨𝒏𝒊𝒍)
5. ∀𝒙 𝐞𝐚𝐭𝐬 𝐀𝐧𝐢𝐥, 𝐱 → 𝐞𝐚𝐭𝐬(𝐇𝐚𝐫𝐫𝐲, 𝐱) 7. ¬ 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒘 ∨ 𝒆𝒂𝒕𝒔(𝑯𝒂𝒓𝒓𝒚, 𝒘)
8. 𝒌𝒊𝒍𝒍𝒆𝒅 𝒈 ∨ 𝒂𝒍𝒊𝒗𝒆(𝒈)
6. ∀𝒙 ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙 → 𝒂𝒍𝒊𝒗𝒆(𝒙) 9. ¬ 𝒂𝒍𝒊𝒗𝒆 𝒌 ∨ ¬ 𝒌𝒊𝒍𝒍𝒆𝒅(𝒌)
7. ∀𝒙 𝒂𝒍𝒊𝒗𝒆 𝒙 → ¬𝒌𝒊𝒍𝒍𝒆𝒅 𝒙 10. 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔).

8. Have to proof: 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)

akhter900@gmail.com 12
Step 2: Convert FoL into CNF Step 3: Negate the statement to be proved
1. ¬ 𝒇𝒐𝒐𝒅 𝒙 ∨ 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝒙)
2. 𝒇𝒐𝒐𝒅(𝑨𝒑𝒑𝒍𝒆)
1. ¬𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)
3. 𝒇𝒐𝒐𝒅(𝒗𝒆𝒈𝒆𝒕𝒂𝒃𝒍𝒆𝒔)
4. ¬ 𝒆𝒂𝒕𝒔 𝒚, 𝒛 ∨ 𝒌𝒊𝒍𝒍𝒆𝒅 𝒚 ∨ 𝒇𝒐𝒐𝒅(𝒛)
5. 𝒆𝒂𝒕𝒔 (𝑨𝒏𝒊𝒍, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)
6. 𝒂𝒍𝒊𝒗𝒆(𝑨𝒏𝒊𝒍)
7. ¬ 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒘 ∨ 𝒆𝒂𝒕𝒔(𝑯𝒂𝒓𝒓𝒚, 𝒘)
8. 𝒌𝒊𝒍𝒍𝒆𝒅 𝒈 ∨ 𝒂𝒍𝒊𝒗𝒆(𝒈)
9. ¬ 𝒂𝒍𝒊𝒗𝒆 𝒌 ∨ ¬ 𝒌𝒊𝒍𝒍𝒆𝒅(𝒌)
10. 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔).

akhter900@gmail.com 13
Step 2: Convert FoL into CNF Step 4: Draw Resolution graph
1. ¬𝒍𝒊𝒌𝒆𝒔 𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔
1. ¬ 𝒇𝒐𝒐𝒅 𝒙 ∨ 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝒙)
 𝜽 = 𝑷𝒆𝒂𝒏𝒖𝒕𝒔 Τ𝒙
2. 𝒇𝒐𝒐𝒅(𝑨𝒑𝒑𝒍𝒆)
2. ¬𝒇𝒐𝒐𝒅(𝑷𝒆𝒂𝒏𝒖𝒕𝒔)
3. 𝒇𝒐𝒐𝒅(𝒗𝒆𝒈𝒆𝒕𝒂𝒃𝒍𝒆𝒔)
 𝜽 = {𝑷𝒆𝒂𝒏𝒖𝒕𝒔/𝒛}
4. ¬ 𝒆𝒂𝒕𝒔 𝒚, 𝒛 ∨ 𝒌𝒊𝒍𝒍𝒆𝒅 𝒚 ∨ 𝒇𝒐𝒐𝒅(𝒛)
3. ¬ 𝒆𝒂𝒕𝒔 𝒚, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔 ∨ 𝒌𝒊𝒍𝒍𝒆𝒅 𝒚
5. 𝒆𝒂𝒕𝒔 (𝑨𝒏𝒊𝒍, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)  𝜽 = {𝑨𝒏𝒊𝒍/𝒚}
6. 𝒂𝒍𝒊𝒗𝒆(𝑨𝒏𝒊𝒍) 4. 𝒌𝒊𝒍𝒍𝒆𝒅 𝑨𝒏𝒊𝒍
7. ¬ 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒘 ∨ 𝒆𝒂𝒕𝒔(𝑯𝒂𝒓𝒓𝒚, 𝒘)  𝜽 = {𝑨𝒏𝒊𝒍/𝒈}

8. 𝒌𝒊𝒍𝒍𝒆𝒅 𝒈 ∨ 𝒂𝒍𝒊𝒗𝒆(𝒈) 5. ¬𝒂𝒍𝒊𝒗𝒆(𝒌)


 𝜽 = {𝑨𝒏𝒊𝒍/ 𝒌}
9. ¬ 𝒂𝒍𝒊𝒗𝒆 𝒌 ∨ ¬ 𝒌𝒊𝒍𝒍𝒆𝒅(𝒌)
6. 𝚽 (𝐧𝐮𝐥𝐥)
10. 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔).

Proved
Step 3: Negate the statement to be proved
1. ¬𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔)

akhter900@gmail.com 14
akhter900@gmail.com 15
FoL Conversion

akhter900@gmail.com 16
CNF Conversion

akhter900@gmail.com 17
Resolution graph

akhter900@gmail.com 18
Understand before act,
as what is seen may not be the actual
reflection of a state.

Thank You
19

You might also like