Resolution in First-Order Logic (FOL): Resolution Refutation from a Simple Knowledge Base

Resolution in First-Order Logic (FOL): Resolution Refutation from a Simple Knowledge Base

Verified Sources
Sep 11, 2026

Resolution is a rule of inference used in automated theorem proving for keywordfirst-order logic resolution[/keyword] by deriving contradictions in keywordresolution refutation[/keyword]. For first-order logic, resolution relies on keywordunification[/keyword] and the transformation of formulas into keywordclausal (CNF) form[/keyword]. The high-level refutation strategy is: negate the goal, add it to the knowledge base, convert everything to clausal form, and repeatedly resolve until the keywordempty clause[/keyword] is derived (or saturation occurs).3

Mini-knowledge base and goal

Knowledge base (KB):

  1. “All humans are mortal.”
    [ \forall x;(\text{Human}(x)\rightarrow \text{Mortal}(x)) ]
  2. “Socrates is a human.”
    [ \text{Human}(\text{Socrates}) ]

Query/goal:

  • “Therefore, Socrates is mortal.”
    [ \text{Mortal}(\text{Socrates}) ]

We will derive the conclusion using resolution refutation.2

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction. 2

  2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause. 2

  3. Logic and Automatic Theorem Proving (Skolemization & CNF steps) - TAMU slides (logicp) - Describes converting to standard form: CNF and Skolemization to eliminate existential quantifiers.

Resolution Refutation (FOL)

Resolution refutation for: Human(Socrates) ⇒ Mortal(Socrates)

  1. 1
    Step 1

    Negate the goal and add it to the KB: assume  egMortal(Socrates)\ eg\text{Mortal}(\text{Socrates}). This is the standard refutation technique: show the KB plus the negated goal is unsatisfiable, which implies the original goal is entailed.

    Footnotes

    1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  2. 2
    Step 2

    For x(Human(x)Mortal(x))\forall x(\text{Human}(x)\to\text{Mortal}(x)), rewrite implication:  egHuman(x)Mortal(x)\ eg\text{Human}(x)\lor\text{Mortal}(x). Then drop universal quantifiers when forming clauses (variables are implicitly universally quantified in clausal form). For the fact Human(Socrates)\text{Human}(\text{Socrates}), it is already a ground atomic clause.

  3. 3
    Step 3

    The negated goal  egMortal(Socrates)\ eg\text{Mortal}(\text{Socrates}) is a unit clause.

  4. 4
    Step 4

    We obtain the set of clauses: (1)(1)  egHuman(x)Mortal(x)\ eg\text{Human}(x)\lor\text{Mortal}(x), (2)(2) Human(Socrates)\text{Human}(\text{Socrates}), (3)(3)  egMortal(Socrates)\ eg\text{Mortal}(\text{Socrates}).

  5. 5
    Step 5

    Resolve clause (1) with clause (3). The complementary literals are Mortal(x)\text{Mortal}(x) and  egMortal(Socrates)\ eg\text{Mortal}(\text{Socrates}). Unify xx with Socrates\text{Socrates}, giving substitution θ={x/Socrates}\theta=\{x/\text{Socrates}\}. The resolvent removes the complementary pair, yielding clause (4)(4)  egHuman(Socrates)\ eg\text{Human}(\text{Socrates}).

  6. 6
    Step 6

    Now resolve clause (4) with clause (2). The complementary literals are  egHuman(Socrates)\ eg\text{Human}(\text{Socrates}) and Human(Socrates)\text{Human}(\text{Socrates}). Resolving them yields the empty clause \Box (contradiction). Therefore, the original negated goal cannot coexist with the KB, so the KB entails Mortal(Socrates)\text{Mortal}(\text{Socrates}).2

    Footnotes

    1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

    2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

Clausal form and the key resolution rule (first-order version)

Clausal representation

In resolution theorem proving for first-order logic, we work with a set of clauses: a keywordliteral[/keyword] is either an atomic formula P(t1,,tk)P(t_1,\dots,t_k) or its negation. A clause is a disjunction of literals, and the entire formula is treated as a conjunction of clauses.2

Binary resolution with unification (the practical rule)

The first-order “binary” resolution step looks like:

  • Clause C1C_1: ALA \lor L
  • Clause C2C_2: B¬LB \lor \neg L

If the complementary literals LL and ¬L\neg L are made identical by some keywordMGU[/keyword] θ\theta, then the keywordresolvent[/keyword] is:

  • [ (,A \lor B,)\theta ]

This matches the general explanation of first-order resolution: choose unifiable complementary literals, compute a unifier (often the most general one), and then resolve away the complementary pair.2

Footnotes

  1. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

  2. Logic and Automatic Theorem Proving (Skolemization & CNF steps) - TAMU slides (logicp) - Describes converting to standard form: CNF and Skolemization to eliminate existential quantifiers.

  3. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  4. MIT OCW PDF: Resolution Theorem Proving: First Order Logic (resolution with variables, unification, rule form) - Defines first-order resolution with unification/MGU and shows how clauses resolve to new clauses.

Worked derivation (fully explicit)

Step 1: Clauses from the KB

KB statement (1): [ \forall x(\text{Human}(x)\rightarrow \text{Mortal}(x)) \equiv \forall x(\neg \text{Human}(x)\lor \text{Mortal}(x)) ] This yields clause:

  • (1)(1) ¬Human(x)Mortal(x) \neg\text{Human}(x)\lor \text{Mortal}(x)

KB statement (2):

  • (2)(2) Human(Socrates)\text{Human}(\text{Socrates})

Negated goal:

  • goal is Mortal(Socrates)\text{Mortal}(\text{Socrates})
  • add negation: ¬Mortal(Socrates)\neg \text{Mortal}(\text{Socrates})
  • (3)(3) ¬Mortal(Socrates)\neg \text{Mortal}(\text{Socrates})

This clause-set approach is the standard refutation workflow.2

Step 2: First resolution (derive ¬Human(Socrates)\neg\text{Human}(\text{Socrates}))

Resolve (1) with (3) on the complementary pair:

  • from (1): Mortal(x)\text{Mortal}(x)
  • from (3): ¬Mortal(Socrates)\neg \text{Mortal}(\text{Socrates})

Unification: [ \theta={x/\text{Socrates}} ] Resolvent removes Mortal(x)\text{Mortal}(x) and ¬Mortal(Socrates)\neg \text{Mortal}(\text{Socrates}), leaving:

  • (4)(4) ¬Human(Socrates)\neg\text{Human}(\text{Socrates})

Step 3: Second resolution (derive empty clause)

Resolve (4) with (2) on:

  • (4): ¬Human(Socrates)\neg\text{Human}(\text{Socrates})
  • (2): Human(Socrates)\text{Human}(\text{Socrates})

They are complementary, so the resolvent is the empty clause:

  • (5)(5) \Box

By the refutation method, deriving \Box proves that the KB plus ¬\neggoal is inconsistent, hence the KB entails the goal.2

Footnotes

  1. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause. 2

  2. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction. 2

Pro Tip: Always negate the goal first

Resolution refutation typically works by proving that KB ∧ ¬(goal) is unsatisfiable. If the empty clause is derived, the goal is entailed.2

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

Warning: Resolution in FOL requires unification and clausification

Unlike propositional resolution, first-order resolution must unify variables so that complementary literals match. Also, you must convert to clausal form (clauses are disjunctions of literals) before applying the rule effectively.3

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

  3. MIT OCW PDF: Resolution Theorem Proving: First Order Logic (resolution with variables, unification, rule form) - Defines first-order resolution with unification/MGU and shows how clauses resolve to new clauses.

Resolution Refutation Pipeline for FOL Entailment

Add ¬(goal) to the KB

1) Negate the query

Transform entailment KB ⊨ goal into unsatisfiability of KB ∪ {¬goal}."

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

Clauses for resolution

2) Convert to clausal form

Rewrite into CNF/clause form; in general handle quantifiers using Skolemization and prenex/NF transformations.2"

Footnotes

  1. Logic and Automatic Theorem Proving (Skolemization & CNF steps) - TAMU slides (logicp) - Describes converting to standard form: CNF and Skolemization to eliminate existential quantifiers.

  2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

Generate resolvents

3) Resolve with unification

Pick clause pairs with complementary unifiable literals; compute the unifier; remove the resolved pair.2"

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  2. MIT OCW PDF: Resolution Theorem Proving: First Order Logic (resolution with variables, unification, rule form) - Defines first-order resolution with unification/MGU and shows how clauses resolve to new clauses.

Empty clause or saturation

4) Stop condition

If □ is derived, contradiction proves the original goal is entailed.2"

Footnotes

  1. Resolution (logic) - Wikipedia - Overview of resolution, first-order generalization, and refutation/entailment via deriving contradiction.

  2. Artificial Intelligence - Resolution in First Order Logic (FOL) - Step workflow for resolution: convert to clausal form, negate goal, resolve until empty clause.

Where each transformation is used

Mapping the refutation workflow to the example KB

Common points and edge cases

Resolution Refutation (FOL) Quick Checks

1 / 4
Question · Term

What does resolution refutation try to prove?

Click to reveal
Answer · Definition

That KB ∪ {¬goal} is unsatisfiable by deriving the empty clause \Box.

Knowledge Check

Question 1 of 4
Q1Single choice

In resolution refutation for FOL entailment KB ⊨ G, what do we add to the KB?