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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Andréka, H., van Benthem, J., Nemeti, I.: Modal logics and bounded fragments of predicate logic. J. Philos. Log. 27(3), 217–274 (1998)
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)
Baaz, M., Leitsch, A.: Methods of Cut-Elimination. Springer, Berlin (2011)
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)
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)
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)
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)
Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial \(\mathcal {T}\)-satisfiability procedures. J. Log. Comput. 18 (1), 77–96 (2008)
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)
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)
Bonacina, M.P., Johansson, M.: Interpolation of ground proofs: a survey. Submitted for publication. Available at http://profs.sci.univr.it/bonacina/ (2014)
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)
Bradley, A.R., Manna, Z.: The Calculus of Computation – Decision Procedures with Applications to Verification. Springer, Berlin (2007)
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)
Bruttomesso, R., Ghilardi, S., Ranise, S.: Quantifier-free interpolation in combinations of equality interpolating theories. ACM Trans. Comput. Log. 15(1), 2014
Chadha, R., Plaisted, D.A.: On the mechanical derivation of loop invariants. J. Symb. Comput. 15(5–6), 705–744 (1993)
Christ, J., Hoenicke, J.: Instantiation-based interpolation for quantified formulae. Notes of the 8th International Workshop on Satisfiability Modulo Theories (SMT) (2010)
Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theory. ACM Trans. Comput. Log. 12(1), 7 (2010)
Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)
Craig, W.: Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J. Symb. Log. 22(3), 269–285 (1957)
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)
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)
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)
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)
de Moura, L., Bjørner, N.: Satisfiability modulo theories: Introduction and applications. Comm. ACM 54(9), 69–77 (2011)
Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 535–610. Amsterdam, Elsevier (2001)
Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: A theorem prover for program checking. JACM 52(3), 365–473 (2005)
Dierkes, M.: Model Building for Sets of Guarded Clauses. PhD thesis, Institut National Polytechnique de Grenoble (2001)
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)
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)
Fietzke, A.: Labelled superposition. PhD thesis, Max Planck Institut für Informatik, Saabrücken (2013)
Fietzke, A., Weidenbach, C.: Superposition as a decision procedure for timed automata. Math. Comput Sci. 6(4), 409–425 (2012)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Kapur, D.: A quantifier-elimination based heuristic for automatically generating inductive assertions of programs. J. Syst. Sci. Complexity 19(3), 307–330 (2006)
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)
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)
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)
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)
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)
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)
McMillan, K.L.: An interpolating theorem prover. Theor. Comput. Sci. 345 (1), 101–121 (2005)
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)
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)
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)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)
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)
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)
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)
Shankar, N.: Automated deduction for verification. ACM Comput. Surv. 41(4), 40–96 (2009)
Smullyan, R.M.: First-Order Logic. Dover Publications, New York (1995). First published by Springer in 1968
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)
Weissenbacher, G.: Program Analysis with Interpolants. PhD thesis, Magdalen College, Oxford University (2010)
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-014-9314-0