Formal Correctness Proof for DPLL Procedure
Volume 21, Issue 1 (2010), pp. 57–78
Pub. online: 1 January 2010
Type: Research Article
Received
1 April 2008
1 April 2008
Accepted
1 January 2009
1 January 2009
Published
1 January 2010
1 January 2010
Abstract
The DPLL procedure for the SAT problem is one of the fundamental algorithms in computer science, with many applications in a range of domains, including software and hardware verification. Most of the modern SAT solvers are based on this procedure, extending it with different heuristics. In this paper we present a formal proof that the DPLL procedure is correct. As far as we know, this is the first such proof. The proof was formalized within the Isabelle/Isar proof assistant system. This proof adds to the growing body of formalized mathematical knowledge and it also provides a number of lemmas relevant for proving correctness of modern SAT and SMT solvers.