2018
DOI: 10.1007/978-3-319-94205-6_36
|View full text |Cite
|
Sign up to set email alerts
|

Efficient Interpolation for the Theory of Arrays

Abstract: Existing techniques for Craig interpolation for the quantifierfree fragment of the theory of arrays are inefficient for computing sequence and tree interpolants: the solver needs to run for every partitioning (A, B) of the interpolation problem to avoid creating AB-mixed terms. We present a new approach using Proof Tree Preserving Interpolation and an array solver based on Weak Equivalence on Arrays. We give an interpolation algorithm for the lemmas produced by the array solver. The computed interpolants have … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3

Citation Types

0
16
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 17 publications
(16 citation statements)
references
References 33 publications
0
16
0
Order By: Relevance
“…By itself, the theory of arrays with extensionality does not have quantifier free interpolation [28] 5 ; however, in [8] it was shown that quantifier-free interpolation is restored if one enriches the language with a binary function skolemizing the extensionality axiom (the result was confirmed -via different interpolation algorithms -in [23,37]). Such a Skolem function, applied to two array variables a, b, returns an index diff(a, b) where a, b differ (it returns an arbitrary value if a is equal to b).…”
Section: Introductionmentioning
confidence: 99%
“…By itself, the theory of arrays with extensionality does not have quantifier free interpolation [28] 5 ; however, in [8] it was shown that quantifier-free interpolation is restored if one enriches the language with a binary function skolemizing the extensionality axiom (the result was confirmed -via different interpolation algorithms -in [23,37]). Such a Skolem function, applied to two array variables a, b, returns an index diff(a, b) where a, b differ (it returns an arbitrary value if a is equal to b).…”
Section: Introductionmentioning
confidence: 99%
“…Craig interpolation is a commonly used technique to infer invariants or contracts in verification. Over the last 15 years, efficient interpolation techniques have been developed for a variety of logics and theories, including propositional logic [1,2], uninterpreted functions [1,3,4], first-order logic [5][6][7], algebraic data-types [8,9], linear real arithmetic [1], non-linear real arithmetic [10], Presburger arithmetic [4,11,12], and arrays [13][14][15].…”
Section: Introductionmentioning
confidence: 99%
“…Craig interpolation is a commonly used technique to infer invariants or contracts in verification. Over the last 15 years, efficient interpolation techniques have been developed for a variety of logics and theories, including propositional logic [1], [2], uninterpreted functions [1], [3], [4], first-order logic [5], [6], [7], algebraic data-types [8], linear real arithmetic [1], non-linear real arithmetic [9], Presburger arithmetic [10], [4], [11], and arrays [12], [13], [14].…”
Section: Introductionmentioning
confidence: 99%