skip to main content
research-article

Efficient generation of craig interpolants in satisfiability modulo theories

Published: 26 November 2010 Publication History

Abstract

The problem of computing Craig interpolants has recently received a lot of interest. In this article, we address the problem of efficient generation of interpolants for some important fragments of first-order logic, which are amenable for effective decision procedures, called satisfiability modulo theory (SMT) solvers.
We make the following contributions. First, we provide interpolation procedures for several basic theories of interest: the theories of linear arithmetic over the rationals, difference logic over rationals and integers, and UTVPI over rationals and integers. Second, we define a novel approach to interpolate combinations of theories that applies to the delayed theory combination approach.
Efficiency is ensured by the fact that the proposed interpolation algorithms extend state-of-the-art algorithms for satisfiability modulo theories. Our experimental evaluation shows that the MathSAT SMT solver can produce interpolants with minor overhead in search, and much more efficiently than other competitor solvers.

References

[1]
Ball, T., Lahiri, S. K., and Musuvathi, M. 2005. Zap: Automated theorem proving for software analysis. In Proceedings of LPAR. G. Sutcliffe and A. Voronkov, Eds. Lecture Notes in Computer Science, vol. 3835. Springer, 2--22.
[2]
Barrett, C. W., Dill, D. L., and Stump, A. 2002. A Generalization of Shostak's method for combining decision procedures. In Proceedings of FroCos. A. Armando, Ed. Lecture Notes in Computer Science, vol. 2309. Springer, Berlin, Germany, 132--146.
[3]
Barrett, C. W., Sebastiani, R., Seshia, S. A., and Tinelli, C. 2009. Satisfiability modulo theories. In Handbook of Satisfiability. A. Biere, M. Heule, H. van Maaren, and T. Walsh, Eds. Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press, Amsterdam, The Netherlands, 825--885.
[4]
Beyer, D., Henzinger, T. A., Jhala, R., and Majumdar, R. 2007. The Software Model Checker blast. Int. J. Softw. Tools Tech. Trans. 9, 5-6, 505--525.
[5]
Beyer, D., Zufferey, D., and Majumdar, R. 2008. CSIsat: Interpolation for LA+EUF. In Proceedings of CAV. A. Gupta and S. Malik, Eds. Lecture Notes in Computer Science, vol. 5123. Springer, Berlin, Germany, 304--308.
[6]
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Rossum, P., Schulz, S., and Sebastiani, R. 2005. MathSAT: A tight integration of SAT and mathematical decision procedure. J. Automat. Reason. 35, 1-3.
[7]
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Ranise, S., and Sebastiani, R. 2006. Efficient theory combination via Boolean search. Inform. Comput. 204, 10, 1411--1596.
[8]
Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., and Sebastiani, R. 2008. The MathSAT 4 SMT solver. In Proceedings of CAV. A. Gupta and S. Malik, Eds. Lecture Notes in Computer Science, vol. 5123. Springer, Berlin, Germany, 299--303.
[9]
Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., and Sebastiani, R. 2009. Delayed theory combination vs. nelson-oppen for satisfiability modulo theories: A comparative analysis. Extended version. Ann. Math. d Artific. Intell. 55, 1-2, 63--99.
[10]
Cabodi, G., Murciano, M., Nocco, S., and Quer, S. 2006. Stepping forward with interpolants in unbounded model checking. In Proceedings of ICCAD. S. Hassoun, Ed. ACM Press, New York, NY, 772--778.
[11]
Cimatti, A., Griggio, A., and Sebastiani, R. 2008. Efficient interpolant generation in satisfiability modulo theories. In Proceedings of TACAS'08. C. R. Ramakrishnan and J. Rehof, Eds. Lecture Notes in Computer Science, vol. 4963. Springer, Berlin, Germany, 397--412.
[12]
Cimatti, A., Griggio, A., and Sebastiani, R. 2009. Interpolant generation for UTVPI. In Proceedings of CADE-22. R. A. Schmidt, Ed. Lecture Notes in Computer Science, vol. 5663. Springer, Berlin, Germany, 167--182.
[13]
Cotton, S. and Maler, O. 2006. Fast and flexible difference constraint propagation for DPLL(T). In Proceedings of SAT. A. Biere and C. P. Gomes, Eds. Lecture Notes in Computer Science, vol. 4121. Springer, Berlin, Germany, 170--183.
[14]
Davis, M., Logemann, G., and Loveland, D. W. 1962. A machine program for theorem-proving. Comm. ACM 5, 7, 394--397.
[15]
de Moura, L. and Bjørner, N. 2008. Proofs and refutations, and Z3. In Proceedings of the LPAR Workshops. P. Rudnicki, G. Sutcliffe, B. Konev, R. A. Schmidt, and S. Schulz, Eds. CEUR Workshop Proceedings, vol. 418. CEUR-WS.org.
[16]
Dutertre, B. and de Moura, L. 2006. A fast linear-arithmetic solver for DPLL(T). In Proceedings of CAV. T. Ball and R. B. Jones, Eds. Lecture Notes in Computer Science, vol. 4144. Springer, Berlin, Germany, 81--94.
[17]
Enderton, H. B. 2001. A Mathematical Introduction to Logic, 2nd ed. Academic Press, New York, NY.
[18]
Fuchs, A., Goel, A., Grundy, J., Krstic, S., and Tinelli, C. 2009. Ground interpolation for the theory of equality. In Proceedings of TACAS'09. S. Kowalewski and A. Philippou, Eds. Lecture Notes in Computer Science, vol. 5505. Springer, Berlin, Germany, 413--427.
[19]
Goel, A., Krstic, S., and Tinelli, C. 2009. Ground interpolation for combined theories. In Proceedings of CADE-22. R. A. Schmidt, Ed. Lecture Notes in Computer Science, vol. 5663. Springer, Berlin, Germany, 183--198.
[20]
Harvey, W. and Stuckey, P. 1997. A unit two variable per inequality integer constraint solver for constraint logic programming. In Proceedings of the Australian Computer Science Conference. 102--111.
[21]
Henzinger, T. A., Jhala, R., Majumdar, R., and McMillan, K. L. 2004. Abstractions from proofs. In Proceedings of POPL. N. D. Jones and X. Leroy, Eds. ACM Press, New York, NY, 232--244.
[22]
Jaffar, J., Maher, M. J., Stuckey, P. J., and Yap, R. H. C. 1994. Beyond finite domains. In Proceedings of PPCP. Lecture Notes in Computer Science, vol. 874. Springer, Berlin, Germany, 86--94.
[23]
Jain, H., Clarke, E. M., and Grumberg, O. 2009. Efficient Craig interpolation for linear diophantine (dis)equations and linear modular equations. Form. Meth. Syst. Des. 35, 1, 6--39.
[24]
Jhala, R. and McMillan, K. 2005. Interpolant-based transition relation approximation. In Proceedings of CAV. K. Etessami and S. K. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer, Berlin, Germany, 39--51.
[25]
Jhala, R. and McMillan, K. L. 2006. A practical and complete approach to predicate refinement. In Proceedings of TACAS. H. Hermanns and J. Palsberg, Eds. Lecture Notes in Computer Science, vol. 3920. Springer, Berlin, Germany, 459--473.
[26]
Jhala, R. and McMillan, K. L. 2007. Array abstractions from proofs. In Proceedings of CAV. W. Damm and H. Hermanns, Eds. Lecture Notes in Computer Science, vol. 4590. Springer, Berlin, Germany, 193--206.
[27]
Kapur, D., Majumdar, R., and Zarba, C. G. 2006. Interpolation for data structures. In Proceedings of SIGSOFT FSE. M. Young and P. T. Devanbu, Eds. ACM Press, New York, 105--116.
[28]
Kroening, D. and Strichman, O. 2008. Decision Procedures: An Algorithmic Point of View. Springer, Berlin, Germany.
[29]
Kroening, D. and Weissenbacher, G. 2007. Lifting propositional interpolants to the word-level. In Proceedings of FMCAD. IEEE Computer Society Press, Los Alamitos, CA, 85--89.
[30]
Lahiri, S. K. and Musuvathi, M. 2005. An efficient decision procedure for UTVPI constraints. In Proceedings of FroCos. B. Gramlich, Ed. Lecture Notes in Computer Science, vol. 3717. Springer, Berlin, Germany, 168--183.
[31]
Li, B. and Somenzi, F. 2006. Efficient abstraction refinement in interpolation-based unbounded model checking. In Proceedings of TACAS. H. Hermanns and J. Palsberg, Eds. Lecture Notes in Computer Science, vol. 3920. Springer, Berlin, Germany, 227--241.
[32]
Lynch, C. and Tang, Y. 2008. Interpolants for linear arithmetic in SMT. In Proceedings of ATVA. S. D. Cha, J.-Y. Choi, M. Kim, I. Lee, and M. Viswanathan, Eds. Lecture Notes in Computer Science, vol. 5311. Springer, Berlin, Germany, 156--170.
[33]
Marques-Silva, J. 2007. Interpolant learning and reuse in SAT-based model checking. Electr. Notes Theor. Comput. Sci. 174, 3, 31--43.
[34]
McMillan, K. L. 2003. Interpolation and SAT-based model checking. In Proceedings of CAV. W. A. H. Jr. and F. Somenzi, Eds. Lecture Notes in Computer Science, vol. 2725. Springer, Berlin, Germany, 1--13.
[35]
McMillan, K. L. 2005. An interpolating theorem prover. Theor. Comput. Sci. 345, 1, 101--121.
[36]
McMillan, K. L. 2006. Lazy Abstraction with Interpolants. In Proceedings of CAV, T. Ball and R. B. Jones, Eds. Lecture Notes in Computer Science, vol. 4144. Springer, Berlin, Germany, 123--136.
[37]
Miné, A. 2001. The octagon abstract domain. In Proceedings of WCRE. IEEE Computer Society Press, Los Alamitos, CA, 31--100.
[38]
Nelson, G. and Oppen, D. 1979. Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 2, 245--257.
[39]
Nieuwenhuis, R. and Oliveras, A. 2005. DPLL(T) with exhaustive theory propagation and its application to difference logic. In Proceedings of CAV. K. Etessami and S. K. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer, Berlin, Germany, 321--334.
[40]
Nieuwenhuis, R. and Oliveras, A. 2007. Fast congruence closure and extensions. Inf. Comput. 2005, 4, 557--580.
[41]
Pudlák, P. 1997. Lower bounds for resolution and cutting planes proofs and monotone computations. J. Symb. Logic 62, 3.
[42]
Ranise, S. and Tinelli, C. 2006. The satisfiability modulo theories library (SMT-LIB). www.SMT-LIB.org.
[43]
Rybalchenko, A. and Sofronie-Stokkermans, V. 2007. Constraint solving for interpolation. In Proceedings of VMCAI. B. Cook and A. Podelski, Eds. Lecture Notes in Computer Science, vol. 4349. Springer, Berlin, Germany, 346--362.
[44]
Sebastiani, R. 2007. Lazy satisfiability modulo theories. J. Satis. Boolean Model. Comput. 3, 3-4, 141--224.
[45]
Sofronie-Stokkermans, V. 2006. Interpolation in local theory extensions. In Proceedings of IJCAR, U. Furbach and N. Shankar, Eds. Lecture Notes in Computer Science, vol. 4130. Springer, Berlin, Germany, 235--250.
[46]
Tseitin, G. S. 1968. On the complexity of derivation in propositional calculus. In Studies in Constructive Mathematics and Mathematical Logic, Part 2, A. O. Slisenko, Ed. Nauka, Laningrad, Russia, 115--125.
[47]
van Gelder, A. 2007. Verifying propositional unsatisfiability: Pitfalls to avoid. In Proceedings of SAT. J. Marques-Silva and K. A. Sakallah, Eds. Lecture Notes in Computer Science, vol. 4501. Springer, Berlin, Germany, 328--333.
[48]
Vanderbei, R. J. 2001. Linear Programming: Foundations and Extensions. Springer, Berlin, Germany.
[49]
Yorsh, G. and Musuvathi, M. 2005. A combination method for generating interpolants. In Proceedings of CADE. R. Nieuwenhuis, Ed. Lecture Notes in Computer Science, vol. 3632. Springer, Berlin, Germany, 353--368.
[50]
Zhang, L. and Malik, S. 2002. The quest for efficient boolean satisfiability solvers. In Proceedings of CADE. A. Voronkov, Ed. Lecture Notes in Computer Science, vol. 2392. Springer, Berlin, Germany, 295--313.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computational Logic
ACM Transactions on Computational Logic  Volume 12, Issue 1
October 2010
334 pages
ISSN:1529-3785
EISSN:1557-945X
DOI:10.1145/1838552
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 November 2010
Accepted: 01 December 2009
Received: 01 June 2009
Published in TOCL Volume 12, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Craig interpolation
  2. SMT
  3. decision procedures

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media