Results 1 
7 of
7
Decision procedures for algebraic data types with abstractions
 IN 37TH ACM SIGACTSIGPLAN SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES (POPL), 2010. DECISION PROCEDURES FOR ORDERED COLLECTIONS 15 SHE75. SAHARON SHELAH. THE MONADIC THEORY OF ORDER. THA ANNALS OF MATHEMATICS OF MATHEMATICS
, 2010
"... We describe a family of decision procedures that extend the decision procedure for quantifierfree constraints on recursive algebraic data types (term algebras) to support recursive abstraction functions. Our abstraction functions are catamorphisms (term algebra homomorphisms) mapping algebraic data ..."
Abstract

Cited by 23 (11 self)
 Add to MetaCart
We describe a family of decision procedures that extend the decision procedure for quantifierfree constraints on recursive algebraic data types (term algebras) to support recursive abstraction functions. Our abstraction functions are catamorphisms (term algebra homomorphisms) mapping algebraic data type values into values in other decidable theories (e.g. sets, multisets, lists, integers, booleans). Each instance of our decision procedure family is sound; we identify a widely applicable manytoone condition on abstraction functions that implies the completeness. Complete instances of our decision procedure include the following correctness statements: 1) a functional data structure implementation satisfies a recursively specified invariant, 2) such data structure conforms to a contract given in terms of sets, multisets, lists, sizes, or heights, 3) a transformation of a formula (or lambda term) abstract syntax tree changes the set of free variables in the specified way.
veriT: an open, trustable and efficient SMTsolver
 Proc. Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Computer Science
, 2009
"... Abstract. This article describes the first public version of the satisfiability modulo theory (SMT) solver veriT. It is opensource, proofproducing, and complete for quantifierfree formulas with uninterpreted functions and difference logic on real numbers and integers. 1 ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Abstract. This article describes the first public version of the satisfiability modulo theory (SMT) solver veriT. It is opensource, proofproducing, and complete for quantifierfree formulas with uninterpreted functions and difference logic on real numbers and integers. 1
On Combining Theories with Shared Set Operations
"... Abstract. We explore the problem of automated reasoning about the nondisjoint combination of theories that share set variables and operations. We prove a combination theorem and apply it to show the decidability of the satisfiability problem for a class of formulas obtained by applying propositional ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
Abstract. We explore the problem of automated reasoning about the nondisjoint combination of theories that share set variables and operations. We prove a combination theorem and apply it to show the decidability of the satisfiability problem for a class of formulas obtained by applying propositional operations to quantified formulas belonging to several expressive decidable logics. 1
Combinations of theories for decidable fragments of firstorder logic
"... Abstract. The design of decision procedures for firstorder theories and their combinations has been a very active research subject for thirty years; it has gained practical importance through the development of SMT (satisfiability modulo theories) solvers. Most results concentrate on combining deci ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Abstract. The design of decision procedures for firstorder theories and their combinations has been a very active research subject for thirty years; it has gained practical importance through the development of SMT (satisfiability modulo theories) solvers. Most results concentrate on combining decision procedures for data structures such as theories for arrays, bitvectors, fragments of arithmetic, and uninterpreted functions. In particular, the wellknown NelsonOppen scheme for the combination of decision procedures requires the signatures to be disjoint and each theory to be stably infinite; every satisfiable set of literals in a stably infinite theory has an infinite model. In this paper we consider some of the bestknown decidable fragments of firstorder logic with equality, including the Löwenheim class (monadic FOL with equality, but without functions), BernaysSchönfinkelRamsey theories (finite sets of formulas of the form ∃ ∗ ∀ ∗ ϕ, where ϕ is a functionfree and quantifierfree FOL formula), and the twovariable fragment of FOL. In general, these are not stably infinite, and the NelsonOppen scheme cannot be used to integrate them into SMT solvers. Noticing some elementary results about the cardinalities of the models of these theories, we show that they can nevertheless be combined with almost any other decidable theory. 1
Deciding Effectively Propositional Logic with Equality
, 2008
"... Effectively Propositional Logic (EPR), also known as the BernaysSchönfinkel class, allows encoding problems that are propositional in nature, but EPR encodings can be exponentially more succinct than purely propositional logic encodings. We recently developed a DPLLbased decision procedure that bu ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Effectively Propositional Logic (EPR), also known as the BernaysSchönfinkel class, allows encoding problems that are propositional in nature, but EPR encodings can be exponentially more succinct than purely propositional logic encodings. We recently developed a DPLLbased decision procedure that builds on top of efficient SAT solving techniques to handle the propositional case efficiently while maintaining the succinctness offered by the EPR representation. To achieve the effect, it uses sets of substitutions encoded as binary decision diagrams [5]. It is possible to reduce EPR formulas with equality to pure EPR, but the reduction requires adding axioms for equality and congruence. This approach potentially increases the search space and could defeat the efficiency we are aiming to achieve. We here provide a calculus and decision procedure that handles equality natively. The procedure builds in equality propagation, and allows reducing dependencies on equalities during conflict resolution.
Noncyclic sorts for firstorder satisfiability
"... Abstract. In this paper we investigate the finite satisfiability problem for firstorder logic. We show that the finite satisfiability problem can be represented as a sequence of satisfiability problems in a fragment of manysorted logic, which we call the noncyclic fragment. The noncyclic fragment ..."
Abstract
 Add to MetaCart
Abstract. In this paper we investigate the finite satisfiability problem for firstorder logic. We show that the finite satisfiability problem can be represented as a sequence of satisfiability problems in a fragment of manysorted logic, which we call the noncyclic fragment. The noncyclic fragment can be seen as a generalisation of the effectively propositional fragment (EPR) in the manysorted setting. We show that the noncyclic fragment is decidable by instantiationbased methods and present a linear time algorithm for checking whether a given clause set is in this fragment. One of the distinctive features of our finite satisfiability translation is that it avoids unnecessary flattening of terms, which can be crucial for efficiency. We implemented our finite model finding translation in iProver and evaluated it over the TPTP library. Using our translation it was possible solve a large class of problems which could not be solved by other systems. 1
Result Certification of Static Program Analysers with Automated Theorem Provers ∗
"... Abstract. The automation of the deductive approach to program verification crucially depends on the ability to efficiently infer and discharge program invariants. In an ideal world, userprovided invariants would be strengthened by incorporating the result of static analysers as untrusted annotation ..."
Abstract
 Add to MetaCart
Abstract. The automation of the deductive approach to program verification crucially depends on the ability to efficiently infer and discharge program invariants. In an ideal world, userprovided invariants would be strengthened by incorporating the result of static analysers as untrusted annotations and discharged by automated theorem provers. However, the results of objectoriented analyses are heavily quantified and cannot be discharged, within reasonable time limits, by stateoftheart automated theorem provers. In the present work, we investigate an original approach for verifying automatically and efficiently the result of certain classes of objectoriented static analyses using offtheshelf automated theorem provers. We propose to generate verification conditions that are generic enough to capture, not a single, but a family of analyses which encompasses Java bytecode verification and Fähndrich and Leino typesystem for checking null pointers. For those analyses, we show how to generate tractable verification conditions that are still quantified but fall in a decidable logic fragment that is reducible to the Effectively Propositional logic. Our experiments confirm that such verification conditions are efficiently discharged by offtheshelf automated theorem provers. 1