The '''[[Martin Davis|Davis]]-[[Hilary Putnam|Putnam]] algorithm''' is an algorithm developed by [[Martin Davis]] and [[Hilary Putnam]] for checking the [[Boolean satisfiability problem|satisfiability]] of [[propositional logic]] formulae in [[conjunctive normal form]], ''i.e.'', sets of [[clause]]s. It is a form of [[resolution (logic)|resolution]] in which variables are iteratively chosen and removed by resolving every clause in which the variable is contained positively with any clause in which the variable is negated.
The algorithm works as follows:
Line 9:
The name ''Davis-Putnam algorithm'' or ''DP algorithm'' is sometimes incorrectly used to refer to the related but distinct [[DPLL algorithm]].