From Propositional Satisfiability to Satisfiability Modulo Theories

  • Hossein M. Sheini
  • Karem A. Sakallah
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4121)


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.


Conjunctive Normal Form Predicate Symbol Theory Atom Theory Solver Pruning Power 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 3.
  4. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 6.
    Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: ASP-DAC 2002, pp. 741–746 (2002)Google Scholar
  7. 7.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Deciding CLU logic formulas via boolean and pseudo-boolean encodings (2002)Google Scholar
  8. 8.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5(7), 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  9. 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. 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)CrossRefGoogle Scholar
  11. 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)MATHCrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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. 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. 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. 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)CrossRefGoogle Scholar
  17. 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. 18.
    Marques-Silva, P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Trans. Comput. 48(5), 506–521 (1999)CrossRefMathSciNetGoogle Scholar
  19. 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. 20.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 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. 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)CrossRefGoogle Scholar
  24. 24.
    Rodeh, Y., Strichman, O.: Building small equality graphs for deciding equality logic with uninterpreted functions. Inf. Comput. 204(1), 26–59 (2006)MATHCrossRefMathSciNetGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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. 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)CrossRefGoogle Scholar
  28. 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)CrossRefGoogle Scholar
  29. 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)CrossRefGoogle Scholar
  30. 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. 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. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Hossein M. Sheini
    • 1
  • Karem A. Sakallah
    • 1
  1. 1.University of MichiganAnn ArborUSA

Personalised recommendations