HOME

TheInfoList



OR:

The Davis–Putnam algorithm was developed by Martin Davis and Hilary Putnam for checking the validity of a
first-order logic First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantifie ...
formula using a resolution-based decision procedure for
propositional logic Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
. Since the set of valid first-order formulas is
recursively enumerable In computability theory, a set ''S'' of natural numbers is called computably enumerable (c.e.), recursively enumerable (r.e.), semidecidable, partially decidable, listable, provable or Turing-recognizable if: *There is an algorithm such that the ...
but not
recursive Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematics ...
, there exists no general algorithm to solve this problem. Therefore, the Davis–Putnam algorithm only terminates on valid formulas. Today, the term "Davis–Putnam algorithm" is often used synonymously with the resolution-based propositional decision procedure (Davis–Putnam procedure) that is actually only one of the steps of the original algorithm.


Overview

The procedure is based on
Herbrand's theorem Herbrand's theorem is a fundamental result of mathematical logic obtained by Jacques Herbrand (1930). It essentially allows a certain kind of reduction of first-order logic to propositional logic. Although Herbrand originally proved his theorem for ...
, which implies that an
unsatisfiable In mathematical logic, a formula is ''satisfiable'' if it is true under some assignment of values to its variables. For example, the formula x+3=y is satisfiable because it is true when x=3 and y=6, while the formula x+1=x is not satisfiable over ...
formula has an unsatisfiable
ground instance Substitution is a fundamental concept in logic. A substitution is a syntactic transformation on formal expressions. To apply a substitution to an expression means to consistently replace its variable, or placeholder, symbols by other expressions. T ...
, and on the fact that a formula is valid if and only if its negation is unsatisfiable. Taken together, these facts imply that to prove the validity of ''φ'' it is enough to prove that a ground instance of ''¬φ'' is unsatisfiable. If ''φ'' is not valid, then the search for an unsatisfiable ground instance will not terminate. The procedure for checking validity of a formula ''φ'' roughly consists of these three parts: * put the formula ''¬φ'' in prenex form and eliminate quantifiers * generate all propositional ground instances, one by one * check if each instance is satisfiable. ** If some instance is unsatisfiable, then return that ''φ'' is valid. Else continue checking. The last part is a
SAT solver The SAT ( ) is a standardized test widely used for college admissions in the United States. Since its debut in 1926, its name and scoring have changed several times; originally called the Scholastic Aptitude Test, it was later called the Schola ...
based on resolution (as seen on the illustration), with an eager use of
unit propagation Unit propagation (UP) or Boolean Constraint propagation (BCP) or the one-literal rule (OLR) is a Algorithm, procedure of automated theorem proving that can simplify a set of (usually propositional logic, propositional) Clause (logic), clauses. Def ...
and pure literal elimination (elimination of clauses with variables that occur only positively or only negatively in the formula). Input: A set of clauses Φ. Output: A Truth Value: true if Φ can be satisfied, false otherwise. function DP-SAT(Φ) repeat // ''unit propagation:'' while Φ contains a unit clause do Φ ← ''remove-from-formula''(, Φ); for every clause ''c'' in Φ that contains ¬''l'' do Φ ← ''remove-from-formula''(''c'', Φ); Φ ← ''add-to-formula''(''c'' \ , Φ); // ''eliminate clauses not in normal form:'' for every clause ''c'' in Φ that contains both a literal ''l'' and its negation ¬''l'' do Φ ← ''remove-from-formula''(''c'', Φ); // ''pure literal elimination:'' while there is a literal ''l'' that occurs pure in Φ do for every clause ''c'' in Φ that contains ''l'' do Φ ← ''remove-from-formula''(''c'', Φ); // ''stopping conditions:'' if Φ is empty then return true; if Φ contains an empty clause then return false; // ''Davis-Putnam procedure:'' pick a literal ''l'' that occurs with both polarities in Φ for every clause ''c'' in Φ containing ''l'' and every clause ''n'' in Φ containing its negation ¬''l'' do // ''resolve c with n:'' ''r'' ← (''c'' \ ) ∪ (''n'' \ ); Φ ← ''add-to-formula''(''r'', Φ); for every clause ''c'' that contains ''l'' or ¬''l'' do Φ ← ''remove-from-formula''(''c'', Φ); At each step of the SAT solver, the intermediate formula generated is
equisatisfiable In Mathematical logic (a subtopic within the field of formal logic), two formulae are equisatisfiable if the first formula is satisfiable whenever the second is and vice versa; in other words, either both formulae are satisfiable or both are not. E ...
, but possibly not
equivalent Equivalence or Equivalent may refer to: Arts and entertainment *Album-equivalent unit, a measurement unit in the music industry * Equivalence class (music) *'' Equivalent VIII'', or ''The Bricks'', a minimalist sculpture by Carl Andre *''Equiva ...
, to the original formula. The resolution step leads to a worst-case exponential blow-up in the size of the formula. The Davis–Putnam–Logemann–Loveland algorithm is a 1962 refinement of the propositional satisfiability step of the Davis–Putnam procedure which requires only a linear amount of memory in the worst case. It eschews the resolution for ''the splitting rule'': a backtracking algorithm that chooses a literal ''l'', and then recursively checks if a simplified formula with ''l'' assigned a true value is satisfiable or if a simplified formula with ''l'' assigned false is. It still forms the basis for today's (as of 2015) most efficient complete
SAT solver The SAT ( ) is a standardized test widely used for college admissions in the United States. Since its debut in 1926, its name and scoring have changed several times; originally called the Scholastic Aptitude Test, it was later called the Schola ...
s.


See also

*
Herbrandization {{Short description, Proof of Herbrand's theorem The Herbrandization of a logical formula (named after Jacques Herbrand) is a construction that is dual to the Skolemization of a formula. Thoralf Skolem had considered the Skolemizations of formul ...


References

* * * * Boolean algebra Constraint programming Automated theorem proving {{formalmethods-stub