Complete instantiation-based interpolation
Nishant Totla,Thomas Wies +1 more
- 23 Jan 2013
- Vol. 48, Iss: 1, pp 537-548
TL;DR: This paper presents a generic framework to build new interpolation procedures via reduction to existing interpolations procedures and identifies a model-theoretic criterion that allows it to detect the cases where the technique is complete.
read more
Abstract: Craig interpolation has been a valuable tool for formal methods with interesting applications in program analysis and verification. Modern SMT solvers implement interpolation procedures for the theories that are most commonly used in these applications. However, many application-specific theories remain unsupported, which limits the class of problems to which interpolation-based techniques apply. In this paper, we present a generic framework to build new interpolation procedures via reduction to existing interpolation procedures. We consider the case where an application-specific theory can be formalized as an extension of a base theory with additional symbols and axioms. Our technique uses finite instantiation of the extension axioms to reduce an interpolation problem in the theory extension to one in the base theory. We identify a model-theoretic criterion that allows us to detect the cases where our technique is complete. We discuss specific theories that are relevant in program verification and that satisfy this criterion. In particular, we obtain complete interpolation procedures for theories of arrays and linked lists. The latter is the first complete interpolation procedure for a theory that supports reasoning about complex shape properties of heap-allocated data structures. We have implemented this procedure in a prototype on top of existing SMT solvers and used it to automatically infer loop invariants of list-manipulating programs.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Table 1. Summary of experiments. The columns list the benchmark name, the number of loop unrollings in the error trace, the number of generated partial models forA, the number of generated instances of extension axioms, and the total computation time. 
Figure 1. C code for in-place reversal of a linked list. The graph depicts a reachable program state at the entry point of the while loop in function reverse. 
Figure 8. C code for concatenation of two lists. The second while loop checks whether y is reachable from x after the concatenation. The right-hand side shows the trace formula for an infeasible error trace that is obtained by unfolding both while loops twice. 
Figure 9. Instantiation-based interpolation procedure with userdefined abstraction of partial models. 
Figure 2. Spurious error trace of function reverse and its encoding as a trace formula 
Figure 5. Restrictions on the interpretation of extension symbols in a heap model M
Citations
•Journal Article
Interpolation and SAT-based model checking
TL;DR: In benchmark studies using a set of large industrial circuit verification instances, this method is greatly more efficient than BDD-based symbolic model checking, and compares favorably to some recent SAT-based model checking methods on positive instances.
775
Automating Separation Logic with Trees and Data
Ruzica Piskac,Thomas Wies,Damien Zufferey +2 more
- 18 Jul 2014
TL;DR: A fragment of classical first-order logic for local reasoning about tree-like data structures is presented and implemented and integrated into an SL-based verification tool, successfully used to verify functional correctness of tree-based data structure implementations.
GRASShopper: Complete heap verification with mixed specifications
Ruzica Piskac,Thomas Wies,Damien Zufferey +2 more
- 01 Jan 2014
TL;DR: GRASShopper, a tool for compositional verification of heap-manipulating programs against user-provided specifications, is presented with its decidable specification language, which supports mixing of assertions expressed in separation logic and first-order logic.
Complete Instantiation-Based Interpolation
Nishant Totla,Thomas Wies +1 more
TL;DR: This paper presents a generic framework to build new interpolation procedures via a reduction to existing interpolations procedures, and identifies a model-theoretic criterion that allows it to detect the cases where the technique is complete.
Complexity verification using guided theorem enumeration
Akhilesh Srikanth,Burak Sahin,William R. Harris +2 more
- 01 Jan 2017
TL;DR: An automatic verification algorithm, CAMPY, that determines if a given program P satisfies a given resource bound B, which may be expressed using polynomial, exponential, and logarithmic terms, is introduced.
28
References
Z3: an efficient SMT solver
Leonardo de Moura,Nikolaj Bjørner +1 more
- 29 Mar 2008
TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
8.2K
The SMT-LIB Standard Version 2.0
Clark Barrett,Aaron Stump,Cesare Tinelli +2 more
- 01 Jan 2010
TL;DR: This paper introduces Version 2 of the SMT-LIB Standard, a major upgrade of the previous Version 1.2 which, in addition to simplifying and extending the languages of that version, includes a new command language for interfacing with SMT solvers.
Interpolation and SAT-Based Model Checking
Kenneth L. McMillan
- 08 Jul 2003
TL;DR: In this article, a fully SAT-based method of unbounded symbolic model checking based on computing Craig interpolants was proposed, which is greatly more efficient than BDD-based symbolic model-checking.
•Journal Article
Interpolation and SAT-based model checking
TL;DR: In benchmark studies using a set of large industrial circuit verification instances, this method is greatly more efficient than BDD-based symbolic model checking, and compares favorably to some recent SAT-based model checking methods on positive instances.
775
Three Uses of the Herbrand-Gentzen Theorem in Relating Model Theory and Proof Theory
TL;DR: The Herbrand-Gentzen Theorem will be applied to generalize Beth's results from primitive predicate symbols to arbitrary formulas and terms, showing that the expressive power of each first-order system is rounded out, or the system is functionally complete.
674
Related Papers (5)
Leonardo de Moura,Nikolaj Bjørner +1 more
- 29 Mar 2008
Kenneth L. McMillan
- 08 Jul 2003
Laura Kovács,Andrei Voronkov +1 more
- 26 Jul 2009