Skip to main content
Log in

On Interpolation in Automated Theorem Proving

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

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.

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.

Institutional subscriptions

Similar content being viewed by others

References

  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)

    Article  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. Baaz, M., Leitsch, A.: Methods of Cut-Elimination. Springer, Berlin (2011)

    MATH  Google Scholar 

  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)

  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)

  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)

  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)

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

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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. 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)

    Article  MathSciNet  MATH  Google Scholar 

  14. Bradley, A.R., Manna, Z.: The Calculus of Computation – Decision Procedures with Applications to Verification. Springer, Berlin (2007)

    MATH  Google Scholar 

  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)

  16. Bruttomesso, R., Ghilardi, S., Ranise, S.: Quantifier-free interpolation in combinations of equality interpolating theories. ACM Trans. Comput. Log. 15(1), 2014

  17. Chadha, R., Plaisted, D.A.: On the mechanical derivation of loop invariants. J. Symb. Comput. 15(5–6), 705–744 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  18. Christ, J., Hoenicke, J.: Instantiation-based interpolation for quantified formulae. Notes of the 8th International Workshop on Satisfiability Modulo Theories (SMT) (2010)

  19. Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theory. ACM Trans. Comput. Log. 12(1), 7 (2010)

    Article  MathSciNet  Google Scholar 

  20. Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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)

  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)

  26. de Moura, L., Bjørner, N.: Satisfiability modulo theories: Introduction and applications. Comm. ACM 54(9), 69–77 (2011)

    Article  Google Scholar 

  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)

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

    Article  MathSciNet  Google Scholar 

  29. Dierkes, M.: Model Building for Sets of Guarded Clauses. PhD thesis, Institut National Polytechnique de Grenoble (2001)

  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)

  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)

  32. Fietzke, A.: Labelled superposition. PhD thesis, Max Planck Institut für Informatik, Saabrücken (2013)

  33. Fietzke, A., Weidenbach, C.: Superposition as a decision procedure for timed automata. Math. Comput Sci. 6(4), 409–425 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  43. Kapur, D.: A quantifier-elimination based heuristic for automatically generating inductive assertions of programs. J. Syst. Sci. Complexity 19(3), 307–330 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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)

  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)

  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)

  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)

  50. McMillan, K.L.: An interpolating theorem prover. Theor. Comput. Sci. 345 (1), 101–121 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  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)

  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)

  58. Shankar, N.: Automated deduction for verification. ACM Comput. Surv. 41(4), 40–96 (2009)

    Article  MathSciNet  Google Scholar 

  59. Smullyan, R.M.: First-Order Logic. Dover Publications, New York (1995). First published by Springer in 1968

    Google Scholar 

  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)

  61. Weissenbacher, G.: Program Analysis with Interpolants. PhD thesis, Magdalen College, Oxford University (2010)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maria Paola Bonacina.

Additional information

Research supported in part by grant no. 2007-9E5KM8 of the Ministero dell’Istruzione Università e Ricerca, Italy, and by COST Action IC0901 Rich-model Toolkit of the European Union.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bonacina, M.P., Johansson, M. On Interpolation in Automated Theorem Proving. J Autom Reasoning 54, 69–97 (2015). https://doi.org/10.1007/s10817-014-9314-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-014-9314-0

Keywords

Navigation