flowsTo

fun <C : HeytingAlgebra<C>, V, T> Term<C, V>.flowsTo(that: Term<C, V>, bounds: BoundedLattice<C>, failWith: (SecurityLattice<C>, SecurityLattice<C>) -> T): Iterable<Constraint<C, V, T>>

Returns a constraint that represents [this] flowsTo [that].

Parameters

failWith

a function that generates the exception to throw if the returned constraint is unsatisfiable. The function will be given best-effort estimates for the values of this and that.

Throws

if this or that is not allowed to appear in constraints.