Interpolant Generation for UTVPI

  • Authors:
  • Alessandro Cimatti;Alberto Griggio;Roberto Sebastiani

  • Affiliations:
  • FBK-Irst, Trento, Italy;DISI, Università di Trento, Italy;DISI, Università di Trento, Italy

  • Venue:
  • CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of computing Craig interpolants in 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 ($\mathcal{EUF}$), linear arithmetic over the rationals ($\mathcal{LA}(\mathbb{Q})$), and some fragments of linear arithmetic over the integers ($\mathcal{LA}(\mathbb{Z})$)--- and they are successfully used within model checking tools. In this paper we address the problem of computing interpolants in the theory of Unit-Two-Variable-Per-Inequality ($\mathcal{UTVPI}$). This theory is a very useful fragment of $\mathcal{LA}(\mathbb{Z})$, since it is expressive enough to encode many hardware and software verification queries while still admitting a polynomial time decision procedure. We present an efficient graph-based algorithm for interpolant generation in $\mathcal{UTVPI}$, which exploits the power of modern SMT techniques. We have implemented our new algorithm within the MathSAT SMT solver. Our experimental evaluation demonstrates both the efficiency and the usefulness of the new algorithm.