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.
Similar content being viewed by others
References
Abadi, A., Rabinovich, A., Sagiv, M.: Decidable fragments of many-sorted logic. J. Symb. Comput. 45(2), 153–172 (2010)
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)
Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)
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)
Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Log. Comput. 3(4), 217–247 (1994)
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)
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)
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)
Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial T-satisfiability procedures. J. Log. Comput. 18(1), 77–96 (2008)
Bonacina, M.P., Echenim, M.: Theory decision by decomposition. J. Symb. Comput. 45(2), 229–260 (2010)
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)
Bradley, A.R., Manna, Z.: The Calculus of Computation: Decision Procedures with Applications to Verification. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2007)
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)
Dantzig, G.B., Eaves, B.C.: Fourier-motzkin elimination and its dual. J. Comb. Theory, Ser. A 14(3), 288–297 (1973)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Commun. ACM 5, 394–397 (1962)
Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)
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)
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)
de Moura, L.M., Bjørner, N.: Generalized, efficient array decision procedures. In: FMCAD, pp. 45–52. IEEE (2009)
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)
Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)
Dutertre, D., de Moura, L.: The YICES SMT-solver. In: SMT-COMP: satisfiability modulo theories competition. Available at http://yices.csl.sri.com (2006)
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)
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)
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)
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)
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)
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)
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)
Kirchner, C., Kirchner, H., Rusinowitch, M.: Deduction with symbolic constraints. Revue Française d’Intelligence Artificielle 4(3), 9–52 (1990)
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)
Lee, S., Plaisted, D.A.: Eliminating duplication with the hyper-linking strategy. J. Autom. Reason. 9, 25–42 (1992)
Lynch, C., Tran, D.-K.: Automatic decidability and combinability revisited. In: Pfenning, F. (ed.) CADE-21. LNAI, vol. 4603, pp. 328–344. Springer (2007)
Plaisted, D.A., Zhu, Y.: Ordered semantic hyperlinking. J. Autom. Reason. 25(3), 167–217 (2000)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-010-9200-3