Interpolation and the Array Property Fragment

04/25/2019
by   Jochen Hoenicke, et al.
0

Interpolation based software model checkers have been successfully employed to automatically prove programs correct. Their power comes from interpolating SMT solvers that check the feasibility of potential counterexamples and compute candidate invariants, otherwise. This approach works well for quantifier-free theories, like equality theory or linear arithmetic. For quantified formulas, there are SMT solvers that can decide expressive fragments of quantified formulas, e. g., EPR, the array property fragment, and the finite almost uninterpreted fragment. However, these solvers do not support interpolation. It is already known that in general EPR does not allow for interpolation. In this paper, we show the same result for the array property fragment.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/19/2023

Choose your Colour: Tree Interpolation for Quantified Formulas in SMT

We present a generic tree-interpolation algorithm in the SMT context wit...
research
05/24/2019

Towards Bit-Width-Independent Proofs in SMT Solvers

Many SMT solvers implement efficient SAT-based procedures for solving fi...
research
06/01/2021

Quantifiers on Demand

Automated program verification is a difficult problem. It is undecidable...
research
02/15/2018

Model Generation for Quantified Formulas: A Taint-Based Approach

We focus in this paper on generating models of quantified first-order fo...
research
04/25/2022

General Interpolation and Strong Amalgamation for Contiguous Arrays

Interpolation is an essential tool in software verification, where first...
research
02/14/2018

Craig Interpolation and Access Interpolation with Clausal First-Order Tableaux

We show methods to extract Craig-Lyndon interpolants and access interpol...
research
08/08/2020

Craig Interpolation with Clausal First-Order Tableaux

We develop foundations for computing Craig-Lyndon interpolants of two gi...

Please sign up or login with your details

Forgot password? Click here to reset