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.
- Alur, R. 1999. Timed automata. In Proceedings of the 11th International Conference on Computer Aided Verification (CAV'99) (Trento, Italy), N. Halbwachs and D. Peled, Eds. Lecture Notes in Computer Science, vol. 1633. Springer-Verlag, New York, 8--22.]] Google ScholarDigital Library
- Armando, A., Castellini, C., and Giunchiglia, E. 2000. SAT-based procedures for temporal reasoning. In Proceedings of the 5th European Conference on Planning (Durham, UK), S. Biundo and M. Fox, Eds. Lecture Notes in Computer Science, vol. 1809. Springer-Verlag, New York, 97--108.]] Google ScholarDigital Library
- 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.]]Google Scholar
- Audemard, G., Bertoli, P., Cimatti, A., Kornilowicz, A., and Sebastiani, R. 2002. A SAT based approach for solving formulas over Boolean and linear mathematical propositions. In Proceedings of the CADE-18. Lecture Notes in Computer Science, vol. 2392. Springer-Verlag, New York, 195--210.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 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.)]] Google ScholarDigital Library
- Barrett, C., Dill, D., and Stump, A. 2002. Checking satisfiability of first-order formulas by incremental translation into SAT. In Proceedings of the 14th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 2404. Springer-Verlag, New York.]] Google ScholarDigital Library
- Barrett, C., Dill, D. L., and Levitt, J. 1996. Validity checking for combinations of theories with equality. In Proceedings of the 1st International Conference on Formal Methods in Computer Aided Design. Lecture Notes in Computer Science, vol. 1166. Springer-Verlag, New York, 187--201.]] Google ScholarDigital Library
- Barrett, C. W. 2003. Checking validity of quantifier-free formulas in combinations of first-order theories. Ph.D. dissertation. Stanford University, Stanford, CA.]]Google Scholar
- 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.]]Google Scholar
- 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.]]Google Scholar
- 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).]]Google Scholar
- Bonet, M. L., Esteban, J. L., Galesi, N., and Johannsen, J. 2000. On the relative complexity of resolution refinements and cutting planes proof systems. SIAM J. Comput. 30, 5, 1462--1484.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- Bryant, R., German, S., and Velev, M. 2001. Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic. ACM Trans. Computational Logic 2, 1, 93--134.]] Google ScholarDigital Library
- Bryant, R., Lahiri, S., and Seshia, S. 2002. Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In Proceedings of the 14th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 2404. Springer-Verlag, New York.]] Google ScholarDigital Library
- Bryant, R. E., and Velev, M. N. 2002. Boolean satisfiability with transitivity constraints. ACM Trans. Computational Logic 3, 4, 604--627.]] Google ScholarDigital Library
- Burch, J. R., and Dill, D. L. 1994. Automatic verification of pipelined microprocessor control. In Proceedings of the 6th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 818. Springer-Verlag, New York. 68--80.]] Google ScholarDigital Library
- Davis, M., Logemann, G., and Loveland, D. 1962. A machine program for theorem-proving. Commun. ACM 5, 7, 394--397.]] Google ScholarDigital Library
- Davis, M., and Putnam, H. 1960. A computing procedure for quantification theory. J ACM 7, 201--215.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 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.]]Google Scholar
- 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).]]Google Scholar
- Downey, P. J., Sethi, R., and Tarjan, R. E. 1980. Variations on the common subexpressions problem. J. ACM 27, 4, 758--771.]] Google ScholarDigital Library
- 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.]]Google Scholar
- Filliâtre, J.-C., Owre, S., Rueß, H., and Shankar, N. 2001. ICS: Integrated canonization and solving (tool presentation). In Proceedings of the 13th International Conference on Computer Aided Verification (CAV'2001). G. Berry, H. Comon, and A. Finkel, Eds. Lecture Notes in Computer Science, vol. 2102. Springer-Verlag, New York, 246--249.]] Google ScholarDigital Library
- 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.]]Google Scholar
- 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.]]Google Scholar
- Goldberg, E., and Novikov, Y. 2002. BerkMin: A fast and robust SAT-solver. In Proceedings of the Symposium on Design, Automation, and Test in Europe (DATE '02). 142--149.]] Google ScholarDigital Library
- Hodges, W. 1993. Model Theory. Enclyclopedia of mathematics and its applications, vol. 42. Cambridge University Press, Cambridge, MA.]]Google Scholar
- Jaffar, J., and Maher, M. 1994. Constraint Logic Programming: A Survey. J. Logic Prog. 19/20, 503--581.]]Google ScholarCross Ref
- 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.]]Google Scholar
- 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.]] Google ScholarDigital Library
- Manolios, P., and Srinivasan, S. K. 2005b. Refinement maps for efficient verification of processor models. In Proceedings of the Design, Automation and Test in Europe Conference and Exposition (DATE). IEEE Computer Society, 1304--1309.]] Google ScholarDigital Library
- Marques-Silva, J., and Sakallah, K. A. 1999. GRASP: A search algorithm for propositional satisfiability. IEEE Trans. Comput. 48, 5 (May), 506--521.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., and Malik, S. 2001. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference (DAC'01).]] Google ScholarDigital Library
- 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.]]Google Scholar
- 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.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- 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.]]Google Scholar
- Pnueli, A., Rodeh, Y., Shtrichman, O., and Siegel, M. 1999. Deciding equality formulas by small domains instantiations. In Proceedings of the 11th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 1633. Springer-Verlag, New York. 455--469.]] Google ScholarDigital Library
- 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.]]Google Scholar
- Ryan, L. 2004. Efficient algorithms for clause-learning SAT solvers. M.S. dissertation, School of Computing Science, Simon Fraser University.]]Google Scholar
- Schrijver, A. 1987. Theory of Linear and Integer Programming. Wiley, New York.]] Google ScholarDigital Library
- Seshia, S., Lahiri, S., and Bryant, R. 2003. A hybrid SAT-based decision procedure for separation logic with uninterpreted functions. In Proceedings of the 40th Design Automation Conference (DAC). 425--430.]] Google ScholarDigital Library
- Seshia, S. A. 2005. Adaptive eager Boolean encoding for arithmetic reasoning in verification. Ph.D. dissertation, Carnegie-Mellon University, Pittsburgh, PA.]] Google ScholarDigital Library
- Seshia, S. A., and Bryant, R. E. 2004. Deciding quantifier-free presburger formulas using parameterized solution bounds. In Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS 2004). IEEE Computer Society Press, Los Alamitos, CA, 100--109.]] Google ScholarDigital Library
- Strichman, O. 2002. On solving presburger and linear arithmetic with SAT. In Proceedings of the Formal Methods in Computer-Aided Design, 4th International Conference (FMCAD 2002) (Portland, OR). M. Aagaard and J. W. O'Leary, Eds. Lecture Notes in Computer Science, vol. 2517. Springer-Verlag, New York, 160--170.]] Google ScholarDigital Library
- Strichman, O., Seshia, S. A., and Bryant, R. E. 2002. Deciding separation formulas with SAT. In Proceedings of the 14th International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol 2404. Springer-Verlag, New York. 209--222.]] Google ScholarDigital Library
- 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.]] Google ScholarDigital Library
- 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.]]Google ScholarCross Ref
- Tinelli, C. 2002. A DPLL-based calculus for ground satisfiability modulo theories. In Proceedings of the 8th European Conference on Logics in Artificial Intelligence. Lecture Notes in Artificial Intelligence, vol. 2424. Springer-Verlag, New York, 308--319.]] Google ScholarDigital Library
- Tinelli, C., and Ranise, S. 2005. SMT-LIB: The Satisfiability Modulo Theories Library. http://goedel.cs.uiowa.edu/smtlib/.]]Google Scholar
- Zhang, H. 1997. SATO: An efficient propositional prover. In Proceedings of the 14th International Conference on Automated Deduction. Springer-Verlag, New York, 272--275.]] Google ScholarDigital Library
- Zhang, L., Madigan, C. F., Moskewicz, M. W., and Malik, S. 2001. Efficient conflict driven learning in a Boolean satisfiability solver. In Proceedings of the International Conference on Computer-Aided Design (ICCAD'01). 279--285.]] Google ScholarDigital Library
- Zhang, L., and Malik, S. 2003. Validating SAT solvers using an independent resolution-based checker: Practical implementations and other applications. In Proceedings of the 2003 Design, Automation and Test in Europe Conference (DATE 2003). IEEE Computer Society Press, Los Alamitos, CA, 10880--10885.]] Google ScholarDigital Library
Index Terms
- Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T)
Recommendations
A modular CNF-based SAT solver
SBCCI '10: Proceedings of the 23rd symposium on Integrated circuits and system designThe state-of-the-art SAT solvers, such as Chaff [11], zChaff [18], BerkMin [5], and Minisat [2] usually share the same core techniques, for instance: the watched literals structures conflict clause recording and non-chronological backtracking. ...
Approximating Quantified SMT-Solving with SAT
SSIRI-C '11: Proceedings of the 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement - CompanionSatisfiability Modulo Theories (SMT) is an extension of SAT towards FOL. SMT solvers have proven highly scalable and efficient for problems based on some ground theorems. However, SMT problems involving quantifiers and combination of theorems is a long-...
Solving constraint satisfaction problems with SAT modulo theories
Due to significant advances in SAT technology in the last years, its use for solving constraint satisfaction problems has been gaining wide acceptance. Solvers for satisfiability modulo theories (SMT) generalize SAT solving by adding the ability to ...
Comments