Efficient Satisfiability Modulo Theories via Delayed Theory Combination

  • Marco Bozzano
  • Roberto Bruttomesso
  • Alessandro Cimatti
  • Tommi Junttila
  • Silvio Ranise
  • Peter van Rossum
  • Roberto Sebastiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3576)


The problem of deciding the satisfiability of a quantifier-free formula with respect to a background theory, also known as Satisfiability Modulo Theories (SMT), is gaining increasing relevance in verification: representation capabilities beyond propositional logic allow for a natural modeling of real-world problems (e.g., pipeline and RTL circuits verification, proof obligations in software systems).

In this paper, we focus on the case where the background theory is the combination T 1T 2 of two simpler theories. Many SMT procedures combine a boolean model enumeration with a decision procedure for T 1T 2, where conjunctions of literals can be decided by an integration schema such as Nelson-Oppen, via a structured exchange of interface formulae (e.g., equalities in the case of convex theories, disjunctions of equalities otherwise).

We propose a new approach for SMT(T 1T 2), called Delayed Theory Combination, which does not require a decision procedure for T 1T 2, but only individual decision procedures for T 1 and T 2, which are directly integrated into the boolean model enumerator. This approach is much simpler and natural, allows each of the solvers to be implemented and optimized without taking into account the others, and it nicely encompasses the case of non-convex theories. We show the effectiveness of the approach by a thorough experimental comparison.


Decision Procedure Truth Assignment Proof Obligation Linear Arithmetic Interface Equality 
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.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. North Holland Pub. Co., Amsterdam (1954)zbMATHGoogle Scholar
  2. 2.
    Armando, A., Castellini, C., Giunchiglia, E., Maratea, M.: A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 16–29. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Ball, T., Cook, B., Lahiri, S.K., Zhang, L.: Zapato: Automatic Theorem Proving for Predicate Abstraction Refinement. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 457–461. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Barrett, C., Berezin, S.: CVC Lite: A New Implementation of the Cooperating Validity Checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Ranise, S., van Rossum, P., Sebastiani, R.: Efficient Theory Combination via Boolean Search. Technical Report T05-04-02, ITC-IRST (2005)Google Scholar
  6. 6.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., 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)CrossRefGoogle Scholar
  7. 7.
    Cotton, S., Asarin, E., Maler, O., Niebert, P.: Some Progress in Satisfiability Checking for Difference Logic. In: Lakhnech, Y., Yovine, S. (eds.) FORMATS 2004 and FTRTFT 2004. LNCS, vol. 3253, pp. 263–276. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
  9. 9.
    Deharbe, D., Ranise, S.: Light-Weight Theorem Proving for Debugging and Verifying Units of Code. In: Proc. SEFM 2003. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  10. 10.
    Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A Theorem Prover for Program Checking. Technical Report HPL-2003-148, HP Laboratories (2003)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    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
  14. 14.
  15. 15.
    Kroening, D., Ouaknine, J., Seshia, S.A., Strichman, O.: Abstraction-Based Satisfiability Solving of Presburger Arithmetic. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 308–320. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
  17. 17.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proc. DAC 2001, pp. 530–535. ACM, New York (2001)Google Scholar
  18. 18.
    Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)zbMATHCrossRefGoogle Scholar
  19. 19.
    Nieuwenhuis, R., Oliveras, A.: Congruence Closure with Integer Offsets. In: Y. Vardi, M., Voronkov, A. (eds.) LPAR 2003. LNCS, vol. 2850, Springer, Heidelberg (2003)Google Scholar
  20. 20.
    Ranise, S., Ringeissen, C., Tran, D.-K.: Nelson-Oppen, Shostak, and the Extended Canonizer: A Family Picture with a Newborn. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 372–386. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Rueß, H., Shankar, N.: Deconstructing Shostak. In: Proc. LICS 2001, pp. 19–28. IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  22. 22.
    Seshia, S.A., Bryant, R.E.: Deciding Quantifier-Free Presburger Formulas Using Parameterized Solution Bounds. In: Proc. LICS 2004. IEEE, Los Alamitos (2004)Google Scholar
  23. 23.
    Seshia, S.A., Lahiri, S.K., Bryant, R.E.: A Hybrid SAT-Based Decision Procedure for Separation Logic with Uninterpreted Functions. In: DAC 2003. ACM, New York (2003)Google Scholar
  24. 24.
    Shankar, N., Rueß, H.: Combining Shostak Theories. In: Tison, S. (ed.) RTA 2002. LNCS, vol. 2378, p. 1. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Strichman, O.: On Solving Presburger and Linear Arithmetic with SAT. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  26. 26.
    Strichman, O., Seshia, S., Bryant, R.: Deciding separation formulas with SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 209. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  27. 27.
    Tinelli, C., Harandi, M.: A New Correctness Proof of the Nelson-Oppen Combination Procedure. In: Proc. FroCos 1996. Kluwer Academic Publishers, Dordrecht (1996)Google Scholar
  28. 28.
  29. 29.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Marco Bozzano
    • 1
  • Roberto Bruttomesso
    • 1
  • Alessandro Cimatti
    • 1
  • Tommi Junttila
    • 2
  • Silvio Ranise
    • 3
  • Peter van Rossum
    • 4
  • Roberto Sebastiani
    • 5
  1. 1.ITC-IRSTPovo, TrentoItaly
  2. 2.Helsinki University of TechnologyFinland
  3. 3.LORIA and INRIA-LorraineVillers les NancyFrance
  4. 4.Radboud UniversityNijmegenThe Netherlands
  5. 5.DITUniversità di TrentoItaly

Personalised recommendations