Propositional Interpolation and Abstract Interpretation

  • Vijay D’Silva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6012)


Algorithms for computing Craig interpolants have several applications in program verification. Though different algorithms exist, the relationship between them and the properties of the interpolants they generate are not well understood. This paper is a study of interpolation algorithms for propositional resolution proofs. We show that existing interpolation algorithms are abstractions of a more general, parametrised algorithm. Further, existing algorithms reside in the coarsest abstraction that admits correct interpolation algorithms. The strength of interpolants constructed by existing interpolation algorithms and the variables they eliminate are analysed. The algorithms and their properties are formulated and analysed using abstract interpretation.


Inference Rule Closure Operator Complete Lattice Conjunctive Normal Form Interpolation Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Buss, S.R.: Propositional proof complexity: An introduction. In: Berger, U., Schwichtenberg, H. (eds.) Computational Logic. NATO ASI Series F: Computer and Systems Sciences, vol. 165, pp. 127–178. Springer, Heidelberg (1999)Google Scholar
  2. 2.
    Carbone, A.: Interpolants, cut elimination and flow graphs for the propositional calculus. Annals of Pure and Applied Logic 83(3), 249–299 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Cousot, P.: Abstract interpretation. MIT course 16.399 (February–May 2005)Google Scholar
  4. 4.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Principles of Programming Languages, pp. 238–252. ACM Press, New York (1977)Google Scholar
  5. 5.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Principles of Programming Languages, pp. 269–282. ACM Press, New York (1979)Google Scholar
  6. 6.
    Cousot, P., Cousot, R.: Abstract interpretation frameworks. Journal of Logic and Computation 2(4), 511–547 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Cousot, P., Cousot, R.: Inductive definitions, semantics and abstract interpretations. In: Principles of Programming Languages, pp. 83–94. ACM Press, New York (1992)Google Scholar
  8. 8.
    Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. Journal of Symbolic Logic 22(3), 250–268 (1957)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)zbMATHGoogle Scholar
  10. 10.
    D’Silva, V., Kroening, D., Purandare, M., Weissenbacher, G.: Interpolant strength. In: Barthe, G., Hermenegildo, M. (eds.) Verification, Model Checking and Abstract Interpretation. LNCS. Springer, Heidelberg (2010)Google Scholar
  11. 11.
    Esparza, J., Kiefer, S., Schwoon, S.: Abstraction refinement with Craig interpolation and symbolic pushdown systems. Journal on Satisfiability, Boolean Modeling and Computation 5, 27–56 (2008); Special Issue on Constraints to Formal VerificationMathSciNetGoogle Scholar
  12. 12.
    Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. Journal of the ACM 47(2), 361–416 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Gulwani, S., Musuvathi, M.: Cover algorithms and their combination. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 193–207. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Huang, G.: Constructing Craig interpolation formulas. In: Li, M., Du, D.-Z. (eds.) COCOON 1995. LNCS, vol. 959, pp. 181–190. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  15. 15.
    Kovács, L., Voronkov, A.: Interpolation and symbol elimination. In: Schmidt, R.A. (ed.) Automated Deduction – CADE-22. LNCS, vol. 5663, pp. 199–213. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Krajíček, J.: Interpolation theorems, lower bounds for proof systems, and independence results for bounded arithmetic. The Journal of Symbolic Logic 62(2), 457–486 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Maehara, S.: On the interpolation theorem of Craig (in Japanese). Sûgaku 12, 235–237 (1961)MathSciNetGoogle Scholar
  18. 18.
    Mancosu, P. (ed.): Interpolations. Essays in Honor of William Craig. Synthese, vol. 164(3). Springer, Heidelberg (2008)Google Scholar
  19. 19.
    McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)Google Scholar
  20. 20.
    Mundici, D.: Complexity of Craig’s interpolation. Fundamenta Informaticae 5, 261–278 (1982)zbMATHMathSciNetGoogle Scholar
  21. 21.
    Pudlák, P.: Lower bounds for resolution and cutting plane proofs and monotone computations. The Journal of Symbolic Logic 62(3), 981–998 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Ranzato, F., Tapparo, F.: Generalizing the Paige-Tarjan algorithm by abstract interpretation. Information and Computation 206(5), 620–651 (2008)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Simmonds, J., Davies, J., Gurfinkel, A., Chechik, M.: Exploiting resolution proofs to speed up LTL vacuity detection for BMC. In: Formal Methods in Computer-Aided Design, pp. 3–12. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  24. 24.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Vijay D’Silva
    • 1
  1. 1.Computing LaboratoryOxford University 

Personalised recommendations