ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T)
Full text PdfPdf (334 KB)
Source
Journal of the ACM (JACM) archive
Volume 53 ,  Issue 6  (November 2006) table of contents
Pages: 937 - 977  
Year of Publication: 2006
ISSN:0004-5411
Authors
Robert Nieuwenhuis  Technical University of Catalonia, Barcelona, Spain
Albert Oliveras  Technical University of Catalonia, Barcelona, Spain
Cesare Tinelli  The University of Iowa, Iowa City, Iowa
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 25,   Downloads (12 Months): 226,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1217856.1217859
What is a DOI?

ABSTRACT

We first introduce Abstract DPLL, a rule-based formulation of the Davis--Putnam--Logemann--Loveland (DPLL) procedure for propositional satisfiability. This abstract framework allows one to cleanly express practical DPLL algorithms and to formally reason about them in a simple way. Its properties, such as soundness, completeness or termination, immediately carry over to the modern DPLL implementations with features such as backjumping or clause learning.We then extend the framework to Satisfiability Modulo background Theories (SMT) and use it to model several variants of the so-called lazy approach for SMT. In particular, we use it to introduce a few variants of a new, efficient and modular approach for SMT based on a general DPLL(X) engine, whose parameter X can be instantiated with a specialized solver SolverT for a given theory T, thus producing a DPLL(T) system. We describe the high-level design of DPLL(X) and its cooperation with SolverT, discuss the role of theory propagation, and describe different DPLL(T) strategies for some theories arising in industrial applications.Our extensive experimental evidence, summarized in this article, shows that DPLL(T) systems can significantly outperform the other state-of-the-art tools, frequently even in orders of magnitude, and have better scaling properties.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
Armando, A., Castellini, C., Giunchiglia, E., and Maratea, M. 2004. A SAT-based decision procedure for the Boolean combination of difference constraints. In Proceedings of the 7th International Conference on Theory and Applications of Satisfiability Testing (SAT 2004). Lecture Notes in Computer Science. Springer-Verlag, New York.
 
4
 
5
Ball, T., Cook, B., Lahiri, S. K., and Zhang, L. 2004. Zapato: Automatic theorem proving for predicate abstraction refinement. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV'04) (Boston, MA). R. Alur and D. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, New York. 457--461.
 
6
Barrett, C., de Moura, L., and Stump, A. 2005. SMT-COMP: Satisfiability modulo theories competition. In Proceedings of the 17th International Conference on Computer Aided Verification, K. Etessami and S. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer-Verlag, New York, 20--23. (See www.csl.sri.com/users/demoura/smt-comp.)
 
7
 
8
 
9
Barrett, C. W. 2003. Checking validity of quantifier-free formulas in combinations of first-order theories. Ph.D. dissertation. Stanford University, Stanford, CA.
 
10
Barrett, C. W., and Berezin, S. 2004. CVC lite: A new implementation of the cooperating validity checker. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV'04) (Boston, MA). R. Alur and D. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, New York, 515--518.
 
11
Bayardo, R. J. J., and Schrag, R. C. 1997. Using CSP look-back techniques to solve real-world SAT instances. In Proceedings of the 14th National Conference on Artificial Intelligence (AAAI'97) (Providence, RI), 203--208.
 
12
Beame, P., Kautz, H., and Sabharwal, A. 2003. On the power of clause learning. In Proceedings of IJCAI-03, 18th International Joint Conference on Artificial Intelligence (Acapulco, MX).
 
13
 
14
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T. V. Rossum, P., Schulz, S., and Sebastiani, R. 2005. An incremental and layered procedure for the satisfiability of linear arithmetic logic. In Tools and Algorithms for the Construction and Analysis of Systems, 11th International Conference (TACAS). Lecture Notes in Computer Science, vol. 3440. Springer-Verlag, New York, 317--333.
15
 
16
17
 
18
19
20
 
21
de Moura, L., and Rueß, H. 2002. Lemmas on demand for satisfiability solvers. In Proceedings of the 5th International Symposium on the Theory and Applications of Satisfiability Testing (SAT'02). 244--251.
 
22
de Moura, L., and Ruess, H. 2004. An experimental evaluation of ground decision procedures. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV'04) (Boston, MA). R. Alur and D. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, New York, 162--174.
 
23
de Moura, L., Rueß, H., and Shankar, N. 2004. Justifying equality. In Proceedings of the 2nd Workshop on Pragmatics of Decision Procedures in Automated Reasoning (Cork, Ireland).
24
 
25
Eén, N., and Sörensson, N. 2003. An extensible SAT-solver. In Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT). 502--518.
 
26
 
27
Flanagan, C., Joshi, R., Ou, X., and Saxe, J. B. 2003. Theorem proving using lazy proof explanation. In Proceedings of the 15th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 2725. Springer-Verlag, New York.
 
28
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., and Tinelli, C. 2004. DPLL(T): Fast Decision Procedures. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV'04) (Boston, MA). R. Alur and D. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, New York, 175--188.
 
29
 
30
Hodges, W. 1993. Model Theory. Enclyclopedia of mathematics and its applications, vol. 42. Cambridge University Press, Cambridge, MA.
 
31
Jaffar, J., and Maher, M. 1994. Constraint Logic Programming: A Survey. J. Logic Prog. 19/20, 503--581.
 
32
Lahiri, S. K., and Seshia, S. A. 2004. The UCLID Decision Procedure. In Computer Aided Verification, 16th International Conference (CAV). Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, New York, 475--478.
 
33
Manolios, P., and Srinivasan, S. K. 2005a. A computationally efficient method based on commitment refinement maps for verifying pipelined machines. In Proceedings of the ACM IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE). ACM, New York.
 
34
 
35
 
36
Meir, O., and Strichman, O. 2005. Yet another decision procedure for equality logic. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV'05) (Edimburgh, Scotland). K. Etessami and S. K. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer-Verlag, New York, 307--320.
37
 
38
Nieuwenhuis, R., and Oliveras, A. 2003. Congruence Closure with Integer Offsets. In Proceedings of the 10h International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), M. Vardi and A. Voronkov, Eds. Lecture Notes in Artificial Intellegence, vol. 2850. Springer-Verlag, New York, 2850. 78--90.
 
39
Nieuwenhuis, R., and Oliveras, A. 2005a. DPLL(T) with exhaustive theory propagation and its application to difference logic. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV'05) (Edimburgh, Scotland). K. Etessami and S. K. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer-Verlag, New York, 321--334.
 
40
Nieuwenhuis, R., and Oliveras, A. 2005b. Proof-producing congruence closure. In Proceedings of the 16th International Conference on Term Rewriting and Applications (RTA'05) (Nara, Japan). J. Giesl, Ed. Lecture Notes in Computer Science, vol. 3467. Springer-Verlag, New York, 453--468.
 
41
Nieuwenhuis, R., Oliveras, A., and Tinelli, C. 2005. Abstract DPLL and abstract DPLL modulo theories. In Proceedings of the 11th International Conference Logic for Programming, Artificial Intelligence and Reasoning (LPAR). F. Baader and A. Voronkov, Eds. Lecture Notes in Computer Science, vol. 3452. Springer-Verlag, New York, 36--50.
 
42
 
43
Ranise, S., and Tinelli, C. 2003. The SMT-LIB format: An initial proposal. In Proceedings of the 1st Workshop on Pragmatics of Decision Procedures in Automated Reasoning. Miami.
 
44
Ryan, L. 2004. Efficient algorithms for clause-learning SAT solvers. M.S. dissertation, School of Computing Science, Simon Fraser University.
 
45
46
 
47
 
48
 
49
 
50
 
51
Stump, A., and Tan, L.-Y. 2005. The algebra of equality proofs. In Proceedings of the 16th International Conference on Term Rewriting and Applications, RTA'05 (Nara, Japan). J. Giesl, Ed. Lecture Notes in Computer Science, vol. 3467. Springer-Verlag, New York, 469--483.
 
52
Talupur, M., Sinha, N., Strichman, O., and Pnueli, A. 2004. Range allocation for separation logic. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV 2004). (Boston, MA July 13--17). Lecture Notes in Computer Science, Springer-Verlag, New York, 148--161.
 
53
 
54
Tinelli, C., and Ranise, S. 2005. SMT-LIB: The Satisfiability Modulo Theories Library. http://goedel.cs.uiowa.edu/smtlib/.
 
55
 
56
 
57

CITED BY  16

Collaborative Colleagues:
Robert Nieuwenhuis: colleagues
Albert Oliveras: colleagues
Cesare Tinelli: colleagues