A Machine-Oriented Logic Based on the Resolution Principle
Authors: J. A. Robinson
Year: 1965 | Journal of the ACM
Source: robinson-1965-a-machine-oriented-logic-based-on
What it is
Robinson’s 1965 paper gave symbolic AI its inference engine. The resolution principle is a single inference rule that is both sound and complete for first-order logic. Combined with the unification algorithm, it makes mechanical theorem proving practical — replacing the exponentially explosive Herbrand-based methods that preceded it. Prolog, logic programming, and automated reasoning all descend directly from this paper.
The problem it solved
Automated theorem proving before 1965 used Herbrand’s theorem: to prove a sentence unsatisfiable, generate substitutions and check truth-functionally.
The process:
- Generate substitutions of terms for variables
- Check if the resulting ground clauses are truth-functionally contradictory
- If not, generate more complex substitutions and repeat
The problem: steps 1 and 2 alternate in a cycle, and the substitution space explodes combinatorially. For all but trivial theorems, it was computationally infeasible.
Robinson’s insight: substitution and truth-functional analysis can be merged into one step.
Unification
Two atoms unify if there exists a substitution that makes them identical:
P(x, f(y)) and P(a, f(b))
↓
Most General Unifier (MGU): {x=a, y=b}
The MGU is the least-committal unifier — it makes no assumptions beyond what’s needed.
Unification is computed in polynomial time. It’s the core of every logic programming language.
The Resolution Rule
To apply resolution:
- Take two clauses containing complementary literals: C₁ with literal L, and C₂ with literal ¬L’ where L and L’ unify via MGU θ
- Remove the complementary literals and merge the remaining literals (under substitution θ)
C₁ = P(x) ∨ Q(x)
C₂ = ¬P(a) ∨ R(a)
MGU: {x = a}
Resolvent: Q(a) ∨ R(a)
Each resolution step simultaneously instantiates variables AND eliminates a pair of complementary literals. This is what makes it so much more efficient than the two-stage Herbrand approach.
Completeness (refutation)
Resolution is refutation complete: if a set of clauses is unsatisfiable, applying resolution repeatedly will eventually derive the empty clause □ (a contradiction).
To prove theorem T from axioms A:
1. Assume ¬T
2. Add ¬T to A → new clause set S
3. Apply resolution repeatedly
4. If □ is derived → S is unsatisfiable → A ⊨ T
This is how all logic programming and automated theorem proving works.
Why it matters for symbolic AI
McCarthy’s Advice Taker (1958) needed a reasoning engine — a way to automatically derive consequences from a knowledge base. Resolution is that engine.
Knowledge base:
(1) human(Socrates)
(2) human(x) → mortal(x) ≡ ¬human(x) ∨ mortal(x)
Goal: prove mortal(Socrates)
→ Assume ¬mortal(Socrates)
→ Resolve (2) with ¬mortal(Socrates): ¬human(Socrates)
→ Resolve with (1): □ (contradiction)
→ Therefore: mortal(Socrates) ✓
This mechanical procedure works for arbitrarily complex knowledge bases. Resolution is the difference between “we could represent knowledge in logic” and “we can actually reason with it.”
Direct descendants
| System | Year | Connection |
|---|---|---|
| PLANNER | 1969 | Procedural embedding of resolution |
| Prolog | 1972 | SL-resolution + depth-first search |
| Otter | 1984 | High-performance resolution theorem prover |
| Vampire | 1993 | Industrial-strength automated reasoning |
| Modern SAT solvers | — | Propositional resolution with clause learning |
Prolog in particular shows the reach: resolution + unification + depth-first search = a complete programming language based on logic. Every Prolog clause is a Horn clause; every Prolog query is a resolution refutation.
Limits
Resolution is complete but not decidable for first-order logic: for satisfiable clause sets, resolution may run forever without deriving □. The search problem — which resolvents to compute in what order — remains hard. Robinson acknowledged this and proposed “search principles” to guide the process; finding better strategies drove theorem-proving research for decades.
See also
- mccarthy-1958-programs-with-common-sense — The system that needed this inference engine
- newell-1976-computer-science-as-empirical-inquiry — Physical symbol systems: the theoretical context
- turing-1936-on-computable-numbers-with-an — Computability: the theoretical limits within which resolution operates