Adding Decision Procedures to SMT Solvers Using Axioms with Triggers

@article{Dross2015AddingDP,
  title={Adding Decision Procedures to SMT Solvers Using Axioms with Triggers},
  author={Claire Dross and Sylvain Conchon and Johannes Kanig and Andrei Paskevich},
  journal={Journal of Automated Reasoning},
  year={2015},
  volume={56},
  pages={387-457}
}
Satisfiability modulo theories (SMT) solvers are efficient tools to decide the satisfiability of ground formulas, including a number of built-in theories such as congruence, linear arithmetic, arrays, and bit-vectors. Adding a theory to that list requires delving into the implementation details of a given SMT solver, and is done mainly by the developers of the solver itself. For many useful theories, one can alternatively provide a first-order axiomatization. However, in the presence of… Expand
Conflicts, Models and Heuristics for Quantifier Instantiation in SMT
TLDR
An overview of recent advances in quantifier instantiation in SMT is given, including the well-known technique known as E-matching, and new instantiation-based techniques that are specialized to background theories such as linear real and integer arithmetic are mentioned. Expand
New techniques for instantiation and proof production in SMT solving. (Nouvelles techniques pour l'instanciation et la production des preuves dans SMT)
TLDR
This thesis introduces a decision procedure to solve the problem of E-ground (dis)unification, a variation of the classic rigid E-unification problem, and presents a uniform framework for reasoning with quantified formulas in SMT solvers, in which generally various instantiation techniques are employed. Expand
Variant-based satisfiability in initial algebras
TLDR
This work studies how folding variant narrowing, a generic unification algorithm that offers good extensibility in unification theory, can be extended to a generic variant-based satisfiability algorithm for the initial algebras of user-specified input theories when such theories satisfy Comon and Delaune's finite variant property (FVP) and some extra conditions. Expand
Integrating rewriting, tableau and superposition into SMT
TLDR
This PhD thesis presents ArchSAT, an automated theorem prover with formal proof outputs, which is used to study the integration of some first-order reasoning methods into SMT solvers to speed up reasoning on problems whose axioms can be turned into rewrite rules. Expand
Variant-Based Satisfiability in Initial Algebras
TLDR
This work studies how folding variant narrowing, a generic unification algorithm that offers good extensibility in unification theory, can be extended to a generic variant-based satisfiability algorithm for the initial algebras of its user-specified input theories when such theories satisfy Comon-Delaune’s finite variant property (FVP) and some extra conditions. Expand
Machine Learning for Instance Selection in SMT Solving
TLDR
It is proposed to use a state-of-the-art machine learning algorithm as a predictor over the generated set of instances to filter out irrelevant instances, and thus decrease the number of instances given to the ground solver. Expand
Instrumenting a weakest precondition calculus for counterexample generation
TLDR
This work exploits the ability of SMT solvers to propose, when a proof of a formula is not found, a counter-model to produce a counterexample, exhibiting values for the variables of the program where a given part of the specification fails to be validated. Expand
Variant-Based Decidable Satisfiability in Initial Algebras with Predicates
TLDR
A theory-generic satisfiability decision procedure, and a prototype implementation, extending variant-based satisfiability to initial algebras with user-definable predicates under fairly general conditions are presented. Expand
ESVERIFY: Verifying Dynamically-Typed Higher-Order Functional Programs by SMT Solving
TLDR
ESVERIFY, a program verifier for JavaScript based on SMT solving, supporting functional correctness properties comparable to languages with refinement and dependent function types, and a bounded quantifier instantiation algorithm that prevents matching loops and avoids ad-hoc instantiation heuristics. Expand
Metalevel algorithms for variant satisfiability
TLDR
A precise definition of several meta-level sub-algorithms needed for variant satisfiability checking is given; a reflective implementation of variant Satisfiability checking using these sub-Algorithms in Maude 2.7.1 is presented. Expand
...
1
2
...

References

SHOWING 1-10 OF 36 REFERENCES
Reasoning with Triggers
TLDR
This paper shows how to extend a generic SMT solver to accept a custom theory description and behave as a decision procedure for that theory, provided that the described theory is complete and terminating in a precise sense. Expand
Automating Separation Logic Using SMT
TLDR
This paper presents a reduction of decidable SL fragments to a decidable first-order theory that fits well into the satisfiability modulo theories (SMT) framework and shows how to use this reduction to automate satisfiability, entailment, frame inference, and abduction problems for separation logic using SMT solvers. Expand
Efficient E-Matching for SMT Solvers
TLDR
An index that works on E-graphs is introduced, called E-matching code treesthat combine features of substitution and code trees, used in saturation based theorem provers and shows substantial performance improvements over existing state-of-the-art SMT solvers. Expand
Sets with Cardinality Constraints in Satisfiability Modulo Theories
TLDR
This work extends the efficient SMT solver Z3 with the ability to reason about cardinality (QFBAPA) constraints and applies it to the verification of functional programs, showing it can automatically prove formulas that no automated approach was reported to be able to prove before. Expand
Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories
TLDR
This work presents several decidable fragments of first order logic modulo theories, and shows how to construct models for satisfiable formulas in these fragments. Expand
Solving Quantified Verification Conditions Using Satisfiability Modulo Theories
TLDR
This paper describes a methodology for reasoning about quantifiers in SMT systems and introduces the notion of instantiation level which provides an effective mechanism for prioritizing and managing the large search space inherent in quantifier instantiation techniques. Expand
Engineering Theories with Z3
TLDR
Different theories that extend Microsoft Research's SMT solver Z3's basic support are explored, some can be directly encoded or axiomatized, others make use of user theory plug-ins. Expand
Deciding Local Theory Extensions via E-matching
Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories of data types that commonly occur in software. This makes them important tools for automating verificationExpand
What's Decidable About Arrays?
TLDR
This work studies a decision procedure for satisfiability in an expressive fragment of a theory of arrays, which is parameterized by the theories of the array elements, and proves that satisfiability is undecidable for several natural extensions to the fragment. Expand
Automatic decidability and combinability
TLDR
This paper investigates how automated provers based on a form of equational reasoning, called paramodulation, can be used in verification tools and devise a procedure to answer the following questions. Expand
...
1
2
3
4
...