All Classes and Interfaces

Class
Description
 
 
 
 
 
Similar to the other Abstract*FormulaManager classes in this package, this class serves as a helper for implementing FloatingPointFormulaManager.
Simplifies building a solver from the specific theories.
 
Similar to the other Abstract*FormulaManager classes in this package, this class serves as a helper for implementing NumeralFormulaManager.
 
 
This class is a utility-class to avoid repeated implementation of the AllSAT computation.
 
 
 
 
This class simplifies the implementation of the FunctionFormulaManager by converting the types to the solver specific type.
 
This example shows different ways to get all satisfiable models for a given set of constraints.
ArrayFormula<TI extends Formula,TE extends Formula>
A formula of the array sort.
This interface represents the theory of (arbitrarily nested) arrays.
Super interface for ProverEnvironment and InterpolatingProverEnvironment that provides only the common operations.
 
This program parses a user-given Binoxxo and solves it with an SMT solver.
 
This solver encodes nore steps into boolean logic, which makes it about 10x faster than the Binoxxo.IntegerBasedBinoxxoSolver.
 
A formula of the bitvector sort.
Manager for dealing with formulas of the bitvector sort.
A formula of the boolean sort.
Manager for dealing with boolean formulas.
Subject subclass for testing assertions about BooleanFormulas with Truth (allows using assert_().about(...).that(formula).isUnsatisfiable() etc.).
Base class for visitors for boolean formulas that recursively transform boolean formulas.
Visitor iterating through the boolean part of the formula.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A formula visitor which allows for the default implementation.
 
A formula of the enumeration sort.
This interface represents the theory of enumeration, i.e., datatype of limited domain sort (as defined in the SMTLIB2 standard).
This class provides methods to get concrete evaluations for formulas from the satisfiable solver environment.
Like DefaultFormulaVisitor, but throws UnsupportedOperationException on unexpected formula types.
Formula of the floating point sort.
Floating point operations.
Represents a floating-point number with customizable precision, consisting of sign, exponent, and mantissa components.
Possible floating point rounding modes.
Formula representing a rounding mode for floating-point operations.
An arbitrary SMT formula.
This program parses user-given formulas and prints out the (minimal) matching theory for them.
This is a helper class with several methods that are commonly used throughout the basicimpl package and may have solver-specific implementations.
FormulaManager class contains all operations which can be performed on formulas.
Abstract class for formula transformation.
Type of a formula.
 
 
 
 
 
Visitor iterating through entire formula.
Function declaration, for both UFs and built-in functions (theory and boolean).
Declaration of a function.
Types of function declarations.
This application executes the inductive-invariant synthesis algorithm called "Houdini" taken from the paper Flanagan and Leino: "Houdini, an Annotation Assistant for ESC/Java".
Interface which operates over NumeralFormula.IntegerFormulas.
This class provides an interface to an incremental SMT solver with methods for pushing and popping formulas as well as SAT checks.
 
Examples for Craig/sequential/tree interpolation.
SolverContext that wraps all prover environments in their logging versions.
This class provides a model with concrete evaluations for symbols and formulas from the satisfiable solver environment.
 
 
This example program solves a NQueens problem of given size and prints a possible solution.
This example program solves a NQueens problem of given size and prints a possible solution.
In addition to the enumeration done by NQueensEnumeratingPropagator, this propagator also enforces the queen placement constraints without explicit encoding.
This propagator enumerates the solutions of the NQueens problem by raising a conflict whenever the solver finds a model.
Formulas of any numeral sort.
 
 
This interface represents the Numeral Theory.
Example for optimizing the weight of some constraints.
Example for optimizing 'x' with the constraint '0 <= x < 10'.
Interface for optimization modulo SMT.
Status of the optimization problem.
This program parses user-given formulas and prints them in a pretty format.
 
 
The PropagatorBackend class is used by UserPropagator to implement custom user propagators.
An interface to an incremental SMT solver with methods for pushing and popping formulas as well as SAT checks.
Subject subclass for testing assertions about ProverEnvironments with Truth (allows using assert_().about(...).that(stack).isUnsatisfiable() etc.).
 
This interface contains methods for working with any theory with quantifiers.
 
Interface for operating over NumeralFormula.RationalFormula.
A formula of the string sort.
A utility class for interrupting a parallel running solver thread.
Example of a simple user propagator that prohibits variables/expressions to be set to true.
The SLFormulaManager can build formulae for separation logic.
Abstract base class with helpful utilities for writing tests that use an SMT solver.
 
Instances of this interface provide access to an SMT solver.
Options for the prover environment.
Factory class for loading and generating solver contexts.
 
Exception thrown if there is an error during SMT solving.
This program takes all installed solvers and checks them for version, theories and features and prints them to StdOut in a nice table.
This class builds the table row-by-row.
just a wrapper for some data.
 
 
Central entry point for all utility classes.
 
 
A formula of the string sort.
Manager for dealing with string formulas.
This program parses user-given Sudoku and solves it with an SMT solver.
 
 
 
 
 
 
Tactic is a generic formula to formula transformation.
 
A minimal wrapper to keep a reference on the timer and provide a limited view.
 
UfElimination replaces UFs by fresh variables and adds constraints to enforce the functional consistency.
 
Manager for dealing with uninterpreted functions (UFs).
Allows user-defined propagators (~ theory solvers) to be implemented.