SAT Modulo Monotonic Theories

  title={SAT Modulo Monotonic Theories},
  author={Sam Bayless and Noah Bayless and Holger H. Hoos and Alan J. Hu},
Boolean satisfiability (SAT) solvers have been successfully applied to a wide variety of difficult combinatorial problems. Many further problems can be solved by SAT Modulo Theory (SMT) solvers, which extend SAT solvers to handle additional types of constraints. However, building efficient SMT solvers is often very difficult. In this paper, we define the concept of a Boolean monotonic theory and show how to easily build efficient SMT solvers, including effective theory propagation and… 

Figures and Tables from this paper

Understanding and Enhancing CDCL-based SAT Solvers

A new system that integrates SAT solving with computer algebra systems (CAS) to address representation issues for several graph-theoretic problems and develops a formula generator that takes as input a seed formula, and creates a sequence of increasingly more mergeable formulas, while maintaining many of the properties of the original formula.

FourierSAT: A Fourier Expansion-Based Algebraic Framework for Solving Hybrid Boolean Constraints

FourierSAT is designed, an incomplete SAT solver based on Fourier analysis of Boolean functions, a technique to represent Boolean functions by multilinear polynomials, and is proposed an algebraic framework for solving systems consisting of different types of constraints.

Combining SAT Solvers with Computer Algebra Systems to Verify Combinatorial Conjectures

This paper presents a method and an associated system, called MathCheck, that embeds the functionality of a computer algebra system (CAS) within the inner loop of a conflict-driven clause-learning SAT solver, and leverages the capabilities of several different CAS, namely the SAGE, Maple, and Magma systems.

SAT-to-SAT: Declarative Extension of SAT Solvers with New Propagators

A novel approach in logic programming that allows logical specification of both the problem itself and its propagators and automatic incorporation of such propagators into the solving process and shows that it outperforms the existing approach that only allows modeling a problem but does not allow modeling the reasoning methods for that problem.

SMT Solving for the Theory of Ordering Constraints

This paper proposes a new approach for checking satisfiability modulo ordering constraints based on the DPLLT framework, and presents the experimental results compared with state-of-the-art SMT solvers on both benchmarks and instances of real symbolic constraints.

Solving QBF Instances with Nested SAT Solvers

A new approach towards solving quantified Boolean formulas (QBFs) using nested SAT solvers with lazy clause generation, implemented on top of the Glucose solver by adding mechanisms for nesting solvers as well as clause learning.

Answer Set Programming modulo

The performance results show that native support for acyclicity constraints is a worthwhile addition, furnishing a complementary modeling construct in ASP itself as well as effective means for translation-based ASP solving.

SAT-Based ATL Satisfiability Checking

This paper puts forward a novel method for deciding the satisfiability of formulae of Alternating-time Temporal Logic (ATL), and expands on one for CTL exploit ing SAT Modulo Monotonic Theories solvers.

Answer Set Programming Modulo Acyclicity

The implementation, obtained as an extension to the state-of-the-art answer set solver clasp, provides a unique combination of traditional unfounded set checking with acyclicity propagation and offers a rich set of primitives to express constraints related with recursive structures.



Satisfiability Modulo Theories: An Appetizer

Satisfiability Modulo Theories is about checking the satisfiability of logical formulas over one or more theories, which combines the problem of Boolean satisfiability with domains, such as those studied in convex optimization and term-manipulating symbolic systems.

Answer Set Programming as SAT modulo Acyclicity

A linear embedding of logic programs is devised and the performance of answer set computation with SAT modulo acyclicity solvers is studied.

Minimal Sets over Monotone Predicates in Boolean Formulae

All computational problems related with Boolean formulas can be viewed as computing a minimal set subject to a monotone predicate, i.e. the MSMP problem, and a new algorithm is developed, that is asymptotically optimal, for this problem.

SAT Modulo Graphs: Acyclicity

This work designs a constraint propagator for the acyclicity constraint and shows how it can be incorporated in off-the-shelf SAT solvers, and proposes an embedding of directed graphs in SAT, with arcs labelled with propositional variables, and an extended SAT problem in which all clauses have to be satisfied.

Z3: An Efficient SMT Solver

Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.

ASP with Applications to Mazes and Levels

This chapter discusses how to use ASP for generating different types of mazes, using generation of dungeons as a running example.

Property-directed incremental invariant generation

This work describes a general method of generating invariants that is incremental and property-directed, and provides evidence that the method scales to checking safety properties of some large finite-state systems.

clasp : A Conflict-Driven Answer Set Solver

The conflict-driven answer set solver clasp is described, which is based on concepts from constraint processing (CSP) and satisfiability checking (SAT) and provides a systematic empirical evaluation of its features.

An Incremental Algorithm for a Generalization of the Shortest-Path Problem

An efficient incremental algorithm for the single-source shortest-path problem with positive edge lengths is obtained and is able to handle “multiple heterogeneous modifications”: between updates, the input graph is allowed to be restructured by an arbitrary mixture of edge insertions, edge deletions, and edge-length changes.

A linear-time algorithm for a special case of disjoint set union

A linear-time algorithm for the special case of the disjoint set union problem in which the structure of the unions (defined by a “union tree”) is known in advance, which gives similar improvements in the efficiency of algorithms for solving a number of other problems.