An interpolating sequent calculus for quantifier-free Presburger arithmetic

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 eliminati...

Popoln opis

Bibliografske podrobnosti
Main Authors: Brillout, A, Kroening, D, Rümmer, P, al., E
Format: Journal article
Izdano: Springer 2011
_version_ 1826256487664582656
author Brillout, A
Kroening, D
Rümmer, P
al., E
author_facet Brillout, A
Kroening, D
Rümmer, P
al., E
author_sort Brillout, A
collection OXFORD
description 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.
first_indexed 2024-03-06T18:03:00Z
format Journal article
id oxford-uuid:0076e3c3-c779-45fe-95e0-1f390f573e1a
institution University of Oxford
last_indexed 2024-03-06T18:03:00Z
publishDate 2011
publisher Springer
record_format dspace
spelling oxford-uuid:0076e3c3-c779-45fe-95e0-1f390f573e1a2022-03-26T08:29:39ZAn interpolating sequent calculus for quantifier-free Presburger arithmeticJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:0076e3c3-c779-45fe-95e0-1f390f573e1aSymplectic Elements at OxfordSpringer2011Brillout, AKroening, DRümmer, Pal., ECraig 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.
spellingShingle Brillout, A
Kroening, D
Rümmer, P
al., E
An interpolating sequent calculus for quantifier-free Presburger arithmetic
title An interpolating sequent calculus for quantifier-free Presburger arithmetic
title_full An interpolating sequent calculus for quantifier-free Presburger arithmetic
title_fullStr An interpolating sequent calculus for quantifier-free Presburger arithmetic
title_full_unstemmed An interpolating sequent calculus for quantifier-free Presburger arithmetic
title_short An interpolating sequent calculus for quantifier-free Presburger arithmetic
title_sort interpolating sequent calculus for quantifier free presburger arithmetic
work_keys_str_mv AT brillouta aninterpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT kroeningd aninterpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT rummerp aninterpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT ale aninterpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT brillouta interpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT kroeningd interpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT rummerp interpolatingsequentcalculusforquantifierfreepresburgerarithmetic
AT ale interpolatingsequentcalculusforquantifierfreepresburgerarithmetic