Journal of Automated Reasoning

, Volume 54, Issue 1, pp 69–97 | Cite as

On Interpolation in Automated Theorem Proving

Article

Abstract

Given two inconsistent formulæ, a (reverse) interpolant is a formula implied by one, inconsistent with the other, and only containing symbols they share. Interpolation finds application in program analysis, verification, and synthesis, for example, towards invariant generation. An interpolation system takes a refutation of the inconsistent formulæ and extracts an interpolant by building it inductively from partial interpolants. Known interpolation systems for ground proofs use colors to track symbols. We show by examples that the color-based approach cannot handle non-ground refutations by resolution and paramodulation/superposition. We present a two-stage approach that works by tracking literals, computes a provisional interpolant, which may contain non-shared symbols, and applies lifting to replace non-shared constants by quantified variables. We obtain an interpolation system for non-ground refutations, and we prove that it is complete, if the only non-shared symbols in provisional interpolants are constants.

Keywords

Interpolation systems Superposition Resolution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andréka, H., van Benthem, J., Nemeti, I.: Modal logics and bounded fragments of predicate logic. J. Philos. Log. 27(3), 217–274 (1998)CrossRefMATHGoogle Scholar
  2. 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)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)CrossRefMathSciNetMATHGoogle Scholar
  4. 4.
    Baaz, M., Leitsch, A.: Methods of Cut-Elimination. Springer, Berlin (2011)MATHGoogle Scholar
  5. 5.
    Böhme, S., Moskał, M.: Heaps and data structures: a challenge for automated provers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) Proceedings of the 23rd Conference on Automated Deduction (CADE), volume 6803 of Lecture Notes in Artificial Intelligence, pp. 177–191. Springer, Berlin (2011)Google Scholar
  6. 6.
    Bonacina, M.P.: On theorem proving for program checking – historical perspective and recent developments. In: Fernandez, M. (ed.) Proceedings of the 12th International Symposium on Principles and Practice of Declarative Programming (PPDP), pp. 1–11. ACM, New York (2010)Google Scholar
  7. 7.
    Bonacina, M.P.: Two-stage interpolation systems. In: Kovàcs, L., Weissenbacher, G. (eds.) Notes of the First International Workshop on Interpolation: from Proofs to Applications (IPrA), Twenty-Fifth International Conference on Computer Aided Verification (CAV), Technical Reports. Technische Universität Wien (2013)Google Scholar
  8. 8.
    Bonacina, M.P., Echenim, M.: Rewrite-based satisfiability procedures for recursive data structures. In: Cook, B., Sebastiani, R. (eds.) Proceedings of the 4th Workshop on Pragmatics of Decision Procedures in Automated Reasoning (PDPAR 2006), volume 174(8) of Electronic Notes in Theoretical Computer Science, pp. 55–70. Elsevier, Amsterdam (2007)Google Scholar
  9. 9.
    Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial \(\mathcal {T}\)-satisfiability procedures. J. Log. Comput. 18 (1), 77–96 (2008)CrossRefMathSciNetMATHGoogle Scholar
  10. 10.
    Bonacina, M.P., Hsiang, J.: On the modelling of search in theorem proving – towards a theory of strategy analysis. Inf. Comput. 147, 171–208 (1998)CrossRefMathSciNetMATHGoogle Scholar
  11. 11.
    Bonacina, M.P., Johansson, M.: On interpolation in decision procedures. In: Brünnler, K., Metcalfe, G. (eds.) Proceedings of the 20th International Conference on Analytic Tableaux and Related Methods (TABLEAUX), volume 6793 of Lecture Notes in Artificial Intelligence, pp. 1–16. Springer, Berlin (2011)Google Scholar
  12. 12.
    Bonacina, M.P., Johansson, M.: Interpolation of ground proofs: a survey. Submitted for publication. Available at http://profs.sci.univr.it/bonacina/ (2014)
  13. 13.
    Bonacina, M.P., Lynch, C.A., de Moura, L.: On deciding satisfiability by theorem proving with speculative inferences. J. Autom. Reas. 47, 161–189 (2011)CrossRefMathSciNetMATHGoogle Scholar
  14. 14.
    Bradley, A.R., Manna, Z.: The Calculus of Computation – Decision Procedures with Applications to Verification. Springer, Berlin (2007)MATHGoogle Scholar
  15. 15.
    Bruttomesso, R., Ghilardi, S., Ranise, S.: From strong amalgamability to modularity of quantifier-free interpolation. In: Gramlich, B., Miller, D., Sattler, U. (eds.) Proceedings of the 6th International Joint Conference on Automated Reasoning (IJCAR), volume 7364 of Lecture Notes in Artificial Intelligence, pp. 118–133. Springer, Berlin (2012)Google Scholar
  16. 16.
    Bruttomesso, R., Ghilardi, S., Ranise, S.: Quantifier-free interpolation in combinations of equality interpolating theories. ACM Trans. Comput. Log. 15(1), 2014Google Scholar
  17. 17.
    Chadha, R., Plaisted, D.A.: On the mechanical derivation of loop invariants. J. Symb. Comput. 15(5–6), 705–744 (1993)CrossRefMathSciNetMATHGoogle Scholar
  18. 18.
    Christ, J., Hoenicke, J.: Instantiation-based interpolation for quantified formulae. Notes of the 8th International Workshop on Satisfiability Modulo Theories (SMT) (2010)Google Scholar
  19. 19.
    Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theory. ACM Trans. Comput. Log. 12(1), 7 (2010)CrossRefMathSciNetGoogle Scholar
  20. 20.
    Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)CrossRefMathSciNetMATHGoogle Scholar
  21. 21.
    Craig, W.: Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J. Symb. Log. 22(3), 269–285 (1957)CrossRefMathSciNetMATHGoogle Scholar
  22. 22.
    de Moura, L., Bjørner, N.: Efficient E-matching for SMT-solvers. In: Pfenning, F. (ed.) Proceedings of the 21st Conference on Automated Deduction (CADE), volume 4603 of Lecture Notes in Artificial Intelligence, pp. 183–198. Springer, Berlin (2007)Google Scholar
  23. 23.
    de Moura, L., Bjørner, N.: Model-based theory combination. In: Krstić, S., Oliveras, A. (eds.) Proceedings of the 5th Workshop on Satisfiability Modulo Theories (SMT 2007), volume 198(2) of Electronic Notes in Theoretical Computer Science, pp. 37–49. Elsevier, Amsterdam (2008)Google Scholar
  24. 24.
    de Moura, L., Bjørnerc, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Proceedings of the 14th Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), volume 4963 of Lecture Notes in Computer Science, pp. 337–340. Springer, Berlin (2008)Google Scholar
  25. 25.
    de Moura, L., Bjørner, N.: Bugs, moles and skeletons: Symbolic reasoning for software development. In: Giesl, J., Hähnle, R. (eds.) Proceedings of the 5th International Joint Conference on Automated Reasoning (IJCAR), volume 6173 of Lecture Notes in Artificial Intelligence, pp. 400–411. Springer, Berlin (2010)Google Scholar
  26. 26.
    de Moura, L., Bjørner, N.: Satisfiability modulo theories: Introduction and applications. Comm. ACM 54(9), 69–77 (2011)CrossRefGoogle Scholar
  27. 27.
    Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 535–610. Amsterdam, Elsevier (2001)Google Scholar
  28. 28.
    Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: A theorem prover for program checking. JACM 52(3), 365–473 (2005)CrossRefMathSciNetGoogle Scholar
  29. 29.
    Dierkes, M.: Model Building for Sets of Guarded Clauses. PhD thesis, Institut National Polytechnique de Grenoble (2001)Google Scholar
  30. 30.
    D’Silva, V., Kroening, D., Purandare, M., Weissenbacher, G.: Interpolant strength. In: Barthe, G., Hermenegildo, M.V. (eds.) Proceedings of the 11th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), volume 5944 of Lecture Notes in Computer Science, pp. 129–145. Springer, Berlin (2010)Google Scholar
  31. 31.
    Dutertre, B., de Moura, L.: A fast linear arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) Proceedings of the 18th Conference on Computer Aided Verification (CAV), volume 4144 of Lecture Notes in Computer Science, pp. 81–94. Springer, Berlin (2006)Google Scholar
  32. 32.
    Fietzke, A.: Labelled superposition. PhD thesis, Max Planck Institut für Informatik, Saabrücken (2013)Google Scholar
  33. 33.
    Fietzke, A., Weidenbach, C.: Superposition as a decision procedure for timed automata. Math. Comput Sci. 6(4), 409–425 (2012)CrossRefMathSciNetMATHGoogle Scholar
  34. 34.
    Fontaine, P.: Combinations of theories for decidable fragments of first-order logic. In: Ghilardi, S., Sebastiani, R. (eds.) Proceedings of the 7th Symposium on Frontiers of Combining Systems (FroCoS), volume 5749 of Lecture Notes in Artificial Intelligence, pp. 263–278. Springer (2009)Google Scholar
  35. 35.
    Ganzinger, H., de Nivelle, H.: A superposition decision procedure for the guarded fragment with equality. In: Proceedings of the 14th IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press (1999)Google Scholar
  36. 36.
    Ge, Y., Barrett, C., Tinelli, C.: Solving quantified verification conditions using satisfiability modulo theories. In: Pfenning, F. (ed.) Proceedings of the 21st Conference on Automated Deduction (CADE), volume 4603 of Lecture Notes in Artificial Intelligence, pp. 167–182. Springer, Berlin (2007)Google Scholar
  37. 37.
    Ge, Y., de Moura, L.: Complete instantiation for quantified formulas in satisfiability modulo theories. In: Bouajjani, A., Maler, O. (eds.) Proceedings of the 21st Conference on Computer Aided Verification (CAV), volume 5643 of Lecture Notes in Computer Science, pp. 306–320. Springer , Berlin (2009)Google Scholar
  38. 38.
    Goel, A., Krstić, S., Tinelli, C.: Ground interpolation for combined theories. In: Schmidt, R. (ed.) Proceedings of the 22nd Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Artificial Intelligence, pp. 183–198. Springer, Berlin (2009)Google Scholar
  39. 39.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: Leroy, X. (ed.) Proceedings of the 31st ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pp. 232–244. ACM, New York (2004)Google Scholar
  40. 40.
    Hoder, K., Kovàcs, L., Voronkov, A.: Interpolation and symbol elimination in Vampire. In: Giesl, J., Hähnle, R. (eds.) Proceedings of the 5th International Joint Conference on Automated Reasoning (IJCAR), volume 6173 of Lecture Notes in Artificial Intelligence, pp. 188–195. Springer, Berlin (2010)Google Scholar
  41. 41.
    Hoder, K., Kovàcs, L., Voronkov, A.: Playing in the grey area of proofs. In: Hicks, M. (ed.) Proceedings of the 39th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pp. 259–272. ACM, New York (2012)Google Scholar
  42. 42.
    Huang, G.: Constructing Craig interpolation formulas. In: Du, D.-Z., Li, M. (eds.) Proceedings of the 1st Annual International Conference on Computing and Combinatorics (COCOON), volume 959 of Lecture Notes in Computer Science, pp. 181–190. Springer, Berlin (1995)Google Scholar
  43. 43.
    Kapur, D.: A quantifier-elimination based heuristic for automatically generating inductive assertions of programs. J. Syst. Sci. Complexity 19(3), 307–330 (2006)CrossRefMathSciNetMATHGoogle Scholar
  44. 44.
    Kapur, D., Zhang, Z., Horbach, M., Zhao, H., Lu, Q., Nguyen, T.V.: Geometric quantifier elimination heuristics for automatically generating octagonal and max-plus invariants. In: Bonacina, M.P., Stickel, M.E. (eds.) Automated Reasoning and Mathematics: Essays in Memory of William W. McCune, vol. 7788, pp. 189–228. Springer, Berlin (2013)Google Scholar
  45. 45.
    Kovàcs, L., Voronkov, A.: Finding loop invariants for programs over arrays using a theorem prover. In: Proc. of the Conf. on Fundamental Approaches to Software Engineering, number 5503 in LNCS, pp. 470–485. Springer, Berlin (2009)Google Scholar
  46. 46.
    Kovàcs, L., Voronkov, A.: Interpolation and symbol elimination. In: Schmidt, R. (ed.) Proceedings of the 22nd Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Artificial Intelligence, pp. 199–213. Springer, Berlin (2009)Google Scholar
  47. 47.
    Kovàcs, L., Voronkov, A.: First order theorem proving and Vampire. In: Sharygina, N., Veith, H. (eds.) Proceedings of the 25th Conference on Computer Aided Verification (CAV), volume 8044 of Lecture Notes in Computer Science, pp. 1–35. Springer, Berlin (2013)Google Scholar
  48. 48.
    Kroening, D., Weissenbacher, G.: Interpolation-based software verification with Wolverine. In: Gopalakrishnan, G., Qaader, S. (eds.) Proceedings of the 23rd Conference on Computer Aided Verification (CAV), volume 6806 of Lecture Notes in Computer Science, pp. 573–578. Springer, Berlin (2011)Google Scholar
  49. 49.
    McMillan, K.L.: Interpolation and SAT-based model checking. In: Proceedings of the 15th Conference on Computer Aided Verification (CAV), volume 2725 of Lecture Notes in Computer Science, pp. 1–13. Springer, Berlin (2003)Google Scholar
  50. 50.
    McMillan, K.L.: An interpolating theorem prover. Theor. Comput. Sci. 345 (1), 101–121 (2005)CrossRefMathSciNetMATHGoogle Scholar
  51. 51.
    McMillan, K.L.: Quantified invariant generation using an interpolating saturation prover. In: Ramakrishnan, C.R., Rehof, J. (eds.) Proceedings of the 14th Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), volume 4963 of Lecture Notes in Computer Science, pp. 413–427. Springer, Berlin (2008)Google Scholar
  52. 52.
    McMillan, K.L.: Interpolants from Z3 proofs. In: Bjesse, P., Slobodova, A. (eds.) Proceedings of the 11th Conference on Formal Methods in Computer Aided Design (FMCAD). ACM and IEEE, New York (2011)Google Scholar
  53. 53.
    Moskał, M.: Fx7 or in software, it is all about quantifiers. System Descriptions at the Satisfiability Modulo Theories Competition (SMT-COMP). Available at http://research.microsoft.com/en-us/um/people/moskal/ (2007)
  54. 54.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)CrossRefMATHGoogle 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). JACM 53(6), 937–977 (2006)CrossRefMathSciNetGoogle Scholar
  56. 56.
    Rümmer, P., Hojjat, H., Kuncak, V.: Disjunctive interpolation for Horn clause verification. In: Sharygina, N., Veith, H. (eds.) Proceedings of the 25th Conference on Computer Aided Verification (CAV), volume 8044 of Lecture Notes in Computer Science, pp. 347–363. Springer, Berlin (2013)Google Scholar
  57. 57.
    Schulz, S.: System description: E 1.8. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) Proceedings of the 19th Conference on Logic, Programming and Automated Reasoning (LPAR), volume 8312 of Lecture Notes in Artificial Intelligence, pp. 735–743. Springer, Berlin (2013)Google Scholar
  58. 58.
    Shankar, N.: Automated deduction for verification. ACM Comput. Surv. 41(4), 40–96 (2009)CrossRefMathSciNetGoogle Scholar
  59. 59.
    Smullyan, R.M.: First-Order Logic. Dover Publications, New York (1995). First published by Springer in 1968Google Scholar
  60. 60.
    Weidenbach, C., Dimova, D., Fietzke, A., Kumar, R., Suda, M., Wischnewski, P.: SPASS version 3.5. In: Schmidt, R. (ed.) Proceedings of the 22nd Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Artificial Intelligence, pp. 140–145. Springer, Berlin (2009)Google Scholar
  61. 61.
    Weissenbacher, G.: Program Analysis with Interpolants. PhD thesis, Magdalen College, Oxford University (2010)Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2014

Authors and Affiliations

  1. 1.Dipartimento di InformaticaUniversità degli Studi di VeronaVeronaItaly
  2. 2.Department of Computer ScienceChalmers University of TechnologyGöteborgSweden

Personalised recommendations