Abstract
Interpolation means finding intermediate formulae between given formulae. When formulae decorate program locations, and describe sets of program states, interpolation may enable a program analyzer to discover information about intermediate locations and states. This mechanism has an increasing number of applications, that are relevant to program analysis and synthesis. We study interpolation in theorem proving decision procedures based on the DPLL(\({\cal T}\)) paradigm. We survey interpolation systems for DPLL, equality sharing and DPLL(\({\cal T}\)), reconstructing from the literature their completeness proofs, and clarifying the requirements for interpolation in the presence of equality.
Research supported in part by MIUR grant no. 2007-9E5KM8 and EU COST Action IC0901.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bonacina, M.P.: On theorem proving for program checking – Historical perspective and recent developments. In: Fernandez, M. (ed.) Proc. of the 12th Int. Symp. on Principles and Practice of Declarative Programming, pp. 1–11. ACM Press, New York (2010)
Bonacina, M.P., Dershowitz, N.: Abstract canonical inference. ACM Trans. on Computational Logic 8(1), 180–208 (2007)
Bonacina, M.P., Johansson, M.: On theorem proving with interpolation for program checking. In: Technical report, Dipartimento di Informatica. Università degli Studi di Verona (April 2011)
Bonacina, M.P., Lynch, C.A., de Moura, L.: On deciding satisfiability by theorem proving with speculative inferences. Journal of Automated Reasoning, 1–29 (in press); (Published online December 22, 2010) doi:10.1007/s10817-010-9213-y
Bradley, A.R., Manna, Z. (eds.): The Calculus of Computation – Decision Procedures with Applications to Verification. Springer, Heidelberg (2007)
Brillout, A., Kroening, D., Rümmer, P., Wahl, T.: An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 384–399. Springer, Heidelberg (2010)
Brillout, A., Kroening, D., Rümmer, P., Wahl, T.: Program verification via Craig interpolation for Presburger arithmetic with arrays. Notes of the 6th Int. Verification Workshop (2010), http://www.philipp.ruemmer.org/
Bruttomesso, R., Ghilardi, S., Ranise, S.: Rewriting-based quantifier-free interpolation for a theory of arrays. In: Proc. of the 22nd Int. Conf. on Rewriting Techniques and Applications, LIPICS. Leibniz-Zentrum für Informatik, Dagsthul Publishing (2011)
Bruttomesso, R., Rollini, S., Sharygina, N., Tsitovich, A.: Flexible interpolation generation in satisfiability modulo theories. In: Proc. of the 14th Int. Conf. on Computer-Aided Design, pp. 770–777. IEEE Computer Society Press, Los Alamitos (2010)
Chadha, R., Plaisted, D.A.: On the mechanical derivation of loop invariants. Journal of Symbolic Computation 15(5-6), 705–744 (1993)
Cimatti, A., Griggio, A., Sebastiani, R.: Efficient Interpolant Generation in Satisfiability Modulo Theories. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 397–412. Springer, Heidelberg (2008)
Cimatti, A., Griggio, A., Sebastiani, R.: Interpolant Generation for UTVPI. In: Schmidt, R. (ed.) CADE-22. LNCS (LNAI), vol. 5663, pp. 167–182. Springer, Heidelberg (2009)
de Moura, L., Bjørner, N.: Model-based theory combination. In: Krstić, S., Oliveras, A. (eds.) CAV 2007. ENTCS, vol. 198(2), pp. 37–49. Elsevier, Amsterdam (2008)
D’Silva, V.: Propositional Interpolation and Abstract Interpretation. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 185–204. Springer, Heidelberg (2010)
D’Silva, V., Kroening, D., Purandare, M., Weissenbacher, G.: Interpolant Strength. In: Barthe, G., Hermenegildo, M. (eds.) VMCAI 2010. LNCS, vol. 5944, pp. 129–145. Springer, Heidelberg (2010)
Fuchs, A., Goel, A., Grundy, J., Krstić, S., Tinelli, C.: Ground Interpolation for the Theory of Equality. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 413–427. Springer, Heidelberg (2009)
Goel, A., Krstić, S., Tinelli, C.: Ground Interpolation for Combined Theories. In: Schmidt, R. (ed.) CADE-22. LNCS, vol. 5663, pp. 183–198. Springer, Heidelberg (2009)
Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: Leroy, X. (ed.) Proc. of the 31st ACM SIGACT-SIGPLAN Symp. on Principles of Programming Languages, pp. 232–244. ACM Press, New York (2004)
Hoder, K., Kovács, L., Voronkov, A.: Interpolation and Symbol Elimination in Vampire. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS (LNAI), vol. 6173, pp. 188–195. Springer, Heidelberg (2010)
Huang, G.: Constructing Craig interpolation formulas. In: Proc. of the 1st Annual Int. Conf. on Computing and Combinatorics, pp. 181–190. Springer, Heidelberg (1995)
Kapur, D., Majumdar, R., Zarba, C.G.: Interpolation for data structures. In: Devambu, P. (ed.) Proc. of the 14th ACM SIGSOFT Symp. on the Foundations of Software Engineering, ACM Press, New York (2006)
Kovács, L., Voronkov, A.: Finding loop invariants for programs over arrays using a theorem prover. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 470–485. Springer, Heidelberg (2009)
Kovács, L., Voronkov, A.: Interpolation and Symbol Elimination. In: Schmidt, R. (ed.) CADE-22. LNCS (LNAI), vol. 5663, pp. 199–213. Springer, Heidelberg (2009)
Krajíček, J.: Interpolation theorems, lower bounds for proof systems, and independence results for bounded arithmetic. Journal of Symbolic Logic 62(2), 457–486 (1997)
McMillan, K.L.: Interpolation and SAT-Based Model Checking. In: Hunt, W.J., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)
McMillan, K.L.: An interpolating theorem prover. Theoretical Computer Science 345(1), 101–121 (2005)
McMillan, K.L.: Quantified Invariant Generation Using an Interpolating Saturation Prover. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 413–427. Springer, Heidelberg (2008)
McMillan, K.L.: Lazy Annotation for Program Testing and Verification. In: Cook, B., Jackson, P., Touili, T. (eds.) CAV 2010. LNCS, vol. 6174, pp. 104–118. Springer, Heidelberg (2010)
Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the ACM 27(2), 356–364 (1980)
Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). Journal of the ACM 53(6), 937–977 (2006)
Pudlàk, P.: Lower bounds for resolution and cutting plane proofs and monotone computations. Journal of Symbolic Logic 62(3), 981–998 (1997)
Sebastiani, R.: Lazy satisfiability modulo theory. Journal on Satisfiability, Boolean Modelling and Computation 3, 141–224 (2006)
Shankar, N.: Automated deduction for verification. ACM Computing Surveys 41(4), 40–96 (2009)
Yorsh, G., Musuvathi, M.: A Combination Method for Generating Interpolants. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 353–368. Springer, Heidelberg (2005); Early version in MSR-TR-2004-108 (October 2004)
Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: Proc. of the Conf. on Design Automation and Test in Europe, pp. 10880–10885. IEEE Computer Society Press, Los Alamitos (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bonacina, M.P., Johansson, M. (2011). On Interpolation in Decision Procedures. In: Brünnler, K., Metcalfe, G. (eds) Automated Reasoning with Analytic Tableaux and Related Methods. TABLEAUX 2011. Lecture Notes in Computer Science(), vol 6793. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22119-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-22119-4_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22118-7
Online ISBN: 978-3-642-22119-4
eBook Packages: Computer ScienceComputer Science (R0)