Abstract
Many verification problems can be naturally represented as satisfiability problems in some decidable fragments of first order logic. Efficient decision procedures for such problems can be obtained by combining technology for propositional satisfiability and solvers able to deal with the theory component.
We provide a unifying and abstract, theory-independent perspective on the various integration schemas and techniques. Within this framework, we survey, analyze and classify the most effective integration techniques and optimizations for the development of decision procedures. We also discuss the relative benefits and drawbacks of the various techniques, and we analyze the features for SAT solvers and theory-specific solvers which make them more suitable for an integration.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Andraus, Z.S., Sakallah, K.A.: Automatic abstraction and verification of verilog models. In: Proc. DAC 2004. ACM Press, New York (2004)
Armando, A., Castellini, C., Giunchiglia., E.: SAT-based procedures for temporal reasoning. In: Proc. European Conference on Planning, CP 1999 (1999)
Armando, A., Castellini, C., Giunchiglia, E., Maratea, M.: A SAT-Based Decision Procedure for the Boolean Combination of Difference Constraints. In: H. Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 16–29. Springer, Heidelberg (2005)
Audemard, G., Bertoli, P.G., Cimatti, A., Kornilowicz, A., Sebastiani, R.: A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, p. 195. Springer, Heidelberg (2002)
Audemard, G., Bertoli, P.G., Cimatti, A., Kornilowicz, A., Sebastiani, R.: Integrating boolean and mathematical solving: Foundations, basic algorithms, and requirements. In: Calmet, J., Benhamou, B., Caprotti, O., Hénocque, L., Sorge, V. (eds.) AISC 2002 and Calculemus 2002. LNCS (LNAI), vol. 2385, pp. 231–245. Springer, Heidelberg (2002)
Audemard, G., Bozzano, M., Cimatti, A., Sebastiani, R.: Verifying Industrial Hybrid Systems with MathSAT. In: Proc. CAV 2004 Workshop on Bounded Model Checking (BMC 2004). ENTCS, vol. 89. Elsevier, Amsterdam (2004)
Audemard, G., Cimatti, A., Korniłowicz, A., Sebastiani, R.: SAT-Based Bounded Model Checking for Timed Systems. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, Springer, Heidelberg (2002)
Bacchus, F., Winter, J.: Effective preprocessing with hyper-resolution and equality reduction. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 341–355. Springer, Heidelberg (2004)
Badros, G.J., Borning, A.: The Cassowary Linear Arithmetic Constraint Solving Algorith. ACM Transactions on Computer Human Interaction 8(4), 267–306 (2001)
Barrett, C., Dill, D., Stump, A.: Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT. In: 14th International Conference on Computer-Aided Verification (2002)
Barrett, C.W., Dill, D.L., Levitt, J.R.: A decision procedure for bit-vector arithmetic. In: Proc. DAC 1998. ACM Press, New York (1998)
Barrett, C.W., Dill, D.L., Stump, A.: A generalization of shostak’s method for combining decision procedures. In: Armando, A. (ed.) FroCos 2002. LNCS (LNAI), vol. 2309, p. 132. Springer, Heidelberg (2002)
Baumgartner, P.: FDPLL - A First Order Davis-Putnam-Longeman-Loveland Procedure. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 200–219. Springer, Heidelberg (2000)
Baumgartner, P., Tinelli, C.: The Model Evolution Calculus. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 350–364. Springer, Heidelberg (2003)
Bayardo, R.J., Schrag, R.C.: Using CSP Look-Back Techniques to Solve Real-World SAT instances. In: Proc. AAAI 1997, pp. 203–208. AAAI Press, Menlo Park (1997)
Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, Springer, Heidelberg (1999)
Bockmayr, A., Weispfenning, V.: Solving Numerical Constraints. Handbook of Automated Reasoning, pp. 751–842. MIT Press, Cambridge (2001)
Borälv, A.: A Fully Automated Approach for Proving Safety Properties in Interlocking Software Using Automatic Theorem-Proving. In: Gnesi, S., Latella, D. (eds.) Proceedings of the Second International ERCIM Workshop on Formal Methods for Industrial Critical Systems, Pisa, Italy (July 1997)
Bozzano, M., Bruttomesso, R., Cimatti, A., Franzén, A., Hanna, Z., Khasidashvili, Z., Palti, A., Sebastiani, R.: Encoding RTL Constructs for MathSAT: a Preliminary Report. In: Proc. 3rd Workshop of Pragmatics on Decision Procedure in Automated Reasoning, PDPAR 2005. ENTCS. Elsevier, Amsterdam (2006)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., Ranise, S., van Rossum, P., Sebastiani, R.: Efficient Satisfiability Modulo Theories via Delayed Theory Combination. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 335–349. Springer, Heidelberg (2005)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A., van Rossum, P., Schulz, S., Sebastiani, R.: An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 317–333. Springer, Heidelberg (2005)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: MathSAT: A Tight Integration of SAT and Mathematical Decision Procedure. Journal of Automated Reasoning (to appear, 2006)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., Sebastiani, R.: Theory Combination via Boolean Search. Information and Computation, (to appear, 2006)
Brafman, R.: A simplifier for propositional formulas with many binary clauses. In: Proc. IJCAI 2001 (2001)
Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proc. ASP-DAC 2002, pp. 741–746. IEEE, Los Alamitos (2002)
Bruttomesso, R., Cimatti, A., Franzèn, A., Griggio, A., Sebastiani, R.: Delayed Theory Combination vs. Nelson-Oppen for Satisfiability Modulo Theories: a Comparative Analysis (March 2006) (submitted for publication)
Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)
Burch, J.R., Dill, D.L.: Automatic Verification of Pipelined Microprocessor Control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, Springer, Heidelberg (1994)
Castellini, C., Giunchiglia, E., Tacchella, A.: Sat-based planning in complex domains: Concurrency, constraints and nondeterminism. Artificial Intelligence 147(1-2), 85–117 (2003)
Cherkassky, B.V., Goldberg, A.V.: Negative-cycle detection algorithms. Mathematical Programming 85(2), 277–311 (1999)
Cyrluk, D., Möller, M.O., Ruess, H.: An efficient decision procedure for the theory of fixed-sized bit-vectors. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 60–71. Springer, Heidelberg (1997)
Davis, M., Longemann, G., Loveland, D.: A machine program for theorem proving. Journal of the ACM 5(7) (1962)
Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)
de Moura, L., Rueß, H., Sorea, M.: Lazy theorem proving for bounded model checking over infinite domains. In: Voronkov, A. (ed.) CADE 2002. LNCS, vol. 2392, pp. 438–455. Springer, Heidelberg (2002)
de Moura, L., Rueß, H., Sorea, M.: Lemmas on Demand for Satisfiability Solvers. In: Fifth International Symposium on the Theory and Applications of Satisfiability Testing (SAT 2002), Cincinnati, USA, 15 May (2002)
de Moura, L., Ruess, H., Shankar, N.: Justifying Equality. In: Proc. PDPAR 2004. ENTCS, vol. 68(5). Elsevier, Amsterdam (2004)
Detlefs, D., Nelson, G., Saxe, J.: Simplify: A theorem prover for program checking, Technical Report HPL-2003-148, HP Labs, Palo Alto, CA (2003), http://www.hpl.hp.com/techreports/2003/HPL-2003-148.ps
Eén, N., Biere, A.: Effective Preprocessing in SAT Through Variable and Clause Elimination. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 61–75. Springer, Heidelberg (2005)
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)
Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 246. Springer, Heidelberg (2001)
Flanagan, C., Joshi, R., Ou, X., Saxe, J.B.: Theorem Proving Using Lazy Proof Explication. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 355–367. Springer, Heidelberg (2003)
Stålmarck, G., Säflund, M.: Modelling and Verifying Systems and Software in Propositional Logic. In: Ifac SAFECOMP 1990 (1990)
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast Decision Procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)
Giunchiglia, E., Giunchiglia, F., Sebastiani, R., Tacchella, A.: SAT vs. Translation based decision procedures for modal logics: a comparative evaluation. Journal of Applied Non-Classical Logics 10(2), 145–172 (2000)
Giunchiglia, E., Giunchiglia, F., Tacchella, A.: SAT Based Decision Procedures for Classical Modal Logics. Journal of Automated Reasoning. Special Issue: Satisfiability at the start of the year 2000 (2001)
Giunchiglia, E., Massarotto, A., Sebastiani, R.: Act, and the Rest Will Follow: Exploiting Determinism in Planning as Satisfiability. In: Proc. AAAI 1998, pp. 948–953 (1998)
Giunchiglia, E., Sebastiani, R.: Applying the Davis-Putnam Procedure to Non-clausal Formulas. In: Lamma, E., Mello, P. (eds.) AI*IA 1999. LNCS (LNAI), vol. 1792, p. 84. Springer, Heidelberg (2000)
Giunchiglia, F., Sebastiani, R.: Building decision procedures for modal logics from propositional decision procedures - the case study of modal K. In: McRobbie, M.A., Slaney, J.K. (eds.) CADE 1996. LNCS (LNAI), vol. 1104, Springer, Heidelberg (1996)
Giunchiglia, F., Sebastiani, R.: A SAT-based decision procedure for ALC. In: Proc. of the 5th International Conference on Principles of Knowledge Representation and Reasoning - KR 1996, Cambridge, MA, USA (November 1996)
Giunchiglia, F., Sebastiani, R.: Building decision procedures for modal logics from propositional decision procedures - the case study of modal K(m). Information and Computation 162(1/2) (October/November 2000)
Goldberg, E., Novikov, Y.: BerkMin: A Fast and Robust SAT-Solver. In: Proc. DATE 2002, Washington, DC, USA, p. 142. IEEE Computer Society, Los Alamitos (2002)
Gomes, C.P., Selman, B., Kautz, H.: Boosting combinatorial search through randomization. In: Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI 1998), Madison, Wisconsin, pp. 431–437 (1998)
Hoffmann, J., Brafman, R.I.: Contingent planning via heuristic forward search witn implicit belief states. In: Proceedings of the Fifteenth International Conference on Automated Planning and Scheduling (ICAPS 2005), pp. 71–80. AAAI, Menlo Park (2005)
Hooker, J.N., Vinay, V.: Branching Rules for Satisfiability. Journal of Automated Reasoning 15(3), 359–383 (1995)
Horrocks, I.: The faCT system. In: de Swart, H. (ed.) TABLEAUX 1998. LNCS (LNAI), vol. 1397, pp. 307–312. Springer, Heidelberg (1998)
Kautz, H., McAllester, D., Selman, B.: Encoding Plans in Propositional Logic. In: Proc. KR 1996 (1996)
Lahiri, S.K., Bryant, R.E.: Deductive verification of advanced out-of-order microprocessors. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 341–354. Springer, Heidelberg (2003)
Latvala, T., Biere, A., Heljanko, K., Junttila, T.A.: Simple Bounded LTL Model Checking. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 186–200. Springer, Heidelberg (2004)
Li, C.M., Anbulagan: Heuristics based on unit propagation for satisfiability problems. In: Proceedings of the 15th International Joint Conference on Artificial Intelligence (IJCAI 1997), pp. 366–371 (1997)
Mahfoudh, M., Niebert, P., Asarin, E., Maler, O.: A Satisfiability Checker for Difference Logic. In: Proceedings of SAT 2002, pp. 222–230 (2002)
McMillan, K.L.: Applying SAT Methods in Unbounded Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 250. Springer, Heidelberg (2002)
Möller, M.O., Rueß, H.: Solving bit-vector equations. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 36–48. Springer, Heidelberg (1998)
Moskewicz, M.W., Madigan, C.F., Zhang, Y.Z.L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference (2001)
Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)
Nieuwenhuis, R., Oliveras, A.: Congruence closure with integer offsets. In: Y. Vardi, M., Voronkov, A. (eds.) LPAR 2003. LNCS, vol. 2850, pp. 78–90. Springer, Heidelberg (2003)
Nieuwenhuis, R., Oliveras, A.: DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 321–334. Springer, Heidelberg (2005)
Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Abstract DPLL and Abstract DPLL Modulo Theories. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS, vol. 3452, pp. 36–50. Springer, Heidelberg (2005)
Patel-Schneider, P.F.: DLP system description. In: Proc. DL 1998, pp. 87–89 (1998)
Ranise, S., Tinelli, C.: The SMT-LIB Standard, Available at: http://combination.cs.uiowa.edu/smtlib/
Sebastiani, R.: Integrating SAT Solvers with Math Reasoners: Foundations and Basic Algorithms. ITC-IRST Technical report (November 2001)
Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A Hybrid SAT-Based Decision Procedure for Separation Logic with Uninterpreted Functions. In: Proc. DAC 2003 (2003)
Shankar, N., Rueß, H.: Combining shostak theories. Invited paper for Floc 2002/RTA 2002 (2002)
Shostak, R.: A Pratical Decision Procedure for Arithmetic with Function Symbols. Journal of the ACM 26(2), 351–360 (1979)
Silva, J.P.M., Sakallah, K.A.: GRASP - A new Search Algorithm for Satisfiability. In: Proc. ICCAD 1996 (1996)
Stephan, P., Brayton, R., Sangiovanni-Vincentelli, A.: Combinational Test Generation Using Satisfiability. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 15, 1167–1176 (1996)
Strichman, O.: Tuning SAT checkers for Bounded Model Checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 480–494. Springer, Heidelberg (2000)
Strichman, O., Seshia, S.A., Bryant, R.E.: Deciding separation formulas with SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 209. Springer, Heidelberg (2002)
Stump, A., Barrett, C.W., Dill, D.L.: CVC: A Cooperating Validity Checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 500. Springer, Heidelberg (2002)
Thiffault, C., Bacchus, F., Walsh, T.: Solving Non-clausal Formulas with DPLL Search. In: H. Hoos, H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, Springer, Heidelberg (2005)
Tinelli, C.: A DPLL-Based Calculus for Ground Satisfiability Modulo Theories. In: Flesca, S., Greco, S., Leone, N., Ianni, G. (eds.) JELIA 2002. LNCS (LNAI), vol. 2424, pp. 308–319. Springer, Heidelberg (2002)
Velev, M., Bryant, R.E.: Exploiting Positive Equality and Partial Non-Consistency in the Formal Verification of Pipelined Microprocessors. In: Design Automation Conference, pp. 397–401 (1999)
Wolfman, S., Weld, D.: The LPSAT Engine & its Application to Resource Planning. In: Proc. IJCAI (1999)
Wolfman, S., Weld, D.: Combining linear programming and satisfiability solving for resource planning. Knowledge Engineering Review (2000)
Zeng, Z., Kalla, P., Ciesielski, M.: LPSAT: a unified approach to RTL satisfiability. In: Proc. DATE 2001. IEEE Press, Los Alamitos (2001)
Zhang, L., Madigan, C.F., Moskewicz, M.H., Malik, S.: Efficient conflict driven learning in a boolean satisfiability solver. In: Proc. ICCAD 2001, pp. 279–285. IEEE Press, Los Alamitos (2001)
Zhang, L., Malik, S.: The quest for efficient boolean satisfiability solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cimatti, A., Sebastiani, R. (2006). Building Efficient Decision Procedures on Top of SAT Solvers. In: Bernardo, M., Cimatti, A. (eds) Formal Methods for Hardware Verification. SFM 2006. Lecture Notes in Computer Science, vol 3965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11757283_6
Download citation
DOI: https://doi.org/10.1007/11757283_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34304-2
Online ISBN: 978-3-540-34305-9
eBook Packages: Computer ScienceComputer Science (R0)