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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Beyer, D., Zufferey, D., Majumdar, R.: CSIsat: interpolation for LA+EUF. In: CAV. LNCS, vol. 5123, pp. 304–308. Springer (2008)
Brillout, A.: Approximating and interpolating theories of arithmetic for software verification. Ph.D. thesis, ETH Zürich (2011)
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)
Bruttomesso, R., Pek, E., Sharygina, N., Tsitovich, A.: The OpenSMT solver. In: TACAS, LNCS, pp. 150–153. Springer (2010)
Cimatti, A., Griggio, A., Sebastiani, R.: Interpolant generation for UTVPI. In: Schmidt, R.A. (ed.) CADE, LNCS, vol. 5663, pp. 167–182. Springer (2009)
Craig, W.: Linear reasoning. A new form of the Herbrand–Gentzen theorem. J. Symb. Log. 22(3), 250–268 (1957)
Dutertre, B., de Moura, L.: Integrating Simplex with DPLL(T). Tech. Rep. SRI-CSL-06-01, SRI International (2006)
Fitting, M.C.: First-Order Logic and Automated Theorem Proving, 2nd edn. Springer (1996)
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)
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)
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)
Kapur, D., Majumdar, R., Zarba, C.G.: Interpolation for data structures. In: SIGSOFT ’06/FSE-14, pp. 105–116. ACM (2006)
Kroening, D., Leroux, J., Rümmer, P.: Interpolating quantifier-free Presburger arithmetic. In: Proceedings, LPAR. LNCS, vol. 6397, pp. 489–503. Springer (2010)
Lynch, C., Tang, Y.: Interpolants for linear arithmetic in SMT. In: ATVA. LNCS, pp. 156–170. Springer (2008)
McMillan, K.L.: An interpolating theorem prover. Theor. Comp. Sci. 345(1), 101–121 (2005)
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)
Pugh, W.: The Omega test: a fast and practical integer programming algorithm for dependence analysis. Commun. ACM 8, 102–114 (1992)
Rümmer, P.: A sequent calculus for integer arithmetic with counterexample generation. In: Verification Workshop (VERIFY). CEUR Workshop Proceedings, vol. 259 (2007)
Rümmer, P.: Calculi for program incorrectness and arithmetic. Ph.D. thesis, University of Gothenburg (2008)
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)
Rybalchenko, A., Sofronie-Stokkermans, V.: Constraint solving for interpolation. In: Proceedings, VMCAI. LNCS, vol. 4349, pp. 346–362. Springer (2007)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley (1986)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-011-9237-y