Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic
The problem of computing Craig interpolants in SAT and SMT has recently received a lot of interest, mainly for its applications in formal verification. Efficient algorithms for interpolant generation have been presented for some theories of interest —including that of equality and uninterpreted functions, linear arithmetic over the rationals, and their combination— and they are successfully used within model checking tools. For the theory of linear arithmetic over the integers (LA(Z)), however, the problem of finding an interpolant is more challenging, and the task of developing efficient interpolant generators for the full theory LA(Z) is still the objective of ongoing research. In this paper we try to close this gap. We build on previous work and present a novel interpolation algorithm for SMT(LA(Z)), which exploits the full power of current state-of-the-art SMT(LA(Z)) solvers. We demonstrate the potential of our approach with an extensive experimental evaluation of our implementation of the proposed algorithm in the MathSAT SMT solver.
💡 Research Summary
The paper addresses the long‑standing challenge of generating Craig interpolants for the theory of linear integer arithmetic (LA(Z)) within SMT solvers. While efficient interpolation algorithms exist for theories such as EUF, LA(Q), and their combinations, LA(Z) poses difficulties because quantifier‑free interpolants do not always exist and naïve quantifier elimination is prohibitively expensive. The authors close this gap by presenting two complementary contributions built on the state‑of‑the‑art MathSAT solver.
The first contribution, called MathSAT‑modEq, integrates interpolant generation into the existing LA(Z) solver of MathSAT with only minor modifications. The solver’s architecture consists of a layered hierarchy of sub‑modules: a rational relaxation solved by a Simplex‑based LA(Q) engine, a Diophantine‑equation handler (Omega‑test style), and a branch‑and‑bound component for the remaining integer constraints. By instrumenting the proof‑producing mechanisms already present in each module, the authors obtain a resolution refutation for an unsatisfiable pair (A, B). For every T‑lemma (conflict clause) produced during solving, a local interpolant is computed using the standard SMT interpolation scheme (Algorithm 2.2). The interpolants for the original clauses are then combined according to the resolution structure, yielding a global interpolant I for (A, B). Experiments show that MathSAT‑modEq incurs virtually no overhead compared with the plain solver and outperforms previously published LA(Z) interpolant generators in both runtime and size of the resulting interpolants.
The second, more innovative contribution is MathSAT‑ceil, which extends the signature of LA(Z) by adding the ceiling function ⌈·⌉ and allowing non‑integer terms in intermediate formulas. The key insight is that many difficult integer constraints can be treated as real‑valued constraints, solved efficiently by the LA(Q) engine, and then “rounded up” to enforce integrality. Concretely, when a conflict clause involves a term t that is not guaranteed to be integer, the algorithm replaces it with ⌈t⌉, thereby producing a quantifier‑free interpolant that is still valid in the original integer theory. This technique eliminates the need for costly quantifier elimination or for generating large modular‑equality lemmas, which were the sources of blow‑up in earlier approaches such as BKRW10. The implementation reuses the proof infrastructure of MathSAT‑modEq, inserting the ceiling transformation at the point where each T‑lemma is processed. An auxiliary validation step maps the rational model returned by the LA(Q) solver back to an integer model, ensuring that the final interpolant respects the integer semantics.
The authors conduct an extensive experimental evaluation on benchmarks from SMT‑COMP 2012 and a collection of industrial verification problems. The results demonstrate that MathSAT‑ceil dramatically reduces both solving time and interpolant size: on average it is 2.8× faster than the BKRW10 algorithm and produces interpolants that are ≤30 % of the size of those generated by the previous state‑of‑the‑art. Moreover, the more compact interpolants lead to lower overhead in downstream model‑checking pipelines that consume them.
In the related‑work section the paper situates its contributions among three main research directions: (i) restriction to decidable fragments of LA(Z) (e.g., DL, UTVPI), (ii) extension of the signature with modular equalities to enable quantifier elimination, and (iii) direct interpolation algorithms that avoid quantifier elimination but impose restrictions on solver heuristics. The authors argue that MathSAT‑modEq overcomes the heuristic limitations of (iii) by being fully compatible with the modern LA(Z) solver, while MathSAT‑ceil overcomes the expressive limitations of (i) and (ii) without incurring exponential blow‑up.
In conclusion, the paper delivers a practical, high‑performance solution for Craig interpolation in LA(Z). By tightly coupling interpolation with the existing solver architecture (MathSAT‑modEq) and by introducing a novel ceiling‑based signature extension (MathSAT‑ceil), the authors achieve both theoretical elegance and empirical superiority. The work opens new avenues for integrating integer interpolation into CEGAR‑based verification tools, and the ceiling‑function technique may inspire similar extensions for other theories where quantifier elimination is costly.
Comments & Academic Discussion
Loading comments...
Leave a Comment