ConstraintSystem
class ConstraintSystem<C : HeytingAlgebra<C>, V, T : Throwable>(constraints: Iterable<Constraint<C, V, T>>, bounds: BoundedLattice<C>, delegationContext: LatticeCongruence<C>)
Given a set of constraints, finds the unique maximum solution if it exists.
A solution to a set of constraints is an assignment of values to all variables in the system. A maximum solution assigns the greatest possible value to each variable, where greatest is with respect to PartialOrder.lessThanOrEqualTo.
Parameters
C
type of lattice constants
V
type of variables
T
type of exceptions thrown when there are unsatisfiable constraints
constraints
The set of constraints to solve.
Constructors
Link copied to clipboard
fun <C : HeytingAlgebra<C>, V, T : Throwable> ConstraintSystem(constraints: Iterable<Constraint<C, V, T>>, bounds: BoundedLattice<C>, delegationContext: LatticeCongruence<C>)
Types
Functions
Link copied to clipboard
Outputs the constraint system as a DOT graph to writer.
Link copied to clipboard
Returns the greatest solution to the set of constraints in the system.