Abstract
Interpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invariant generation and bounded model checking. A number of recent papers studies interpolation in various theories and also extraction of smaller interpolants from proofs. In particular, there are several algorithms for extracting of interpolants from so-called local proofs. The main contribution of this paper is a technique of minimising interpolants based on transformations of what we call the "grey area" of local proofs. Another contribution is a technique of transforming, under certain common conditions, arbitrary proofs into local ones.
Unlike many other interpolation techniques, our technique is very general and applies to arbitrary theories. Our approach is implemented in the theorem prover Vampire and evaluated on a large number of benchmarks coming from first-order theorem proving and bounded model checking using logic with equality, uninterpreted functions and linear integer arithmetic. Our experiments demonstrate the power of the new techniques: for example, it is not unusual that our proof transformation gives more than a tenfold reduction in the size of interpolants.
Supplemental Material
- L. Bachmair and H. Ganzinger. Resolution theorem proving. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, volume I, chapter 2, pages 19--99. Elsevier Science, 2001.Google Scholar
Cross Ref
- C. Barrett, A. Stump, and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org, 2010.Google Scholar
- D. Beyer, T. A. Henzinger, and G. Théoduloz. Lazy Shape Analysis. In Proc. of CAV, pages 532--546, 2006. Google Scholar
Digital Library
- A. Brillout, D. Kroening, P. Rümmer, and T. Wahl. An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic. In Proc. of IJCAR, pages 384--399, 2010. Google Scholar
Digital Library
- A. Brillout, D. Kroening, P. Rümmer, and T. Wahl. Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic. In Proc. of VMCAI, pages 88--102, 2011. Google Scholar
Digital Library
- A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, and M. Roveri. Kratos - A Software Model Checker for SystemC. In Proc. of CAV, pages 310--316, 2011. Google Scholar
Digital Library
- W. Craig. Three uses of the Herbrand-Gentzen Theorem in Relating Model Theory and Proof Theory. Journal of Symbolic Logic, 22(3):269--285, 1957.Google Scholar
Cross Ref
- L. de Moura and N. Bjorner. Z3: An Efficient SMT Solver. In Proc. of TACAS, pages 337--340, 2008. Google Scholar
Digital Library
- V. D'Silva, D. Kroening, M. Purandare, and G. Weissenbacher. Interpolant strength. In Proc. of VMCAI, pages 129--145, 2010. Google Scholar
Digital Library
- B. Dutertre and L. de Moura. A Fast Linear-Arithmetic Solver for DPLL(T). In Proc. of CAV, pages 81--94, 2006. Google Scholar
Digital Library
- A. Griggio, T. T. H. Le, and R. Sebastiani. Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic. In Proc. of TACAS, pages 143--157, 2011. Google Scholar
Digital Library
- T. A. Henzinger, R. Jhala, R. Majumdar, and K. L. McMillan. Abstractions from Proofs. In Proc. of POPL, pages 232--244, 2004. Google Scholar
Digital Library
- K. Hoder, L. Kovacs, and A. Voronkov. Interpolation and Symbol Elimination in Vampire. In Proc. of IJCAR, pages 188--195, 2010. Google Scholar
Digital Library
- R. Jhala and K. L. McMillan. A practical and complete approach to predicate refinement. In Proc. of TACAS, pages 459--473, 2006. Google Scholar
Digital Library
- R. Jhala and K. L. McMillan. Array Abstractions from Proofs. In Proc. of CAV, pages 193--206, 2007. Google Scholar
Digital Library
- R. Jhala and K. L. McMillan. Interpolant-Based Transition Relation Approximation. Logical Methods in Computer Science, 3(4), 2007.Google Scholar
- D. Kapur, R. Majumdar, and C. G. Zarba. Interpolation for Data Structures. In SIGSOFT FSE, pages 105--116, 2006. Google Scholar
Digital Library
- L. Kovacs and A. Voronkov. Interpolation and Symbol Elimination. In Proc. of CADE, pages 199--213, 2009. Google Scholar
Digital Library
- D. Kroening, J. Leroux, and P. Rümmer. Interpolating Quantifier-Free Presburger Arithmetic. In Proc. of LPAR-17, pages 489--503, 2010. Google Scholar
Digital Library
- K. L. McMillan. An Interpolating Theorem Prover. Theor. Comput. Sci., 345(1):101--121, 2005. Google Scholar
Digital Library
- K. L. McMillan. Quantified Invariant Generation Using an Interpolating Saturation Prover. In Proc. of TACAS, pages 413--427, 2008. Google Scholar
Digital Library
- R. Nieuwenhuis and A. Rubio. Paramodulation-based theorem proving. In Handbook of Automated Reasoning, volume I, chapter 7, pages 371--443. 2001.Google Scholar
Cross Ref
- A. Riazanov and A. Voronkov. Splitting without Backtracking. In Proc. of IJCAI, pages 611--617, 2001. Google Scholar
Digital Library
- A. Riazanov and A. Voronkov. The Design and Implementation of Vampire. AI Communications, 15(2--3):91--110, 2002. Google Scholar
Digital Library
- G. Sutcliffe. The TPTP Problem Library and Associated Infrastructure. J. Autom. Reasoning, 43(4):337--362, 2009. Google Scholar
Digital Library
Index Terms
Playing in the grey area of proofs
Recommendations
Playing in the grey area of proofs
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesInterpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invariant generation and bounded model checking. A number of recent papers ...
Uniform proofs and disjunctive logic programming
LICS '95: Proceedings of the 10th Annual IEEE Symposium on Logic in Computer ScienceOne formulation of the concept of logic programming is the notion of an abstract logic programming language. Central to its definition is a uniform proof, which enforces the requirements of inference direction, including goal-directedness, and the ...
More Church–Rosser Proofs
The proofs of the Church–Rosser theorems for β, η, and β ∪ η reduction in untyped λ-calculus are formalized in Isabelle/HOL, an implementation of Higher Order Logic in the generic theorem prover Isabelle. For β-reduction, both the standard proof and ...







Comments