Results 1  10
of
10
Lazy Satisfiability Modulo Theories
 JOURNAL ON SATISFIABILITY, BOOLEAN MODELING AND COMPUTATION 3 (2007) 141Â224
, 2007
"... Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingl ..."
Abstract

Cited by 181 (47 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in formal verification. An amount of papers with novel and very efficient techniques for SMT has been published in the last years, and some very efficient SMT tools are now available. Typical SMT (T) problems require testing the satisfiability of formulas which are Boolean combinations of atomic propositions and atomic expressions in T, so that heavy Boolean reasoning must be efficiently combined with expressive theoryspecific reasoning. The dominating approach to SMT (T), called lazy approach, is based on the integration of a SAT solver and of a decision procedure able to handle sets of atomic constraints in T (Tsolver), handling respectively the Boolean and the theoryspecific components of reasoning. Unfortunately, neither the problem of building an efficient SMT solver, nor even that
Proofs and Refutations, and Z3
"... Z3 [3] is a stateoftheart Satisfiability Modulo Theories (SMT) solver freely available from Microsoft Research. It solves the decision problem for quantifierfree formulas with respect to combinations of theories, such as arithmetic, bitvectors, arrays, and uninterpreted functions. Z3 is used in ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
Z3 [3] is a stateoftheart Satisfiability Modulo Theories (SMT) solver freely available from Microsoft Research. It solves the decision problem for quantifierfree formulas with respect to combinations of theories, such as arithmetic, bitvectors, arrays, and uninterpreted functions. Z3 is used in various software analysis and testcase generation projects at Microsoft Research and elsewhere. The requirements from the userbase range from establishing validity, dually unsatisfiability, of firstorder formulas; to identify invalid, dually satisfiable, formulas. In both cases, there is often a need for more than just a yes/no answer from the prover. A model can exhibit why an invalid formula is not provable, and a proofobject can certify the validity of a formula. This paper describes the proofproducing internals of Z3. We also briefly introduce the modelproducing facilities. We emphasize two features that can be of general interest: (1) we introduce a notion of implicit quotation to avoid introducing auxiliary variables, it simplifies the creation of proof objects considerably; (2) we produce natural deduction style proofs to facilitate modular proof reconstruction.
Comparing Proof Systems for Linear Real Arithmetic with LFSC ∗
"... LFSC is a highlevel declarative language for defining proof systems and proof objects for virtually any logic. One of its distinguishing features is its support for computational side conditions on proof rules. Side conditions facilitate the design of proof systems that reflect closely the sort of ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
LFSC is a highlevel declarative language for defining proof systems and proof objects for virtually any logic. One of its distinguishing features is its support for computational side conditions on proof rules. Side conditions facilitate the design of proof systems that reflect closely the sort of highperformance inferences made by SMT solvers. This paper investigates the issue of balancing declarative and computational inference in LFSC focusing on (quantifierfree) Linear Real Arithmetic. We discuss a few alternative proof systems for LRA and report on our comparative experimental results on generating and checking proofs in them. 1
Proofs in Satisfiability Modulo Theories
"... Satisfiability Modulo Theories (SMT) solvers4 check the satisfiability of firstorder formulas written in a language containing interpreted predicates and functions. These interpreted symbols are defined either by firstorder axioms (e.g. the axioms of equality, or array axioms for operators read a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT) solvers4 check the satisfiability of firstorder formulas written in a language containing interpreted predicates and functions. These interpreted symbols are defined either by firstorder axioms (e.g. the axioms of equality, or array axioms for operators read and write,...) or by a
An Efficient and Trustworthy Theory Solver for Bitvectors in Satisfiability Modulo Theories
, 2015
"... iii ..."
(Show Context)
The Combined KEAPPA IWIL Workshops Proceedings Proceedings of the workshops Knowledge Exchange: Automated Provers and Proof Assistants
"... Existing automated provers and proof assistants are complementary, to the point that their cooperative integration would benefit all efforts in automating reasoning. Indeed, a number of specialized tools incorporating such integration have been built. The issue is, however, wider, as we can envisage ..."
Abstract
 Add to MetaCart
(Show Context)
Existing automated provers and proof assistants are complementary, to the point that their cooperative integration would benefit all efforts in automating reasoning. Indeed, a number of specialized tools incorporating such integration have been built. The issue is, however, wider, as we can envisage cooperation among various automated provers as well as among various proof assistants. This workshop brings together practitioners and researchers who have experimented with knowledge exchange among tools supporting automated reasoning. Organizers: Piotr Rudnicki, Geoff Sutcliffe
Form Methods Syst Des DOI 10.1007/s1070301201633 SMT proof checking using a logical framework
"... Abstract Producing and checking proofs from SMT solvers is currently the most feasible method for achieving high confidence in the correctness of solver results. The diversity of solvers and relative complexity of SMT over, say, SAT means that flexibility, as well as performance, is a critical chara ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Producing and checking proofs from SMT solvers is currently the most feasible method for achieving high confidence in the correctness of solver results. The diversity of solvers and relative complexity of SMT over, say, SAT means that flexibility, as well as performance, is a critical characteristic of a proofchecking solution for SMT. This paper describes such a solution, based on a Logical Framework with Side Conditions (LFSC). We describe the framework and show how it can be applied for flexible proof production and checking for two different SMT solvers, CLSAT and CVC3. We also report empirical results showing good performance relative to solver execution time.
From Declarative to Computational Proof Checking for LRA
"... Abstract. In this work, we investigate various proof systems for quantifierfree Linear Real Arithmetic, focusing on the continuum between declarative and computational styles of proof checking. We use LFSC, a highlevel declarative language for defining proof systems and proof objects for virtual ..."
Abstract
 Add to MetaCart
Abstract. In this work, we investigate various proof systems for quantifierfree Linear Real Arithmetic, focusing on the continuum between declarative and computational styles of proof checking. We use LFSC, a highlevel declarative language for defining proof systems and proof objects for virtually any logic. One of the distinguishing features of LFSC is its support for computational side conditions on proof rules. Side conditions facilitate the design of proof systems that reflect closely the sort of highperformance inferences made by SMT solvers. We propose a proof translation for LRA that exploits the continuum between declarative and computational proof checking, and report on our comparative experimental results on generating and checking proofs using alternative strategies. 1
Finegrained SMT proofs for the theory of fixedwidth bitvectors?
"... Abstract. Many highlevel verification tools rely on SMT solvers to efficiently discharge complex verification conditions. Some applications require more than just a yes/no answer from the solver. For satisfiable quantifierfree problems, a satisfying assignment is a natural artifact. In the unsatis ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Many highlevel verification tools rely on SMT solvers to efficiently discharge complex verification conditions. Some applications require more than just a yes/no answer from the solver. For satisfiable quantifierfree problems, a satisfying assignment is a natural artifact. In the unsatisfiable case, an externally checkable proof can serve as a certificate of correctness and can be mined to gain additional insight into the problem. We present a method of encoding and checking SMTgenerated proofs for the quantifierfree theory of fixedwidth bitvectors. Proof generation and checking for this theory poses several challenges, especially for proofs based on reductions to propositional logic. Such reductions can result in large resolution subproofs in addition to requiring a proof that the reduction itself is correct. We describe a finegrained proof system formalized in the LFSC framework that addresses some of these challenges with the use of computational sideconditions. We report results using a proofproducing version of the CVC4 SMT solver on unsatisfiable quantifierfree bitvector benchmarks from the SMTLIB benchmark library. 1
Noname manuscript No. (will be inserted by the editor) SMT Proof Checking Using a Logical Framework
"... Abstract Producing and checking proofs from SMT solvers is currently the most feasible method for achieving high confidence in the correctness of solver results. The diversity of solvers and relative complexity of SMT over, say, SAT means that flexibility, as well as performance, is a critical chara ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Producing and checking proofs from SMT solvers is currently the most feasible method for achieving high confidence in the correctness of solver results. The diversity of solvers and relative complexity of SMT over, say, SAT means that flexibility, as well as performance, is a critical characteristic of a proofchecking solution for SMT. This paper describes such a solution, based on a Logical Framework with Side Conditions (LFSC). We describe the framework and show how it can be applied for flexible proof production and checking for two different SMT solvers, clsat and cvc3. We also report empirical results showing good performance relative to solver execution time.