Skip to main content

From Propositional Satisfiability to Satisfiability Modulo Theories

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4121))

Abstract

In this paper we present a review of SAT-based approaches for building scalable and efficient decision procedures for quantifier-free first-order logic formulas in one or more decidable theories, known as Satisfiability Modulo Theories (SMT) problems. As applied to different system verification problems, SMT problems comprise of different theories including fragments of elementary theory of numbers, the theory of arrays, the theory of list structures, etc. In this paper we focus on different DPLL-style satisfiability procedures for decidable fragments of the theory of integers. Leveraging the advances made in SAT solvers in the past decade, we introduce several SAT-based SMT solving methods that in many applications have outperformed classical decision methods. Aside from the classical method of translating the SMT formula to a purely Boolean problem, in recent methods, a SAT solver is utilized to serve as the “glue” that ties together the different theory atoms and forms the basis for reasoning and learning within and across them. Several methods have been developed to provide a combination framework for implications to flow through the theory solvers and to possibly activate other theory atoms based on the current assignments. Similarly, conflict-based learning is also extended to enable the creation of learned clauses comprising of the combination of theory atoms. Additional methods unique to one or more types of theory atoms have also been proposed that learn more expressive constraints and significantly increase the pruning power of these combination schemes. We will describe several combination strategies and their impact on scalability and performance of the overall solver in different settings and applications.

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. Ackermann, W.: Solvable cases of the decision problem. In: Studies in Logic and the Foundations of Mathematics, North-Holland, Amsterdam (1954)

    Google Scholar 

  2. Amon, T., Borriello, G., Hu, T., Liu, J.: Symbolic timing verification of timing diagrams using presburger formulas. In: DAC 1997, pp. 226–231 (1997)

    Google Scholar 

  3. Ario SMT Solver, http://www.eecs.umich.edu/~ario/

  4. Berezin, S., Ganesh, V., Dill, D.L.: An online proof-producing decision procedure for mixed-integer linear arithmetic. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 521–536. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T.A.: 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 

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

    Google Scholar 

  7. Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Deciding CLU logic formulas via boolean and pseudo-boolean encodings (2002)

    Google Scholar 

  8. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5(7), 394–397 (1962)

    Article  MATH  MathSciNet  Google Scholar 

  9. Ganapathy, V., Seshia, S.A., Jha, S., Reps, T.W., Bryant, R.E.: Automatic discovery of API-level exploits. In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol. 4309, pp. 312–321. Springer, Heidelberg (2006)

    Google Scholar 

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

  11. Goel, A., Sajid, K., Zhou, H., Aziz, A., Singhal, V.: Bdd based procedures for a theory of equality with uninterpreted functions. Form. Methods Syst. Des. 22(3), 205–224 (2003)

    Article  MATH  Google Scholar 

  12. Hojati, R., Isles, A.J., Kirkpatrick, D., Brayton, R.K.: Verification using uninterpreted functions and finite instantiations. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 218–232. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  13. Hooker, J.N., Ottosson, G., Thorsteinsson, E.S., Kim, H.-J.: On integrating constraint propagation and linear programming for combinatorial optimization. In: AAAI 1999/IAAI 1999, pp. 136–141 (1999)

    Google Scholar 

  14. Burch, J.R., Dill, D.L.: Automatic verification of pipelined microprocessors control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)

    Google Scholar 

  15. Jaffar, J., Maher, M.J., Stuckey, P.J., Yap, R.H.C.: Beyond finite domains. In: Workshop on Principles and Practice of Constraint Programming, pp. 86–94 (1994)

    Google Scholar 

  16. Jones, R.B., Dill, D.L., Burch, J.R.: Efficient validity checking for processor verification. In: ICCAD 1995: Proceedings of the 1995 IEEE/ACM international conference on Computer-aided design, Washington, DC, USA, pp. 2–6. IEEE Computer Society Press, Los Alamitos (1995)

    Chapter  Google Scholar 

  17. Khatib, L., Morris, P., Morris, R., Rossi, F.: Temporal constraint reasoning with preferences. In: 17th International Joint Conference on Artificial Intelligence, vol. 1, pp. 322–327 (2001)

    Google Scholar 

  18. Marques-Silva, P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Trans. Comput. 48(5), 506–521 (1999)

    Article  MathSciNet  Google Scholar 

  19. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: 38th Design Automation Conference, pp. 530–535 (2001)

    Google Scholar 

  20. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

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

  22. Nieuwenhuis, R., Oliveras, A.: Proof-Producing Congruence Closure. In: Proceedings of the 16th Int’l Conf. on Term Rewriting and Applications, pp. 453–468 (2005)

    Google Scholar 

  23. Pnueli, A., Rodeh, Y., Shtrichman, O., Siegel, M.: Deciding equality formulas by small domains instantiations. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 455–469. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  24. Rodeh, Y., Strichman, O.: Building small equality graphs for deciding equality logic with uninterpreted functions. Inf. Comput. 204(1), 26–59 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  25. Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A hybrid SAT-based decision procedure for separation logic with uninterpreted functions. In: DAC 2003: Proceedings of the 40th conference on Design automation, pp. 425–430. ACM Press, New York (2003)

    Chapter  Google Scholar 

  26. Sheini, H.M., Peintner, B., Sakallah, K.A., Pollack, M.E.: On solving soft temporal constraints using SAT techniques. In: Proceedings of the Eleventh International Conference on Principles and Practice of Constraint Programming, pp. 607–621 (2005)

    Google Scholar 

  27. Sheini, H.M., Sakallah, K.A.: A SAT-Based Decision Procedure for Mixed Logical/Integer Linear Problems. In: Barták, R., Milano, M. (eds.) CPAIOR 2005. LNCS, vol. 3524, pp. 320–335. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  28. Sheini, H.M., Sakallah, K.A.: A scalable method for solving satisfiability of integer linear arithmetic logic. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 241–256. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

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

  30. Velev, M.N., Bryant, R.E.: Exploiting positive equality and partial non-consistency in the formal verification of pipelined microprocessors. In: 36th ACM/IEEE conference on Design automation, pp. 397–401. ACM Press, New York (1999)

    Google Scholar 

  31. Wagner, D., Foster, J.S., Brewer, E.A., Aiken, A.: A first step towards automated detection of buffer overrun vulnerabilities. In: Network and Distributed System Security Symposium, February 2000, pp. 3–17 (2000)

    Google Scholar 

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

Sheini, H.M., Sakallah, K.A. (2006). From Propositional Satisfiability to Satisfiability Modulo Theories. In: Biere, A., Gomes, C.P. (eds) Theory and Applications of Satisfiability Testing - SAT 2006. SAT 2006. Lecture Notes in Computer Science, vol 4121. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11814948_1

Download citation

  • DOI: https://doi.org/10.1007/11814948_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37206-6

  • Online ISBN: 978-3-540-37207-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics