Skip to main content
Log in

An Instantiation Scheme for Satisfiability Modulo Theories

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

State-of-the-art theory solvers generally rely on an instantiation of the axioms of the theory, and depending on the solvers, this instantiation is more or less explicit. This paper introduces a generic instantiation scheme for solving SMT problems, along with syntactic criteria to identify the classes of clauses for which it is complete. The instantiation scheme itself is simple to implement, and we have produced an implementation of the syntactic criteria that guarantee a given set of clauses can be safely instantiated. We used our implementation to test the completeness of our scheme for several theories of interest in the SMT community, some of which are listed in the last section of this paper.

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. Abadi, A., Rabinovich, A., Sagiv, M.: Decidable fragments of many-sorted logic. J. Symb. Comput. 45(2), 153–172 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  2. Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: New results on rewrite-based satisfiability procedures. ACM Trans. Comput. Log. 10(1), 129–179 (2009)

    Article  MathSciNet  Google Scholar 

  3. Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  4. 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 (2001)

  5. Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Log. Comput. 3(4), 217–247 (1994)

    Article  MathSciNet  Google Scholar 

  6. Barrett, C., Sebastiani, R., Seshia, S., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, chapter 26, pp. 825–885. IOS Press (2009)

  7. Barrett, C.W., Dill, D.L., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to sat. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 236–249. Springer (2002)

  8. Bofill, M., Nieuwenhuis, R., Oliveras, A., Rodríguez-Carbonell, E., Rubio, A.: A write-based solver for sat modulo the theory of arrays. In: FMCAD ’08: Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design, pp. 1–8. IEEE Press, Piscataway, NJ, USA (2008)

    Chapter  Google Scholar 

  9. Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial T-satisfiability procedures. J. Log. Comput. 18(1), 77–96 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  10. Bonacina, M.P., Echenim, M.: Theory decision by decomposition. J. Symb. Comput. 45(2), 229–260 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  11. Bonacina, M.P., Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Decidability and undecidability results for Nelson–Oppen and rewrite-based decision procedures. In: Furbach, U., Shankar, N. (eds.) Proc. IJCAR-3. LNAI, vol. 4130, pp. 513–527. Springer (2006)

  12. Bradley, A.R., Manna, Z.: The Calculus of Computation: Decision Procedures with Applications to Verification. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2007)

    MATH  Google Scholar 

  13. Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) Proc. VMCAI-7. LNCS, vol. 3855, pp. 427–442. Springer (2006)

  14. Dantzig, G.B., Eaves, B.C.: Fourier-motzkin elimination and its dual. J. Comb. Theory, Ser. A 14(3), 288–297 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  15. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Commun. ACM 5, 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  16. Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  17. de Moura, L., Bjørner, N.: Engineering DPLL(T) + saturation. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR-4. LNAI, vol. 5195, pp. 475–490. Springer (2008)

  18. de Moura, L., Bjørner, N.: Efficient e-matching for SMT solvers. In: Pfenning, F. (ed.) CADE-21. LNCS, vol. 4603, pp. 183–198. Springer (2007)

  19. de Moura, L.M., Bjørner, N.: Generalized, efficient array decision procedures. In: FMCAD, pp. 45–52. IEEE (2009)

  20. de Moura, L.M., Bjørner, N.: Efficient e-matching for SMT solvers. In: Pfenning, F. (ed.) 21st International Conference on Automated Deduction. LNCS, vol. 4603, pp. 183–198. Springer (2007)

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

    Article  MathSciNet  Google Scholar 

  22. Dutertre, D., de Moura, L.: The YICES SMT-solver. In: SMT-COMP: satisfiability modulo theories competition. Available at http://yices.csl.sri.com (2006)

  23. Echenim, M., Peltier, N.: Instantiation of SMT problems modulo integers. In: AISC 2010 (10th International Conference on Artificial Intelligence and Symbolic Computation). LNCS. Springer (2010)

  24. Ganzinger, H., Korovin, K.: Integrating equational reasoning into instantiation-based theorem proving. In: Computer Science Logic (CSL’04), LNCS, vol. 3210, pp. 71–84. Springer (2004)

  25. Ge, Y., Barrett, C.W., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. Ann. Math. Artif. Intell. 55(1–2), 101–122 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  26. Ge, Y., de Moura, L.M.: Complete instantiation for quantified formulas in satisfiabiliby modulo theories. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 306–320. Springer (2009)

  27. Goel, A., Krstić, S., Fuchs, A.: Deciding array formulas with frugal axiom instantiation. In: SMT ’08/BPR ’08: Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning, pp. 12–17. ACM, New York, NY, USA (2008)

    Chapter  Google Scholar 

  28. Jacobs, S.: Incremental instance generation in local reasoning. In: Baader, F., Ghilardi, S., Hermann, M., Sattler, U., Sofronie-Stokkermans, V. (eds.) Notes 1st CEDAR Workshop, IJCAR 2008, pp. 47–62 (2008)

  29. Jouannaud, J., Kirchner, C.: Solving equations in abstract algebras: a rule based survey of unification. In: Lassez, J.-L., Plotkin, G. (eds.) Essays in Honor of Alan Robinson, pp. 91–99. MIT Press (1991)

  30. Kirchner, C., Kirchner, H., Rusinowitch, M.: Deduction with symbolic constraints. Revue Française d’Intelligence Artificielle 4(3), 9–52 (1990)

    Google Scholar 

  31. Kirchner, H., Ranise, S., Ringeissen, C., Tran, D.-K.: Automatic combinability of rewriting-based satisfiability procedures. In: Hermann, M., Voronkov, A. (eds.) Proc. LPAR-13. LNCS, vol. 4246, pp. 542–556. Springer (2006)

  32. Lee, S., Plaisted, D.A.: Eliminating duplication with the hyper-linking strategy. J. Autom. Reason. 9, 25–42 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  33. Lynch, C., Tran, D.-K.: Automatic decidability and combinability revisited. In: Pfenning, F. (ed.) CADE-21. LNAI, vol. 4603, pp. 328–344. Springer (2007)

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

    Article  MathSciNet  MATH  Google Scholar 

  35. Ranise, S., Deharbe, D.: Applying light-weight theorem proving to debugging and verifying pointer programs. In: Proc. of the 4th Workshop on First-order Theorem Proving (FTP’03). Electronic Notes in Theoretical Computer Science, vol. 86 (2003)

  36. Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.: A decision procedure for an extensional theory of arrays. In: LICS ’01: Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science, p. 29. IEEE Computer Society, Washington, DC, USA (2001)

    Chapter  Google Scholar 

  37. Waldmann, U., Prevosto, V.: SPASS+T. In: Sutcliffe, G., Schmidt, R., Schulz, S. (eds.) Proc. ESCoR Workshop, FLoc 2006. CEUR Workshop Proceedings, vol. 192, pp. 18–33 (2006)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicolas Peltier.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Echenim, M., Peltier, N. An Instantiation Scheme for Satisfiability Modulo Theories. J Autom Reasoning 48, 293–362 (2012). https://doi.org/10.1007/s10817-010-9200-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-010-9200-3

Keywords

Navigation