Professional Documents
Culture Documents
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
𝒍 𝟏 ∨ ⋯ ∨ 𝒍 𝒌 , 𝒎𝟏 ∨ ⋯ ∨ 𝒎𝒏
𝑺𝑼𝑩𝑺𝑻 𝜽, 𝒍𝟏 ∨ ⋯ ∨ 𝒍𝒊−𝟏 ∨ 𝒍𝒊+𝟏 ∨ ⋯ ∨ 𝒍𝒌 ∨ 𝒎𝟏 ∨ ⋯ ∨ 𝒎𝒋−𝟏 ∨ 𝒎𝒋+𝟏 ∨ ⋯ ∨ 𝒎𝒏
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.
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.
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. 𝒍𝒊𝒌𝒆𝒔(𝑱𝒐𝒉𝒏, 𝑷𝒆𝒂𝒏𝒖𝒕𝒔).
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. ¬ 𝒆𝒂𝒕𝒔 𝑨𝒏𝒊𝒍, 𝒘 ∨ 𝒆𝒂𝒕𝒔(𝑯𝒂𝒓𝒓𝒚, 𝒘) 𝜽 = {𝑨𝒏𝒊𝒍/𝒈}
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