Resolution
Named by 3 essays across one field — each of them below, with the objects they name alongside it.
A proof with one rule
Two clauses that disagree about exactly one variable can be combined into a third that forgets it; repeat, and if the clauses cannot all be true the empty clause eventually appears — a complete proof system with a single move.
Two literals make an arrow
A clause of two literals, p ∨ q, says that if p is false then q is true, and if q is false then p is true — two arrows. A set of such clauses is a directed graph on the literals, and it is unsatisfiable exactly when some variable and its negation reach each other. Each of those two paths is a chain of resolution steps, and finding them takes time proportional to the size of the input.
A failed search is a proof
Search for an assignment by branching on variables and backing up whenever a clause turns false. If every branch fails, the tree the search leaves behind is itself a resolution refutation: write at each branch point the resolvent of the clauses below it, and the top of the tree is the empty clause. So every limit on short refutations is a limit on every such search — and the pigeonhole clauses, whose refutations are long, defeat them all.
Named alongside it
The objects these essays reach for when they reach for this one.
RefutationSatisfiabilityLiteralNormal formProof systemCompletenessComplexityExhaustive searchGraphPigeonhole principleSoundnessThreshold