Journal of Automated Reasoning

, Volume 47, Issue 2, pp 161–189 | Cite as

On Deciding Satisfiability by Theorem Proving with Speculative Inferences

  • Maria Paola Bonacina
  • Christopher A. Lynch
  • Leonardo de Moura
Article

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.

Keywords

Program checking Theorem proving Satisfiability modulo theories  Combination of theories 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Log. Comput. 4(3), 217–247 (1994)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  8. 8.
    Basin, D.A., Ganzinger, H.: Automated complexity analysis based on ordered resolution. J. ACM 48(1), 70–109 (2001)CrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  12. 12.
    Bonacina, M.P., Dershowitz, N.: Abstract canonical inference. ACM Trans. Comput. Log. 8(1), 180–208 (2007)CrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  16. 16.
    Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial T-satisfiability procedures. J. Log. Comput. 18(1), 77–96 (2008)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Bonacina, M.P., Echenim, M.: Theory decision by decomposition. J. Symb. Comput. 45(2), 229–260 (2010)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  19. 19.
    Bonacina, M.P., Hsiang, J.: Towards a foundation of completion procedures as semidecision procedures. Theoret. Comput. Sci. 146, 199–242 (1995)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  22. 22.
    Caferra, R., Leitsch, A., Peltier, N.: Automated Model Building. Kluwer Academic Publishers, Amsterdam (2004)MATHGoogle 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)Google Scholar
  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)Google Scholar
  25. 25.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7, 201–215 (1960)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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).Google Scholar
  31. 31.
    Dershowitz, M.: Orderings for term-rewriting systems. Theore. Comput. Sci. 17(3), 279–301 (1982)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  33. 33.
    Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979)MATHCrossRefMathSciNetGoogle 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)CrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  40. 40.
    Givan, R., McAllester, D.A.: Polynomial-time computation via local inference relations. ACM Trans. Comput. Log. 3(4), 521–541 (2002)CrossRefMathSciNetGoogle Scholar
  41. 41.
    Halpern, J.Y.: Presburger arithmetic with unary predicates is \(\pi_1^1\) complete. J. Symb. Log. 56, 637–642 (1991)MATHCrossRefGoogle 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)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  47. 47.
    Kounalis, E., Rusinowitch, M.: On word problems in Horn theories. J. Symb. Comput. 11(1–2), 113–128 (1991)MATHCrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  50. 50.
    MacNeille, H.M.: Partially ordered sets. Trans. Am. Math. Soc. 42, 416–460 (1937)CrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  53. 53.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)MATHCrossRefGoogle 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)Google Scholar
  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)CrossRefMathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  58. 58.
    Robinson, J.A.: Automatic deduction with hyper-resolution. Int. J. Comput. Math. 1, 227–234 (1965)MATHGoogle Scholar
  59. 59.
    Robinson, J.A.: A machine oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)MATHCrossRefGoogle Scholar
  60. 60.
    Rusinowitch, M.: Theorem-proving with resolution and superposition. J. Symb. Comput. 11, 21–50 (1991)MATHCrossRefMathSciNetGoogle Scholar
  61. 61.
    Sebastiani, R.: Lazy satisfiability modulo theories. J. Sat. Bool. Model. and Comput. 3, 141–224 (2007)MATHMathSciNetGoogle 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)MATHCrossRefGoogle 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)Google Scholar
  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)MATHMathSciNetGoogle 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)Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  • Maria Paola Bonacina
    • 1
  • Christopher A. Lynch
    • 2
  • Leonardo de Moura
    • 3
  1. 1.Dipartimento di InformaticaUniversità degli Studi di VeronaVeronaItaly
  2. 2.Department of Mathematics and Computer ScienceClarkson UniversityPotsdamUSA
  3. 3.Microsoft ResearchRedmondUSA

Personalised recommendations