Theory solver for algebraic data-types.
Theory representing the SMT-LIB semantics of division and modulo by zero.
Theory representing the SMT-LIB semantics of division and modulo by zero. According to SMT-LIB, division is a total function, and division by zero has to be represented as a unary uninterpreted function.
Extensional arrays
A theory for explicitly enumerating all values of integer terms.
A theory for explicitly enumerating all values of integer
terms. The proof procedure that will take care of the splitting
will be given the priority specified by
splitterCost
. The splitting of the value range of
terms will initially be binary; once the range of possible values
of a term has been narrowed down to at most
completeSplitBound
values, in a single step the range
will be split into all individual values. In order to initiate
splitting, literals IntValueEnumTheory.enumPred(t)
have to be added to a proof goal.
Trait for theories providing general, non-linear multiplication.
Class to simplify the implementation of saturation procedures as part of theory plugins.
Class to simplify the implementation of saturation procedures as part of theory plugins. A saturation procedure is a procedure waiting for patterns to occur in a proof goal (e.g., formulas of a certain shape), and can apply proof rules for every such occurrence. Saturation will be implemented by adding tasks to the task queue of every goal, so that the prover can globally schedule the different rules to be applied.
This procedure does not take into account that applications points might get
rewritten during the proof process; e.g., a variable x
could
turn into y
when the equation x = y
appears. In such
cases, the saturation rule could get applied repeatedly for the same point.
Untyped arrays
trait for representing signature and axioms of theories, e.g., the theory of arrays.
trait for representing signature and axioms of theories, e.g., the theory of arrays. This is used to make sure that theory symbols are unique.
Interface to construct theory objects with complex parameters.
Class to find out which theories where used in a given set of formulae/expressions
Multiplication by means of axioms describing shift-and-add
Extensional arrays
A dummy theory that represents the functional consistency axioms for functional predicates.
Non-linear arithmetic, support for general multiplication
Temporary hack to track incompleteness of theory implementations.
Bit-vectors and modular arithmetic
Untyped arrays
Class for keeping track of instantiated theories.
Package object making available some of the objects in sub-packages