Results 1 - 10
of
12
Efficient E-matching for SMT solvers
, 2007
"... Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrating theory reasoning. However, for numerous applications from program analysis and verification, the ground fragment is insufficient, as proof obligations often include quantifiers. A well ..."
Abstract
-
Cited by 28 (7 self)
- Add to MetaCart
Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrating theory reasoning. However, for numerous applications from program analysis and verification, the ground fragment is insufficient, as proof obligations often include quantifiers. A well known approach for quantifier reasoning uses a matching algorithm that works against an E-graph to instantiate quantified variables. This paper introduces algorithms that identify matches on E-graphs incrementally and efficiently. In particular, we introduce an index that works on E-graphs, called E-matching code trees that combine features of substitution and code trees, used in saturation based theorem provers. E-matching code trees allow performing matching against several patterns simultaneously. The code trees are combined with an additional index, called the inverted path index, which filters E-graph terms that may potentially match patterns when the E-graph is updated. Experimental results show substantial performance improvements over existing state-of-the-art SMT solvers.
Decidability and undecidability results for Nelson-Oppen and rewrite-based decision procedures
- In Proc. IJCAR-3, U. Furbach and
, 2006
"... Abstract. In the context of combinations of theories with disjoint signatures, we classify the component theories according to the decidability of constraint satisfiability problems in arbitrary and in infinite models, respectively. We exhibit a theory T1 such that satisfiability is decidable, but s ..."
Abstract
-
Cited by 16 (12 self)
- Add to MetaCart
Abstract. In the context of combinations of theories with disjoint signatures, we classify the component theories according to the decidability of constraint satisfiability problems in arbitrary and in infinite models, respectively. We exhibit a theory T1 such that satisfiability is decidable, but satisfiability in infinite models is undecidable. It follows that satisfiability in T1 ∪ T2 is undecidable, whenever T2 has only infinite models, even if signatures are disjoint and satisfiability in T2 is decidable. In the second part of the paper we strengthen the Nelson-Oppen decidability transfer result, by showing that it applies to theories over disjoint signatures, whose satisfiability problem, in either arbitrary or infinite models, is decidable. We show that this result covers decision procedures based on rewriting, complementing recent work on combination of theories in the rewrite-based approach to satisfiability. 1
Modular proof systems for partial functions with Evans equality
- Information and Computation
, 2006
"... The paper presents a modular superposition calculus for the combination of firstorder theories involving both total and partial functions. The modularity of the calculus is a consequence of the fact that all the inferences are pure – only involving clauses over the alphabet of either one, but not bo ..."
Abstract
-
Cited by 15 (10 self)
- Add to MetaCart
The paper presents a modular superposition calculus for the combination of firstorder theories involving both total and partial functions. The modularity of the calculus is a consequence of the fact that all the inferences are pure – only involving clauses over the alphabet of either one, but not both, of the theories – when refuting goals represented by sets of pure formulae. The calculus is shown to be complete provided that functions that are not in the intersection of the component signatures are declared as partial. This result also means that if the unsatisfiability of a goal modulo the combined theory does not depend on the totality of the functions in the extensions, the inconsistency will be effectively found. Moreover, we consider a constraint superposition calculus for the case of hierarchical theories and show that it has a related modularity property. Finally we identify cases where the partial models can always be made total so that modular superposition is also complete with respect to the standard (total function) semantics of the theories. 1
Decision Procedures for Extensions of the Theory of Arrays
- Annals of Mathematics and Artificial Intelligence
"... Abstract The theory of arrays, introduced by McCarthy in his seminal paper “Towards a mathematical science of computation”, is central to Computer Science. Unfortunately, the theory alone is not sufficient for many important verification applications such as program analysis. Motivated by this obser ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Abstract The theory of arrays, introduced by McCarthy in his seminal paper “Towards a mathematical science of computation”, is central to Computer Science. Unfortunately, the theory alone is not sufficient for many important verification applications such as program analysis. Motivated by this observation, we study extensions of the theory of arrays whose satisfiability problem (i.e. checking the satisfiability of conjunctions of ground literals) is decidable. In particular, we consider extensions where the indexes of arrays have the algebraic structure of Presburger Arithmetic and the theory of arrays is augmented with axioms characterizing additional symbols such as dimension, sortedness, or the domain of definition of arrays. We provide methods for integrating available decision procedures for the theory of arrays and Presburger Arithmetic with automatic instantiation strategies which allow us to reduce the satisfiability problem for the extension of the theory of arrays to that of the theories decided by the available procedures. Our approach aims to re-use as much as possible existing techniques so as to ease the implementation of the proposed methods. To this end, we show how to use model-theoretic, rewriting-based theorem proving
Rewrite-based satisfiability procedures for recursive data structures
- In Proc. 4th PDPAR Workshop, 4th FLoC
, 2006
"... The superposition calculus SP is an inference system for first-order logic with equality that has been used to devise decision procedures for several theories of data structures. These decision procedures are obtained by proving that any fair strategy based on SP terminates on any input that include ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
The superposition calculus SP is an inference system for first-order logic with equality that has been used to devise decision procedures for several theories of data structures. These decision procedures are obtained by proving that any fair strategy based on SP terminates on any input that includes the axioms of the theory and the ground literals to be tested. In this paper, we consider the class of theories defining recursive data structures, that might appear out of reach for this approach, because they are defined by an infinite set of axioms. We overcome this obstacle by designing a problem reduction that allows us to prove a general termination result for all these theories. 1
Hierarchical and modular reasoning in complex theories: The case of local theory extensions
- In Proc. 6th Int. Symp. Frontiers of Combining Systems (FroCos 2007), LNCS 4720
, 2007
"... Abstract. We present an overview of results on hierarchical and modular reasoning in complex theories. We show that for a special type of extensions of a base theory, which we call local, hierarchic reasoning is possible (i.e. proof tasks in the extension can be hierarchically reduced to proof tasks ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Abstract. We present an overview of results on hierarchical and modular reasoning in complex theories. We show that for a special type of extensions of a base theory, which we call local, hierarchic reasoning is possible (i.e. proof tasks in the extension can be hierarchically reduced to proof tasks w.r.t. the base theory). Many theories important for computer science or mathematics fall into this class (typical examples are theories of data structures, theories of free or monotone functions, but also functions occurring in mathematical analysis). In fact, it is often necessary to consider complex extensions, in which various types of functions or data structures need to be taken into account at the same time. We show how such local theory extensions can be identified and under which conditions locality is preserved when combining theories, and we investigate possibilities of efficient modular reasoning in such theory combinations. We present several examples of application domains where local theories and local theory extensions occur in a natural way. We show, in particular, that various phenomena analyzed in the verification literature can be explained in a unified way using the notion of locality. 1
Deciding extension of the theory of arrays by integrating decision procedures and instantiation strategies
- IN JELIA
, 2006
"... The theory of arrays, introduced by McCarthy in his seminal paper “Toward a mathematical science of computation”, is central to Computer Science. Unfortunately, the theory alone is not sufficient for many important verification applications such as program analysis. Motivated by this observation, ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The theory of arrays, introduced by McCarthy in his seminal paper “Toward a mathematical science of computation”, is central to Computer Science. Unfortunately, the theory alone is not sufficient for many important verification applications such as program analysis. Motivated by this observation, we study extensions of the theory of arrays whose satisfiability problem (i.e. checking the satisfiability of conjunctions of ground literals) is decidable. In particular, we consider extensions where the indexes of arrays has the algebraic structure of Presburger Arithmetic and the theory of arrays is augmented with axioms characterizing additional symbols such as dimension, sortedness, or the domain of definition of arrays. We provide methods for integrating available decision procedures for the theory of arrays and Presburger Arithmetic with automatic instantiation strategies which allow us to reduce the satisfiability problem for the extension of the theory of arrays to that of the theories decided by the available procedures. Our approach aims to reuse as much as possible existing techniques so to ease the implementation of the proposed methods. To this end, we show how to use both model-theoretic and rewriting-based theorem proving (i.e., superposition) techniques to implement the instantiation strategies of the various extensions.
Decision Procedures for the Formal Analysis of Software
"... Catching bugs in programs is difficult and time-consuming. The effort of debugging and proving correct even small units of code can surpass the effort of programming. Bugs inserted while “programming in the small ” can have dramatic consequences for the consistency of a whole software system as show ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Catching bugs in programs is difficult and time-consuming. The effort of debugging and proving correct even small units of code can surpass the effort of programming. Bugs inserted while “programming in the small ” can have dramatic consequences for the consistency of a whole software system as shown, e.g.,
T-decision by decomposition
"... Abstract. Much research concerning Satisfiability Modulo Theories is devoted to the design of efficient SMT-solvers that integrate a SATsolver with T-satisfiability procedures. The rewrite-based approach to T-satisfiability procedures is appealing, because it is general, uniform and it makes combina ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Much research concerning Satisfiability Modulo Theories is devoted to the design of efficient SMT-solvers that integrate a SATsolver with T-satisfiability procedures. The rewrite-based approach to T-satisfiability procedures is appealing, because it is general, uniform and it makes combination of theories simple. However, SAT-solvers are unparalleled in handling the large Boolean part of T-decision problems of practical interest. In this paper we present a decomposition framework that combines a rewrite-based theorem prover and an SMT solver in an off-line mode, in such a way that the prover “compiles the theory away, ” so to speak. Thus, we generalize the rewrite-based approach from T-satisfiability to T-decision procedures, making it possible to use the rewrite-based prover for theory reasoning and the SAT-solver in the SMT-solver for Boolean reasoning. We prove the practicality of this framework by giving decision procedures for the theories of records, integer offsets and arrays. 1

