wiki

Resolution

The inference rule that combines two clauses containing a complementary pair of literals into one clause without them. It is refutation complete for propositional logic: a set of clauses is unsatisfiable exactly when the empty clause can be derived. DPLL runs correspond to tree-like resolution proofs, and CDCL runs to general ones.

It is sound: an assignment satisfying both premises satisfies when is false and when it is true. It is refutation complete[1]: if a set of clauses is unsatisfiable, repeated resolution derives the empty clause . The Davis–Putnam procedure proves it[2] by eliminating one variable at a time. Replacing every clause that contains or by all resolvents on preserves satisfiability and removes ; when no variables are left, the set is either empty, and was satisfiable, or contains .

A refutation of all four clauses over x and y.

1 x | y given
2 x | ~y given
3 ~x | y given
4 ~x | ~y given
5 x resolve 1, 2 on y
6 ~x resolve 3, 4 on y
7 (empty) resolve 5, 6 on x

A refutation is a directed acyclic graph of resolution steps. In tree-like resolution each derived clause is used once, so a lemma needed twice is derived twice. A DPLL run that ends unsatisfiable is a tree-like refutation: each branch closes on a falsified clause, and returning from a decision resolves the two branches on the decision variable. CDCL keeps its learned clauses and reuses them, which is general resolution,[4] and there are formulas with short general refutations whose tree-like refutations are exponentially long.[5]

Some formulas have no short refutation of either kind. The pigeonhole formula says that pigeons fit in holes with no two sharing:

Haken proved that every resolution refutation of it has size , so every resolution-based solver, CDCL included, takes exponential time on it.[3] Proof systems with counting, such as cutting planes, refute it in polynomial size.

see also

further reading

  1. [1]J. A. Robinson, “A machine-oriented logic based on the resolution principle”, Journal of the ACM 12 (1965).
  2. [2]M. Davis, H. Putnam, “A computing procedure for quantification theory”, Journal of the ACM 7 (1960).
  3. [3]A. Haken, “The intractability of resolution”, Theoretical Computer Science 39 (1985).
  4. [4]P. Beame, H. Kautz, A. Sabharwal, “Towards understanding and harnessing the potential of clause learning”, Journal of Artificial Intelligence Research 22 (2004).
  5. [5]E. Ben-Sasson, R. Impagliazzo, A. Wigderson, “Near optimal separation of tree-like and general resolution”, Combinatorica 24 (2004).