Ground interpolation for the theory of equality (original) (raw)
Related papers
SMT 2007: 5th International Workshop on Satisfiability Modulo Theories
2007
Finding precise yet small abstractions automatically has been one of the biggest challenges in software verification. In this talk, I shall outline some recent work in generating abstractions automatically through the analysis of counterexample traces. Decision procedures play a fundamental role in this process, both to check whether a counterexample is genuine or spurious, and to generate abstract explanations in case the counterexample is spurious. Conversely, algorithms for counterexample analysis have influenced the interface exposed by a modern decision procedure: in addition to a ”yes/no” decision, the decision procedure must produce proofs of unsatisfiability and interpolants. Proof Procedures for Separated Heap Abstractions
Efficient Generation of Craig Interpolants in Satisfiability Modulo Theories
2010
The problem of computing Craig Interpolants has recently received a lot of interest. In this paper, we address the problem of efficient generation of interpolants for some important fragments of first order logic, which are amenable for effective decision procedures, called Satisfiability Modulo Theory solvers.
Proof Tree Preserving Sequence Interpolation of Quantified Formulas in the Theory of Equality
2021
Interpolation of SMT formulas is difficult, especially in the presence of quantifiers since quantifier instantiations introduce mixed terms, i.e., terms containing symbols that belong to different partitions of the input formula. Existing interpolation algorithms for quantified formulas require proof modifications or syntactical restrictions on the generated proof trees. We present a non-restrictive, proof tree preserving approach to compute inductive sequences of interpolants for quantified formulas in the theory of equality with uninterpreted functions using a single proof tree.
Playing in the grey area of proofs
ACM SIGPLAN Notices, 2012
Interpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invariant generation and bounded model checking. A number of recent papers studies interpolation in various theories and also extraction of smaller interpolants from proofs. In particular, there are several algorithms for extracting of interpolants from so-called local proofs. The main contribution of this paper is a technique of minimising interpolants based on transformations of what we call the "grey area" of local proofs. Another contribution is a technique of transforming, under certain common conditions, arbitrary proofs into local ones.
Flexible interpolation with local proof transformations
2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2010
Model checking based on Craig's interpolants ultimately relies on efficient engines, such as SMT-Solvers, to log proofs of unsatisfiability and to derive the desired interpolant by means of a set of algorithms known in literature. These algorithms, however, are designed for proofs that do not contain mixed predicates. In this paper we present a technique for transforming the propositional proof produced by an SMT-Solver in such a way that mixed predicates are eliminated. We show a number of cases in which mixed predicates arise as a consequence of state-of-the-art solving procedures (e.g. lemma on demand, theory combination, etc.). In such cases our technique can be applied to allow the reuse of known interpolation algorithms. We demonstrate with a set of experiments that our approach is viable.
Craig Interpolation and Proof Manipulation
viii Contents 1.3 Interpolation-Based Model Checking particular provided by [CLV13] in the context of hardware model checking. Research Contribution: Systematic Generation of Interpolants of Different Strength and Structure. We contribute to a theoretical formalization of a generic interpolation approach, by characterizing the notion of interpolants quality in terms of structure and logical strength. We identify a class of recursive interpolation procedures, and, based on that, we introduce a new parametric interpolation framework for arbitrary theories and inference systems, which is able to compute interpolants of different structure and strength, with or without quantifiers, from the same proof. The framework subsumes as special cases the interpolation systems of [KV09, Wei12], and consequently those of [McM03, Pud97, Kra97, Hua95, DKPW10]. The results of our work have been published in [KRS13] and are discussed in §3.5. Research Contribution: Impact of Interpolants Size and Strength in Model Checking. We put into practice our theoretical framework to address the key problem of generating effective interpolants in verification, by examining the impact of size and logical strength in the context of software SAT-based bounded model checking. Two case studies are taken into account, namely two bounded model checking applications which use interpolation to generate function summaries: (i) verification of a C program incrementally with respect to a number of different properties [SFS11], and (ii) incremental verification of different versions of a C program with respect to a fixed set of properties [SFS12b]. The PeRIPLO framework (one of the contributions of this thesis, see §1.4) is integrated with the model checkers FunFrog [SFS12a] and eVolCheck [FSS13], which respectively implement (i) and (ii), to drive interpolation by manipulating the the proofs from which the interpolants are computed and by generating interpolants of different strength. We provide solid experimental evidence that compact interpolants improve the verification performance in the two applications. We also carry out a first systematic evaluation of the impact of strength in a specific verification domain, showing that different applications can benefit from interpolants of different strength: specifically, stronger and weaker interpolants are respectively desirable in (i) and (ii). The results of our work have been published in [RAF + 13] and are discussed in §3.6. 1.3.2 Interpolation Properties in Model Checking In many verification tasks, a single interpolant, i.e., a single subdivision of constraints into two groups A and B, is not sufficient. For example, in the context of Research Contribution: Formal Analysis of Interpolation Properties. We identify and uniformly present the most common properties imposed on interpolation by existing verification approaches; we systematically analyze the relationships among the properties and show that they form a hierarchy. In doing so, we generalize the traditional setting consisting of a single interpolation system to allow for families of interpolation systems, thus giving the flexibility to choose different systems for computing different interpolants in a collection. The generality of these results stems from the fact that they are independent of the particular system adopted to generate the interpolants. The results of our work have been published in [GRS13] and are discussed in Chapter 4. Research Contribution: Interpolation Properties and Interpolant Strength. Besides studying interpolation properties from a higher perspective, we examine the relationships among them in concrete interpolation systems, building on the work of [DKPW10]. The propositional labeled interpolation systems of [DKPW10] are a suitable choice for an investigation of interpolant strength, since they consist of a parametric framework which allows to systematically generate interpolants of different strength from the same proof. We formally prove both sufficient and necessary conditions for a family of labeled interpolation systems and for a single system to enjoy each interpolation property. These results allow for the systematic study of how interpolants strength affects state-of-the-art model checking techniques, while preserving their soundness. The results of our work have been published in [RSS12, GRS13] and are discussed in Chapter 4. Research Contribution: Proof Manipulation to Enable Interpolation in SMT. The solution we provide is to rewrite the proof of unsatisfiability in such a way that mixed predicates are "absorbed" within existing theory lemmata. The benefit is the possibility of applying off-the-shelf techniques for solving A ∧ B, and, consequently, after the proof is transformed, the methods of [YM05, CGS10] for computing interpolants: in this way, interpolation becomes flexible and modular, being
Interpolation Properties and SAT-Based Model Checking
Lecture Notes in Computer Science, 2013
Craig interpolation is a widespread method in verification, with important applications such as Predicate Abstraction, CounterExample Guided Abstraction Refinement and Lazy Abstraction With Interpolants. Most state-of-the-art model checking techniques based on interpolation require collections of interpolants to satisfy particular properties, to which we refer as "collectives"; they do not hold in general for all interpolation systems and have to be established for each particular system and verification environment. Nevertheless, no systematic approach exists that correlates the individual interpolation systems and compares the necessary collectives. This paper proposes a uniform framework, which encompasses (and generalizes) the most common collectives exploited in verification. We use it for a systematic study of the collectives and of the constraints they pose on propositional interpolation systems used in SAT-based model checking.
An equality theorem prover based on grammar rewriting
1996
ABSTRACT We present the implementation of a term rewriting procedure based on congruence closure. The procedure can be used with arbitrary equational theories. It uses context free grammars to represent equivalence classes of terms. This representation is motivated by the need to handle equational theories where confluence cannot be achieved under traditional term rewriting. Context free grammars provide concise representation of arbitrary-sized equivalence classes of terms.
Validity checking for combinations of theories with equality
Formal Methods In Computer-Aided Design, 1996
An essential component in many veri cation methods is a fast decision procedure for validating logical expressions. This paper presents the algorithm used in the Stanford Validity Checker (SVC) which has been used to aid several realistic hardware veri cation efforts. The logic for this decision procedure includes Boolean and uninterpreted functions and linear arithmetic. We have also successfully incorporated other interpreted functions, such as array operations and linear inequalities. The primary techniques which allow a complete and e cient implementation are expression sharing, heuristic rewriting, and congruence closure with interpreted functions. We discuss these techniques and present the results of initial experiments in which SVC is used as a decision procedure in PVS, resulting in dramatic speed-ups.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2005
The rewriting approach to T -satisfiability is based on establishing termination of a rewrite-based inference system for first-order logic on the T -satisfiability problem. Extending previous such results, including the quantifier-free theory of equality and the theory of arrays with or without extensionality, we prove termination for the theories of records with or without extensionality, integer offsets and integer offsets modulo. A general theorem for termination on combinations of theories, that covers any combination of the theories above, is given next. For empirical evaluation, the rewrite-based theorem prover E is compared with the validity checkers CVC and CVC Lite, on both synthetic and realworld benchmarks, including both valid and invalid instances. Parametric synthetic benchmarks test scalability, while real-world benchmarks test ability to handle huge sets of literals. Contrary to the folklore that a general-purpose prover cannot compete with specialized reasoners, the experiments are overall favorable to the theorem prover, showing that the rewriting approach is both elegant and practical. Research supported in part by MIUR grant no. 2003-097383. B. Gramlich (Ed.): FroCoS 2005, LNAI 3717, pp. 65-80, 2005. c Springer-Verlag Berlin Heidelberg 2005 66 A. Armando et al.