skip to main content
research-article

Playing in the grey area of proofs

Published:25 January 2012Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

popl_4b_1.mp4

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. C. Barrett, A. Stump, and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org, 2010.Google ScholarGoogle Scholar
  3. D. Beyer, T. A. Henzinger, and G. Théoduloz. Lazy Shape Analysis. In Proc. of CAV, pages 532--546, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. L. de Moura and N. Bjorner. Z3: An Efficient SMT Solver. In Proc. of TACAS, pages 337--340, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. D'Silva, D. Kroening, M. Purandare, and G. Weissenbacher. Interpolant strength. In Proc. of VMCAI, pages 129--145, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Dutertre and L. de Moura. A Fast Linear-Arithmetic Solver for DPLL(T). In Proc. of CAV, pages 81--94, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. A. Henzinger, R. Jhala, R. Majumdar, and K. L. McMillan. Abstractions from Proofs. In Proc. of POPL, pages 232--244, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Hoder, L. Kovacs, and A. Voronkov. Interpolation and Symbol Elimination in Vampire. In Proc. of IJCAR, pages 188--195, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Jhala and K. L. McMillan. A practical and complete approach to predicate refinement. In Proc. of TACAS, pages 459--473, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Jhala and K. L. McMillan. Array Abstractions from Proofs. In Proc. of CAV, pages 193--206, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Jhala and K. L. McMillan. Interpolant-Based Transition Relation Approximation. Logical Methods in Computer Science, 3(4), 2007.Google ScholarGoogle Scholar
  17. D. Kapur, R. Majumdar, and C. G. Zarba. Interpolation for Data Structures. In SIGSOFT FSE, pages 105--116, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. Kovacs and A. Voronkov. Interpolation and Symbol Elimination. In Proc. of CADE, pages 199--213, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Kroening, J. Leroux, and P. Rümmer. Interpolating Quantifier-Free Presburger Arithmetic. In Proc. of LPAR-17, pages 489--503, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. K. L. McMillan. An Interpolating Theorem Prover. Theor. Comput. Sci., 345(1):101--121, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. K. L. McMillan. Quantified Invariant Generation Using an Interpolating Saturation Prover. In Proc. of TACAS, pages 413--427, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Nieuwenhuis and A. Rubio. Paramodulation-based theorem proving. In Handbook of Automated Reasoning, volume I, chapter 7, pages 371--443. 2001.Google ScholarGoogle ScholarCross RefCross Ref
  23. A. Riazanov and A. Voronkov. Splitting without Backtracking. In Proc. of IJCAI, pages 611--617, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Riazanov and A. Voronkov. The Design and Implementation of Vampire. AI Communications, 15(2--3):91--110, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Sutcliffe. The TPTP Problem Library and Associated Infrastructure. J. Autom. Reasoning, 43(4):337--362, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Playing in the grey area of proofs

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 47, Issue 1
                POPL '12
                January 2012
                569 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/2103621
                Issue’s Table of Contents
                • cover image ACM Conferences
                  POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                  January 2012
                  602 pages
                  ISBN:9781450310833
                  DOI:10.1145/2103656

                Copyright © 2012 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 25 January 2012

                Check for updates

                Qualifiers

                • research-article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!