Resolution is a single inference rule that, applied repeatedly, is complete for first-order logic. The trick: convert everything to CNF clauses; then resolution does the rest.
Resolution rule
From clauses and , infer the resolvent — that is, . The literal "resolves" away.
In first-order logic, unification figures out variable substitutions to make and match up. The resulting resolvent has the variables substituted accordingly.
Refutation completeness
To prove :
1. Convert to CNF. 2. Apply resolution until you derive the empty clause (a contradiction) or no new clauses can be derived. 3. If empty clause is derived, is unsatisfiable, so .
Robinson (1965) showed this is complete for first-order logic — anything entailed is provable by resolution.
Skolemization
To get FOL formulas into CNF, you need to eliminate existential quantifiers. Replace with for a fresh constant. If existentials are inside a universal, use a Skolem function: .
Skolemization preserves satisfiability (not equivalence — that's why this is fine for proofs but you can't just pretend a Skolem function "is" the existential).
Unification
To resolve with , find a substitution such that . Here . The most general unifier (MGU) is the substitution that commits to the least — exactly what you want for general theorem proving.
Strategies
Naive resolution generates astronomically many clauses. Practical theorem provers use:
- Set of support: only resolve clauses derived from the (negated) goal. Focuses the search.
- Linear resolution: each new resolvent uses the most recently derived clause.
- Unit preference: resolve with unit clauses (single literals) when possible — they always produce shorter resolvents.
- Subsumption: discard a clause if a strictly shorter clause already implies it.
Modern theorem provers
Vampire, E, Prover9 implement sophisticated variants of resolution and have proved nontrivial open problems in mathematics. But for everyday AI use, decidable subsets of FOL (Datalog, description logic, SAT/SMT) get you most of the value with predictable termination.