Skip to main content
Log in

An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

Craig interpolation has become a versatile tool in formal verification, used for instance to generate program assertions that serve as candidates for loop invariants. In this paper, we consider Craig interpolation for quantifier-free Presburger arithmetic (QFPA). Until recently, quantifier elimination was the only available interpolation method for this theory, which is, however, known to be potentially costly and inflexible. We introduce an interpolation approach based on a sequent calculus for QFPA that determines interpolants by annotating the steps of an unsatisfiability proof with partial interpolants. We prove our calculus to be sound and complete. We have extended the Princess theorem prover to generate interpolating proofs, and applied it to a large number of publicly available Presburger arithmetic benchmarks. The results document the robustness and efficiency of our interpolation procedure. Finally, we compare the procedure against alternative interpolation methods, both for QFPA and linear rational arithmetic.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Beyer, D., Zufferey, D., Majumdar, R.: CSIsat: interpolation for LA+EUF. In: CAV. LNCS, vol. 5123, pp. 304–308. Springer (2008)

  2. Brillout, A.: Approximating and interpolating theories of arithmetic for software verification. Ph.D. thesis, ETH Zürich (2011)

  3. Brillout, A., Kroening, D., Rümmer, P., Wahl, T.: An interpolating sequent calculus for quantifier-free Presburger arithmetic. In: Proceedings, International Joint Conference on Automated Reasoning (IJCAR). LNCS, vol. 6173, pp. 384–399. Springer (2010)

  4. Bruttomesso, R., Pek, E., Sharygina, N., Tsitovich, A.: The OpenSMT solver. In: TACAS, LNCS, pp. 150–153. Springer (2010)

  5. Cimatti, A., Griggio, A., Sebastiani, R.: Interpolant generation for UTVPI. In: Schmidt, R.A. (ed.) CADE, LNCS, vol. 5663, pp. 167–182. Springer (2009)

  6. Craig, W.: Linear reasoning. A new form of the Herbrand–Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)

    Article  MATH  MathSciNet  Google Scholar 

  7. Dutertre, B., de Moura, L.: Integrating Simplex with DPLL(T). Tech. Rep. SRI-CSL-06-01, SRI International (2006)

  8. Fitting, M.C.: First-Order Logic and Automated Theorem Proving, 2nd edn. Springer (1996)

  9. Griggio, A., Le, T.T.H., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo linear integer arithmetic. In: TACAS, LNCS, vol. 6605, pp. 143–157. Springer (2011)

  10. Jain, H., Clarke, E., Grumberg, O.: Efficient interpolation for linear diophantine (dis)equations and linear modular equations. In: CAV, LNCS, pp. 254–267. Springer (2008)

  11. Kannan, R., Bachem, A.: Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix. SIAM J. Comput. 8(4), 499–507 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  12. Kapur, D., Majumdar, R., Zarba, C.G.: Interpolation for data structures. In: SIGSOFT ’06/FSE-14, pp. 105–116. ACM (2006)

  13. Kroening, D., Leroux, J., Rümmer, P.: Interpolating quantifier-free Presburger arithmetic. In: Proceedings, LPAR. LNCS, vol. 6397, pp. 489–503. Springer (2010)

  14. Lynch, C., Tang, Y.: Interpolants for linear arithmetic in SMT. In: ATVA. LNCS, pp. 156–170. Springer (2008)

  15. McMillan, K.L.: An interpolating theorem prover. Theor. Comp. Sci. 345(1), 101–121 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  16. McMillan, K.L.: Lazy abstraction with interpolants. In: Ball, T., Jones, R.B. (eds.) Computer Aided Verification (CAV). LNCS, vol. 4144, pp. 123–136. Springer (2006)

  17. Pugh, W.: The Omega test: a fast and practical integer programming algorithm for dependence analysis. Commun. ACM 8, 102–114 (1992)

    Article  Google Scholar 

  18. Rümmer, P.: A sequent calculus for integer arithmetic with counterexample generation. In: Verification Workshop (VERIFY). CEUR Workshop Proceedings, vol. 259 (2007)

  19. Rümmer, P.: Calculi for program incorrectness and arithmetic. Ph.D. thesis, University of Gothenburg (2008)

  20. Rümmer, P.: A constraint sequent calculus for first-order logic with linear integer arithmetic. In: Proceedings, LPAR. LNCS, vol. 5330, pp. 274–289. Springer (2008)

  21. Rybalchenko, A., Sofronie-Stokkermans, V.: Constraint solving for interpolation. In: Proceedings, VMCAI. LNCS, vol. 4349, pp. 346–362. Springer (2007)

  22. Schrijver, A.: Theory of Linear and Integer Programming. Wiley (1986)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philipp Rümmer.

Additional information

This paper is an extended version of a publication that appeared at IJCAR [3].

Supported by the Engineering and Physical Sciences Research Council (EPSRC) under grant no. EP/G026254/1, by the EU FP7 STREP MOGENTES, by the EU FP7 STREP PINCETTE, and by the EU ARTEMIS project CESAR.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brillout, A., Kroening, D., Rümmer, P. et al. An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic. J Autom Reasoning 47, 341–367 (2011). https://doi.org/10.1007/s10817-011-9237-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-011-9237-y

Keywords

Mathematics Subject Classification (2010)

Navigation