Skip to main content

Building Efficient Decision Procedures on Top of SAT Solvers

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3965))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andraus, Z.S., Sakallah, K.A.: Automatic abstraction and verification of verilog models. In: Proc. DAC 2004. ACM Press, New York (2004)

    Google Scholar 

  2. Armando, A., Castellini, C., Giunchiglia., E.: SAT-based procedures for temporal reasoning. In: Proc. European Conference on Planning, CP 1999 (1999)

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Badros, G.J., Borning, A.: The Cassowary Linear Arithmetic Constraint Solving Algorith. ACM Transactions on Computer Human Interaction 8(4), 267–306 (2001)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Baumgartner, P., Tinelli, C.: The Model Evolution Calculus. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 350–364. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Bockmayr, A., Weispfenning, V.: Solving Numerical Constraints. Handbook of Automated Reasoning, pp. 751–842. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Brafman, R.: A simplifier for propositional formulas with many binary clauses. In: Proc. IJCAI 2001 (2001)

    Google Scholar 

  25. Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proc. ASP-DAC 2002, pp. 741–746. IEEE, Los Alamitos (2002)

    Google Scholar 

  26. 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)

    Google Scholar 

  27. Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  28. 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)

    Chapter  Google Scholar 

  29. Castellini, C., Giunchiglia, E., Tacchella, A.: Sat-based planning in complex domains: Concurrency, constraints and nondeterminism. Artificial Intelligence 147(1-2), 85–117 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  30. Cherkassky, B.V., Goldberg, A.V.: Negative-cycle detection algorithms. Mathematical Programming 85(2), 277–311 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  31. 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)

    Chapter  Google Scholar 

  32. Davis, M., Longemann, G., Loveland, D.: A machine program for theorem proving. Journal of the ACM 5(7) (1962)

    Google Scholar 

  33. Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  34. 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)

    Chapter  Google Scholar 

  35. 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)

    Google Scholar 

  36. de Moura, L., Ruess, H., Shankar, N.: Justifying Equality. In: Proc. PDPAR 2004. ENTCS, vol. 68(5). Elsevier, Amsterdam (2004)

    Google Scholar 

  37. 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

  38. 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)

    Chapter  Google Scholar 

  39. 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)

    Chapter  Google Scholar 

  40. 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)

    Chapter  Google Scholar 

  41. 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)

    Chapter  Google Scholar 

  42. Stålmarck, G., Säflund, M.: Modelling and Verifying Systems and Software in Propositional Logic. In: Ifac SAFECOMP 1990 (1990)

    Google Scholar 

  43. 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)

    Chapter  Google Scholar 

  44. 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)

    Article  MathSciNet  MATH  Google Scholar 

  45. 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)

    Google Scholar 

  46. 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)

    Google Scholar 

  47. 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)

    Chapter  Google Scholar 

  48. 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)

    Google Scholar 

  49. 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)

    Google Scholar 

  50. 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)

    Google Scholar 

  51. 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)

    Google Scholar 

  52. 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)

    Google Scholar 

  53. 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)

    Google Scholar 

  54. Hooker, J.N., Vinay, V.: Branching Rules for Satisfiability. Journal of Automated Reasoning 15(3), 359–383 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  55. Horrocks, I.: The faCT system. In: de Swart, H. (ed.) TABLEAUX 1998. LNCS (LNAI), vol. 1397, pp. 307–312. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  56. Kautz, H., McAllester, D., Selman, B.: Encoding Plans in Propositional Logic. In: Proc. KR 1996 (1996)

    Google Scholar 

  57. 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)

    Chapter  Google Scholar 

  58. 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)

    Chapter  Google Scholar 

  59. 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)

    Google Scholar 

  60. Mahfoudh, M., Niebert, P., Asarin, E., Maler, O.: A Satisfiability Checker for Difference Logic. In: Proceedings of SAT 2002, pp. 222–230 (2002)

    Google Scholar 

  61. 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)

    Chapter  Google Scholar 

  62. 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)

    Chapter  Google Scholar 

  63. Moskewicz, M.W., Madigan, C.F., Zhang, Y.Z.L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference (2001)

    Google Scholar 

  64. Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  65. 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)

    Chapter  Google Scholar 

  66. 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)

    Chapter  Google Scholar 

  67. 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)

    Chapter  Google Scholar 

  68. Patel-Schneider, P.F.: DLP system description. In: Proc. DL 1998, pp. 87–89 (1998)

    Google Scholar 

  69. Ranise, S., Tinelli, C.: The SMT-LIB Standard, Available at: http://combination.cs.uiowa.edu/smtlib/

  70. Sebastiani, R.: Integrating SAT Solvers with Math Reasoners: Foundations and Basic Algorithms. ITC-IRST Technical report (November 2001)

    Google Scholar 

  71. 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)

    Google Scholar 

  72. Shankar, N., Rueß, H.: Combining shostak theories. Invited paper for Floc 2002/RTA 2002 (2002)

    Google Scholar 

  73. Shostak, R.: A Pratical Decision Procedure for Arithmetic with Function Symbols. Journal of the ACM 26(2), 351–360 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  74. Silva, J.P.M., Sakallah, K.A.: GRASP - A new Search Algorithm for Satisfiability. In: Proc. ICCAD 1996 (1996)

    Google Scholar 

  75. 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)

    Article  Google Scholar 

  76. 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)

    Chapter  Google Scholar 

  77. 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)

    Chapter  Google Scholar 

  78. 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)

    Chapter  Google Scholar 

  79. 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)

    Google Scholar 

  80. 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)

    Chapter  Google Scholar 

  81. 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)

    Google Scholar 

  82. Wolfman, S., Weld, D.: The LPSAT Engine & its Application to Resource Planning. In: Proc. IJCAI (1999)

    Google Scholar 

  83. Wolfman, S., Weld, D.: Combining linear programming and satisfiability solving for resource planning. Knowledge Engineering Review (2000)

    Google Scholar 

  84. Zeng, Z., Kalla, P., Ciesielski, M.: LPSAT: a unified approach to RTL satisfiability. In: Proc. DATE 2001. IEEE Press, Los Alamitos (2001)

    Google Scholar 

  85. 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)

    Google Scholar 

  86. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics