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.
AbstractNumeralFormulaManager<TFormulaInfo,TType,TEnv,ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula,TFuncDecl>
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.
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.
DebuggingNumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
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.
NumeralFormulaManager<ParamFormulaType extends NumeralFormula,ResultFormulaType extends NumeralFormula>
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.
Return class that lets the visitor guide the recursive formula traversal process started with
FormulaManager.visitRecursively(org.sosy_lab.java_smt.api.Formula, org.sosy_lab.java_smt.api.visitors.FormulaVisitor<org.sosy_lab.java_smt.api.visitors.TraversalProcess>).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.