Efficient Interpolant Generation in Satisfiability Modulo Theories

  • Alessandro Cimatti
  • Alberto Griggio
  • Roberto Sebastiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4963)


The problem of computing Craig Interpolants for propositional (SAT) formulas has recently received a lot of interest, mainly for its applications in formal verification. However, propositional logic is often not expressive enough for representing many interesting verification problems, which can be more naturally addressed in the framework of Satisfiability Modulo Theories, SMT.

Although some works have addressed the topic of generating interpolants in SMT, the techniques and tools that are currently available have some limitations, and their performace still does not exploit the full power of current state-of-the-art SMT solvers.

In this paper we try to close this gap. We present several techniques for interpolant generation in SMT which overcome the limitations of the current generators mentioned above, and which take full advantage of state-of-the-art SMT technology. These novel techniques can lead to substantial performance improvements wrt. the currently available tools.

We support our claims with an extensive experimental evaluation of our implementation of the proposed techniques in the MathSAT SMT solver.


  1. 1.
    Audemard, G., Bozzano, M., Cimatti, A., Sebastiani, R.: Verifying industrial hybrid systems with mathsat. Electr. Notes Theor. Comput. Sci. 119(2) (2005)Google Scholar
  2. 2.
    Audemard, G., Cimatti, A., Kornilowicz, A., Sebastiani, R.: Bounded model checking for timed systems. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Ball, T., Lahiri, S.K., Musuvathi, M.: Zap: Automated theorem proving for software analysis. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Rossum, P., Schulz, S., Sebastiani, R.: MathSAT: A Tight Integration of SAT and Mathematical Decision Procedure. Journal of Automated Reasoning 35(1-3) (October 2005)Google Scholar
  5. 5.
    Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., Sebastiani, R.: Efficient Theory Combination via Boolean Search. Information and Computation 204(10) (2006)Google Scholar
  6. 6.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed Theory Combination vs. Nelson-Oppen for Satisfiability Modulo Theories: A Comparative Analysis. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, Springer, Heidelberg (2006)Google Scholar
  7. 7.
    Cabodi, G., Murciano, M., Nocco, S., Quer, S.: Stepping forward with interpolants in unbounded model checking. In: Proc. ICCAD 2006, ACM, New York (2006)Google Scholar
  8. 8.
    Cimatti, A., Griggio, A., Sebastiani, R.: Efficient Interpolant Generation in Satisfiability Modulo Theories. Technical Report DIT-07-075, DISI - University of Trento (2007)Google Scholar
  9. 9.
    Cotton, S., Maler, O.: Fast and Flexible Difference Constraint Propagation for DPLL(T). In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 170–183. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Dutertre, B., de Moura, L.: A Fast Linear-Arithmetic Solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: Jones, N.D., Leroy, X. (eds.) POPL, ACM, New York (2004)Google Scholar
  12. 12.
    Jhala, R., McMillan, K.: Interpolant-based transition relation approximation. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 39–51. Springer, Heidelberg (2005)Google Scholar
  13. 13.
    Jhala, R., McMillan, K.L.: A Practical and Complete Approach to Predicate Refinement. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Jhala, R., McMillan, K.L.: Array Abstractions from Proofs. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Kapur, D., Majumdar, R., Zarba, C.G.: Interpolation for data structures. In: Young, M., Devanbu, P.T. (eds.) SIGSOFT FSE, ACM, New York (2006)Google Scholar
  16. 16.
    Kroening, D., Weissenbacher, G.: Lifting Propositional Interpolants to the Word-Level. In: FMCAD, USA, pp. 85–89. IEEE Computer Society, Los Alamitos, CA, USA (2007)Google Scholar
  17. 17.
    Li, B., Somenzi, F.: Efficient Abstraction Refinement in Interpolation-Based Unbounded Model Checking. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 227–241. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Marques-Silva, J.: Interpolant Learning and Reuse in SAT-Based Model Checking. Electr. Notes Theor. Comput. Sci. 174(3), 31–43 (2007)CrossRefGoogle Scholar
  19. 19.
    McMillan, K.: Interpolation and SAT-based model checking. In: Proc. CAV (2003)Google Scholar
  20. 20.
    McMillan, K.L.: An interpolating theorem prover. Theor. Comput. Sci. 345(1) (2005)Google Scholar
  21. 21.
    McMillan, K.L.: Lazy Abstraction with Interpolants. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 123–136. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Nelson, G., Oppen, D.: Simplification by Cooperating Decision Procedures. ACM Trans. on Programming Languages and Systems 1(2) (1979)Google Scholar
  23. 23.
    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, Springer, Heidelberg (2005)Google Scholar
  24. 24.
    Nieuwenhuis, R., Oliveras, A.: Fast Congruence Closure and Extensions. Inf. Comput. 2005(4), 557–580 (2007)CrossRefMathSciNetGoogle Scholar
  25. 25.
    Pudlák, P.: Lower bounds for resolution and cutting planes proofs and monotone computations. J. of Symb. Logic 62(3) (1997)Google Scholar
  26. 26.
    Ranise, S., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2006),
  27. 27.
    Rybalchenko, A., Sofronie-Stokkermans, V.: Constraint Solving for Interpolation. In: VMCAI. LNCS, Springer, Heidelberg (2007)Google Scholar
  28. 28.
    Sebastiani, R.: Lazy Satisfiability Modulo Theories. Journal on Satisfiability, Boolean Modeling and Computation, J.SAT 3 (2007)Google Scholar
  29. 29.
    Vanderbei, R.J.: Linear Programming: Foundations and Extensions. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  30. 30.
    Yorsh, G., Musuvathi, M.: A combination method for generating interpolants. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 353–368. Springer, Heidelberg (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Alessandro Cimatti
    • 1
  • Alberto Griggio
    • 2
  • Roberto Sebastiani
    • 2
  1. 1.FBK-IRST, PovoTrentoItaly
  2. 2.DISIUniversità di TrentoItaly

Personalised recommendations