Skip to main content
Log in

Solving quantified verification conditions using satisfiability modulo theories

  • Published:
Annals of Mathematics and Artificial Intelligence Aims and scope Submit manuscript

Abstract

First-order logic provides a convenient formalism for describing a wide variety of verification conditions. Two main approaches to checking such conditions are pure first-order automated theorem proving (ATP) and automated theorem proving based on satisfiability modulo theories (SMT). Traditional ATP systems are designed to handle quantifiers easily, but often have difficulty reasoning with respect to theories. SMT systems, on the other hand, have built-in support for many useful theories, but have a much more difficult time with quantifiers. One clue on how to get the best of both worlds can be found in the legacy system Simplify which combines built-in theory reasoning with quantifier instantiation heuristics. Inspired by Simplify and motivated by a desire to provide a competitive alternative to ATP systems, this paper describes a methodology for reasoning about quantifiers in SMT systems. We present the methodology in the context of the Abstract DPLL Modulo Theories framework. Besides adapting many of Simplify’s techniques, we also introduce a number of new heuristics. Most important is the notion of instantiation level which provides an effective mechanism for prioritizing and managing the large search space inherent in quantifier instantiation techniques. These techniques have been implemented in the SMT system CVC3. Experimental results show that our methodology enables CVC3 to solve a significant number of quantified benchmarks that were not solvable with previous approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Baader, F., Snyder, W.: Unification theory. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. I, chapter 8, pp. 445–532. Elsevier Science, Amsterdam (2001)

    Chapter  Google Scholar 

  2. Barrett, C., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on demand in SAT modulo theories. Technical report 06-05, Department of Computer Science, The University of Iowa (2006)

  3. Barrett, C., Ranise, S., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org (2008)

  4. Barrett, C., Tinelli, C.: CVC3. In: Damm, W., Hermanns, H. (eds.) Proceedings of the 19th International Conference on Computer Aided Verification (CAV’07), Berlin, Germany. Lecture Notes in Computer Science, vol. 4590, pp. 298–302. Springer, New York (2007)

    Google Scholar 

  5. Barrett, C.W.: Checking validity of quantifier-free formulas in combinations of first-order theories. Ph.D. thesis, Stanford University (2003)

  6. Barrett, C.W., Dill, D.L., Stump, A.: A generalization of Shostak’s method for combining decision procedures. In: Armando, A. (ed.) Proc. FroCoS ’02. LNAI, vol. 2309, pp. 132–146. Springer, New York (2002)

    Google Scholar 

  7. Baumgartner, P., Tinelli, C.: The model evolution calculus as a first-order DPLL method. Artif. Intell. 172, 591–632 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  8. de Moura, L.M., Bjørner, N.: Efficient E-matching for SMT solvers. In: Pfenning, F. (ed.) CADE. Lecture Notes in Computer Science, vol. 4603, pp. 183–198. Springer, New York (2007)

    Google Scholar 

  9. Denney, E., Fischer, B., Schumann, J.: Using automated theorem provers to certify auto-generated aerospace software. In: Basin, D.A., Rusinowitch, M. (eds.) IJCAR. LNCS, vol. 3097, pp. 198–212. Springer, New York (2004)

    Google Scholar 

  10. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)

    Article  MathSciNet  Google Scholar 

  11. Flanagan, C., Joshi, R., Saxe, J.B.: An explicating theorem prover for quantified formulas. Technical report HPL-2004-199, HP Intelligent Enterprise Technologies Laboratory (2004)

  12. Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B.: Extended static checking for Java. In: Proc. ACM Conference on Programming Language Design and Implementation, pp. 234–245 (2002)

  13. Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): fast decision procedures. In: Alur, R., Peled, D. (eds.) Proceedings of the 16th International Conference on Computer Aided Verification, CAV’04 (Boston, Massachusetts). LNCS, vol. 3114, pp. 175–188. Springer, New York (2004)

    Google Scholar 

  14. Hooker, J., Rago, G., Chandru, V., Shrivastava, A.: Partial instantiation methods for inference in first order logic. J. Autom. Reason. 28(4), 371–396 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  15. Moskal, M., Lopuszanski, J., Kiniry, J.: E-matching for fun and profit. In: Krstic, S., Oliveras, A. (eds.) Proceedings of the 5th International Workshop on Satisfiability Modulo Theories (SMT ’07), pp. 25–35. Berlin, Germany (2007)

  16. Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)

    Article  MathSciNet  Google Scholar 

  17. Plaisted, D.A., Zhu, Y.: Ordered semantic hyper linking. J. Autom. Reason. 25(3), 167–217 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  18. Prevosto, V., Waldmann, U.: SPASS+T. In: Sutcliffe, G., Schmidt, R., Schulz, S. (eds.) Proceedings of ESCoR: Empirically Successful Computerized Reasoning, Seattle, WA. CEUR Workshop Proceedings, vol. 192, pp. 18–33 (2006)

  19. Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15(2–3), 91–110 (2002)

    MATH  Google Scholar 

  20. Stickel, M.E.: Automated deduction by theory resolution. J. Autom. Reason. 1(4), 333–355 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  21. Sutcliffe, G.: The IJCAR-2004 automated theorem proving competition. AI Commun. 18(1), 33–40 (2005)

    MathSciNet  Google Scholar 

  22. Sutcliffe, G., Suttner, C.: The TPTP problem library: CNF release v1.2.1. J. Autom. Reason. 21(2), 177–203 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  23. Weidenbach, C., Brahm, U., Hillenbrand, T., Keen, E., Theobald, C., Topic, D.: SPASS version 2.0. In: Voronkov, A. (ed.) CADE. LNCS, vol. 2392, pp. 275–279. Springer, New York (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yeting Ge.

Additional information

This work was partially supported by a donation from Intel Corp. and by the National Science Foundation under grants 0237422 and 0551645.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ge, Y., Barrett, C. & Tinelli, C. Solving quantified verification conditions using satisfiability modulo theories. Ann Math Artif Intell 55, 101–122 (2009). https://doi.org/10.1007/s10472-009-9153-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10472-009-9153-6

Keywords

Mathematics Subject Classification (2000)

Navigation