Skip to main content

Resolution: oversmart persons, Ram

Short answer

Convert statements to FOPL clauses, negate goal ¬Naughty(Ram). Resolve with clauses: ¬Naughty(Ram) and C2 yield ¬Oversmart(y) ∨ ¬Child(Ram,y); with C3 (y/Hari) yield ¬Oversmart(Hari); with C4 yield empty clause. Contradiction proves Ram is naughty.

All oversmart persons are stupid. Children of oversmart persons are naughty. Ram is child of Hari. Hari is oversmart. Show that Ram is naughty. Use FOPL based resolution method.

Step 1: Statements in FOPL

Predicates: Oversmart(x), Stupid(x), Child(x, y) = x is a child of y, Naughty(x).

  1. ∀x Oversmart(x) → Stupid(x)
  2. ∀x ∀y [Oversmart(y) ∧ Child(x, y)] → Naughty(x)
  3. Child(Ram, Hari)
  4. Oversmart(Hari)

Goal: Naughty(Ram)

Step 2: Clauses

No.Clause
C1¬Oversmart(x) ∨ Stupid(x)
C2¬Oversmart(y) ∨ ¬Child(x, y) ∨ Naughty(x)
C3Child(Ram, Hari)
C4Oversmart(Hari)

Step 3: Negated goal

C5: ¬Naughty(Ram)

Step 4: Resolution

StepResolveSubstitutionResolvent
1C5 and C2x/RamR1: ¬Oversmart(y) ∨ ¬Child(Ram, y)
2R1 and C3y/HariR2: ¬Oversmart(Hari)
3R2 and C4R3: empty clause (□)
¬Naughty(Ram)  +  C2 -> ¬Oversmart(y) ∨ ¬Child(Ram,y)
               +  C3 {y/Hari} -> ¬Oversmart(Hari)
               +  C4 -> □  (contradiction)

The empty clause is derived, so the negation of the goal is false. Hence Ram is naughty. (Clause C1 is not needed for this proof.)

✓ Answer checked by Claude Opus 5.5 (high effort)

All Artificial Intelligence chapter 4 questions →