On Deciding Satisfiability by Theorem Proving with Speculative Inferences

Abstract

Applications in software verification often require determining the satisfiability of first-order formulae with respect to background theories. During development, conjectures are usually false. Therefore, it is desirable to have a theorem prover that terminates on satisfiable instances. Satisfiability Modulo Theories (SMT) solvers have proven to be highly scalable, efficient and suitable for integrated theory reasoning. Inference systems with resolution and superposition are strong at reasoning with equalities, universally quantified variables, and Horn clauses. We describe a theorem-proving method that tightly integrates superposition-based inference system and SMT solver. The combination is refutationally complete if background theory symbols only occur in ground formulae, and non-ground clauses are variable-inactive. Termination is enforced by introducing additional axioms as hypotheses. The system detects any unsoundness introduced by these speculative inferences and recovers from it.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    Ernst, E., Kruglov, E., Weidenbach, C.: Superposition modulo linear arithmetic SUP(LA). In: Ghilardi, S., Sebastiani, R. (eds.) Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS). Lecture Notes in Artificial Intelligence, vol. 5749, pp. 84–99. Springer (2009)

  2. 2.

    Vincent, V., Caferra, R., Peltier, N.: A decidable class of nested iterated schemata. In: Giesl, J., Hähnle, R. (eds.) Proceedings of the Fifth International Joint Conference on Automated Reasoning (IJCAR). Lecture Notes in Artificial Intelligence, vol. 6173, pp. 293–308. Springer (2010)

  3. 3.

    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a rewriting approach to satisfiability procedures: extension, combination of theories and an experimental appraisal. In: Gramlich, B. (ed.) Proceedings of the Fifth Workshop on Frontiers of Combining Systems (FroCoS). Lecture Notes in Artificial Intelligence, vol. 3717, pp. 65–80. Springer (2005)

  4. 4.

    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 

  5. 5.

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

    MATH  Article  MathSciNet  Google Scholar 

  6. 6.

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

    MATH  Article  MathSciNet  Google Scholar 

  7. 7.

    Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: an overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) Proceedings of the Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2004). Lecture Notes in Computer Science, vol. 3362, pp. 49–69. Springer (2005)

  8. 8.

    Basin, D.A., Ganzinger, H.: Automated complexity analysis based on ordered resolution. J. ACM 48(1), 70–109 (2001)

    Article  MathSciNet  Google Scholar 

  9. 9.

    Baumgartner, P., Schmidt, R.A.: Blocking and other enhancements for bottom-up model generation methods. In: Furbach, U., Shankar, N. (eds.) Proceedings of the Third International Joint Conference on Automated Reasoning (IJCAR). Lecture Notes in Artificial Intelligence, vol. 4130, pp. 125–139. Springer (2006)

  10. 10.

    Bonacina, M.P.: A taxonomy of theorem-proving strategies. In: Wooldridge, M.J., Veloso, M. (eds.) Artificial Intelligence Today—Recent Trends and Developments. Lecture Notes in Artificial Intelligence, vol. 1600, pp. 43–84. Springer (1999)

  11. 11.

    Bonacina, M.P.: On theorem proving for program checking—historical perspective and recent developments. In: Fernandez, M. (ed.) Proceedings of the Twelfth International Symposium on Principles and Practice of Declarative Programming (PPDP), pp. 1–11. ACM Press (2010)

  12. 12.

    Bonacina, M.P., Dershowitz, N.: Abstract canonical inference. ACM Trans. Comput. Log. 8(1), 180–208 (2007)

    Article  MathSciNet  Google Scholar 

  13. 13.

    Bonacina, M.P., Echenim, M.: \(\mathcal{T}\)-decision by decomposition. In: Pfenning, F. (ed.) Proceedings of the Twenty-First Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 4603, pp. 199–214. Springer (2007)

  14. 14.

    Bonacina, M.P., Echenim, M.: Rewrite-based decision procedures. In: Archer, M., de la Tour, T.B., Munoz, C. (eds.) Proceedings of the Sixth Workshop on Strategies in Automated Deduction (STRATEGIES), Federated Logic Conference 2006. Electronic Notes in Theoretical Computer Science, vol. 174(11), pp. 27–45. Elsevier (2007)

  15. 15.

    Bonacina, M.P., Echenim, M.: Rewrite-based satisfiability procedures for recursive data structures. In: Cook, B., Sebastiani, R. (eds.) Proceedings of the Fourth Workshop on Pragmatics of Decision Procedures in Automated Reasoning (PDPAR), Federated Logic Conference 2006. Electronic Notes in Theoretical Computer Science, vol. 174(8), pp. 55–70. Elsevier (2007)

  16. 16.

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

    MATH  Article  MathSciNet  Google Scholar 

  17. 17.

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

    MATH  Article  MathSciNet  Google Scholar 

  18. 18.

    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.) Proceedings of the Third International Joint Conference on Automated Reasoning (IJCAR). Lecture Notes in Artificial Intelligence, vol. 4130, pp. 513–527. Springer (2006)

  19. 19.

    Bonacina, M.P., Hsiang, J.: Towards a foundation of completion procedures as semidecision procedures. Theoret. Comput. Sci. 146, 199–242 (1995)

    MATH  Article  MathSciNet  Google Scholar 

  20. 20.

    Bonacina, M.P., Lynch, C.A., de Moura, L.: On deciding satisfiability by DPLL(\(\Gamma+\mathcal{T}\)) and unsound theorem proving. In: Schmidt, R. (ed.) Proceedings of the Twenty-Second Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 5663, pp. 35–50. Springer (2009)

  21. 21.

    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) Proceedings of the Seventh Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI). Lecture Notes in Computer Science, vol. 3855, pp. 427–442. Springer (2006)

  22. 22.

    Caferra, R., Leitsch, A., Peltier, N.: Automated Model Building. Kluwer Academic Publishers, Amsterdam (2004)

    MATH  Google Scholar 

  23. 23.

    Cantone, D., Zarba, C.G.: A decision procedure for monotone functions over bounded and complete lattices. In: de Swart, H. (ed.) Proc. TARSKI II. Lecture Notes in Artificial Intelligence, vol. 4342, pp. 318–333. Springer (2006)

  24. 24.

    Claessen, K., Lillieström, A.: Automated inference of finite unsatisfiability. In: Schmidt, R. (ed.) Proceedings of the Twenty-Second Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 5663, pp. 388–403. Springer (2009)

  25. 25.

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

    MATH  Article  MathSciNet  Google Scholar 

  26. 26.

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

    MATH  Article  MathSciNet  Google Scholar 

  27. 27.

    de Moura, L., Bjørner, N.: Efficient E-matching for SMT-solvers. In: Pfenning, F. (ed.) Proceedings of the Twenty-First Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 4603, pp. 183–198. Springer (2007)

  28. 28.

    de Moura, L., Bjørner, N.: Engineering DPLL(T) + saturation. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) Proceedings of the Fourth International Joint Conference on Automated Reasoning (IJCAR). Lecture Notes in Artificial Intelligence, vol. 5195, pp. 475–490. Springer (2008)

  29. 29.

    de Moura, L., Bjørner, N.: Model-based theory combination. In: Krstić, S., Oliveras, A. (eds) Proceedings of the Fifth Workshop on Satisfiability Modulo Theories (SMT), Conference on Automated Verification 2007. Electronic Notes in Theoretical Computer Science, vol. 198(2), pp. 37–49. Elsevier (2008)

  30. 30.

    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Proceedings of the Fourteenth Conference on Tools and algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 4963, pp. 337–340 (Springer).

  31. 31.

    Dershowitz, M.: Orderings for term-rewriting systems. Theore. Comput. Sci. 17(3), 279–301 (1982)

    MATH  Article  MathSciNet  Google Scholar 

  32. 32.

    Dershowitz, N.: A maximal-literal unit strategy for Horn clauses. In: Kaplan, S., Okada, M. (eds.) Proceedings of the Second Workshop on Conditional and Typed Term Rewriting Systems (CTRS 1990). Lecture Notes in Computer Science, vol. 516, pp. 14–25. Springer (1991)

  33. 33.

    Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979)

    MATH  Article  MathSciNet  Google Scholar 

  34. 34.

    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 

  35. 35.

    Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) Proceedings of the Eighteenth Conference on Automated Verification (CAV). Lecture Notes in Computer Science, vol. 4144, pp. 81–94. Springer (2006)

  36. 36.

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

  37. 37.

    Fontaine, P.: Combinations of theories for decidable fragments of first-order logic. In: Ghilardi, S., Sebastiani, R. (eds.) Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS). Lecture Notes in Artificial Intelligence, vol. 5749, pp. 263–278. Springer (2009)

  38. 38.

    Gallier, J., Narendran, P., Plaisted, D.A., Raatz, S., Snyder, W.: Finding canonical rewriting systems equivalent to a finite set of ground equations in polynomial time. J. ACM 40(1), 1–16 (1993)

    MATH  Article  MathSciNet  Google Scholar 

  39. 39.

    Ge, Y., Barrett, C., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. In: Pfenning, F. (ed.) Proceedings of the Twenty-First Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 4603, pp. 167–182. Springer (2007)

  40. 40.

    Givan, R., McAllester, D.A.: Polynomial-time computation via local inference relations. ACM Trans. Comput. Log. 3(4), 521–541 (2002)

    Article  MathSciNet  Google Scholar 

  41. 41.

    Halpern, J.Y.: Presburger arithmetic with unary predicates is \(\pi_1^1\) complete. J. Symb. Log. 56, 637–642 (1991)

    MATH  Article  Google Scholar 

  42. 42.

    Hsiang, J., Rusinowitch, M.: Proving refutational completeness of theorem proving strategies: the transfinite semantic tree method. J. ACM 38(3), 559–587 (1991)

    MATH  Article  MathSciNet  Google Scholar 

  43. 43.

    Ihlemann, C., Jacobs, S., Sofronie-Stokkermans, V.: On local reasoning in verification. In: Ramakrishnan, C.R., Rehof, J. (eds.) Proceedings of the Fourteenth Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 4963, pp. 265–281. Springer (2008)

  44. 44.

    Jacobs, S.: Incremental instance generation in local reasoning. In: Baader, F., Ghilardi, S., Hermann, M., Sattler, U., Sofronie-Stokkermans, V. (eds.) Notes of the First Workshop on Complexity, Expressibility and Decidability (CEDAR). International Joint Conference on Automated Reasoning 2008, pp. 47–62 (2008)

  45. 45.

    Knuth, D.E., Bendix, P.B.: Simple word problems in universal algebras. In: Leech, J. (ed.) Proceedings of the Conference on Computational Problems in Abstract Algebras, pp. 263–298. Pergamon Press (1970)

  46. 46.

    Korovin, K., Voronkov, A.: Integrating linear arithmetic into superposition calculus. In: Duparc, J., Henzinger, T.A. (eds.) Proceedings of the Sixteenth EACSL Annual Conference on Computer Science Logic (CSL). Lecture Notes in Computer Science, vol. 4646, pp. 223–237. Springer (2007)

  47. 47.

    Kounalis, E., Rusinowitch, M.: On word problems in Horn theories. J. Symb. Comput. 11(1–2), 113–128 (1991)

    MATH  Article  MathSciNet  Google Scholar 

  48. 48.

    Lifschitz, V., Morgenstern, L., Plaisted, D.A.: Knowledge representation and classical logic. In: van Harmelen, F., Lifschitz, V., Porter, B. (eds.) Handbook of Knowledge Representation, vol. 1, pp. 3–88. Elsevier (2008)

  49. 49.

    Lynch, C.A.: Unsound theorem proving. In: Marcinkowski, J., Tarlecki, A. (eds.) Proceedings of the Thirteenth EACSL Annual Conference on Computer Science Logic (CSL). Lecture Notes in Computer Science, vol. 3210, pp. 473–487. Springer (2004)

  50. 50.

    MacNeille, H.M.: Partially ordered sets. Trans. Am. Math. Soc. 42, 416–460 (1937)

    Article  MathSciNet  Google Scholar 

  51. 51.

    McCune, W.W.: Otter 3.3 Reference Manual. Technical Report ANL/MCS-TM-263, MCS Division, Argonne National Laboratory, Argonne, IL, USA (2003)

  52. 52.

    McPeak, S., Necula, G.C.: Data structure specifications via local equality axioms. In: Etessami, K., Rajamani, S.K. (eds.) Proceedings of the Seventeenth Conference on Automated Verification (CAV). Lecture Notes in Computer Science, vol. 3576, pp. 476–490. Springer (2005)

  53. 53.

    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    MATH  Article  Google Scholar 

  54. 54.

    Nicolini, E., Ringeissen, C., Rusinowitch, M.: Data structures with arithmetic constraints: a non-disjoint combination. In: Ghilardi, S., Sebastiani, R. (eds.) Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS). Lecture Notes in Artificial Intelligence, vol. 5749, pp. 319–334. Springer (2009)

  55. 55.

    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 

  56. 56.

    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 371–443. Elsevier (2001)

  57. 57.

    Robinson, G., Wos, L.: Paramodulation and theorem-proving in first-order theories with equality. In: Michie, D., Meltzer, R. (eds.) Machine Intelligence, vol. IV, pp. 135–150. Edinburgh University Press (1969)

  58. 58.

    Robinson, J.A.: Automatic deduction with hyper-resolution. Int. J. Comput. Math. 1, 227–234 (1965)

    MATH  Google Scholar 

  59. 59.

    Robinson, J.A.: A machine oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)

    MATH  Article  Google Scholar 

  60. 60.

    Rusinowitch, M.: Theorem-proving with resolution and superposition. J. Symb. Comput. 11, 21–50 (1991)

    MATH  Article  MathSciNet  Google Scholar 

  61. 61.

    Sebastiani, R.: Lazy satisfiability modulo theories. J. Sat. Bool. Model. and Comput. 3, 141–224 (2007)

    MATH  MathSciNet  Google Scholar 

  62. 62.

    Snyder, W.: A fast algorithm for generating reduced ground rewriting systems from a set of ground equations. J. Symb. Comput. 15(4), 415-450 (1993)

    MATH  Article  Google Scholar 

  63. 63.

    Sofronie-Stokkermans, V.: Hierarchic reasoning in local theory extensions. In: Nieuwenhuis, R. (ed.) Proceedings of the Twentieth Conference on Automated Deduction (CADE). Lecture Notes in Artificial Intelligence, vol. 3632, pp. 219–234. Springer (2005)

  64. 64.

    Sofronie-Stokkermans, V., Ihlemann, C.: Automated reasoning in some local extensions of ordered structures. J. Mult.-Valued Log. Soft Comput. 13(4–6), 397–414 (2007)

    MATH  MathSciNet  Google Scholar 

  65. 65.

    Wies, T., Piskac, R., Kuncak, V.: Combining theories with shared set operations. In: Ghilardi, S., Sebastiani, R. (eds.) Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS). Lecture Notes in Artificial Intelligence, vol. 5749, pp. 366–382. Springer (2009)

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Maria Paola Bonacina.

Additional information

The first author was supported in part by grant no. 2007-9E5KM8 of the Ministero dell’Istruzione Università e Ricerca.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bonacina, M.P., Lynch, C.A. & de Moura, L. On Deciding Satisfiability by Theorem Proving with Speculative Inferences. J Autom Reasoning 47, 161–189 (2011). https://doi.org/10.1007/s10817-010-9213-y

Download citation

Keywords

  • Program checking
  • Theorem proving
  • Satisfiability modulo theories
  • Combination of theories