Skip to main content

Resolution: Marcus and Caesar

Short answer

Convert statements to clauses, add negated goal ¬Hate(Marcus,Caesar). Resolution yields empty clause after deriving ¬TryAssassinate(Marcus,Caesar) from given facts, so Marcus hated Caesar.

Using resolution solve the following statements: All Pompeian are Romans. All Romans were either loyal to Caesar or hated him. Everyone is loyal to someone. People only try to assassinate rulers they are not loyal to. Marcus tried to assassinate Caesar. Marcus was Pompeian. Find, did Marcus hate Caesar?

Step 1: Statements in FOPL

Predicates: Pompeian(x), Roman(x), Loyal(x,y), Hate(x,y), Ruler(x), Person(x), TryAssassinate(x,y).

  1. ∀x Pompeian(x) → Roman(x)
  2. ∀x Roman(x) → Loyal(x, Caesar) ∨ Hate(x, Caesar)
  3. ∀x ∃y Loyal(x, y)
  4. ∀x ∀y [Person(x) ∧ Ruler(y) ∧ TryAssassinate(x, y)] → ¬Loyal(x, y)
  5. TryAssassinate(Marcus, Caesar)
  6. Pompeian(Marcus)

Added common knowledge: 7. Person(Marcus), 8. Ruler(Caesar).

Goal: Hate(Marcus, Caesar)

Step 2: Clauses

(In statement 3, ∃y is Skolemised as a function f(x).)

No.Clause
C1¬Pompeian(x) ∨ Roman(x)
C2¬Roman(x) ∨ Loyal(x, Caesar) ∨ Hate(x, Caesar)
C3Loyal(x, f(x))
C4¬Person(x) ∨ ¬Ruler(y) ∨ ¬TryAssassinate(x, y) ∨ ¬Loyal(x, y)
C5TryAssassinate(Marcus, Caesar)
C6Pompeian(Marcus)
C7Person(Marcus)
C8Ruler(Caesar)

Step 3: Negated goal

C9: ¬Hate(Marcus, Caesar)

Step 4: Resolution

StepResolveSubstitutionResolvent
1C9 and C2x/MarcusR1: ¬Roman(Marcus) ∨ Loyal(Marcus, Caesar)
2R1 and C1x/MarcusR2: ¬Pompeian(Marcus) ∨ Loyal(Marcus, Caesar)
3R2 and C6R3: Loyal(Marcus, Caesar)
4R3 and C4x/Marcus, y/CaesarR4: ¬Person(Marcus) ∨ ¬Ruler(Caesar) ∨ ¬TryAssassinate(Marcus, Caesar)
5R4 and C7R5: ¬Ruler(Caesar) ∨ ¬TryAssassinate(Marcus, Caesar)
6R5 and C8R6: ¬TryAssassinate(Marcus, Caesar)
7R6 and C5R7: empty clause (□)

The empty clause is derived, so Hate(Marcus, Caesar) follows from the statements.

Answer: Yes, Marcus hated Caesar. (Reason: as a Roman he was loyal to Caesar or hated him; since he tried to assassinate Caesar, a ruler, he could not be loyal, so he hated him. C3 "everyone is loyal to someone" is not needed.)

✓ Answer checked by Claude Opus 5.5 (high effort)

All Artificial Intelligence chapter 4 questions →