AltErgoLib.IntervalsSourceKeep only the upper bound of the interval, setting the lower bound to minus infty.
Keep only the lower bound of the interval, setting the upper bound to plus infty.
Perform an affine transformation on the given bounds. Suposing input bounds (b1, b2), this will return (const + coef * b1, const + coef * b2). This function is useful to avoid the incorrect roundings that can take place when scaling down an integer range.
bool is true when bound is large. Raise: No_finite_bound if no finite lower bound
bool is true when bound is large. Raise: No_finite_bound if no finite upper bound
val mk_closed :
Numbers.Q.t ->
Numbers.Q.t ->
bool ->
bool ->
Explanation.t ->
Explanation.t ->
Ty.t ->
ttakes as argument in this order:
type interval_matching =
((Numbers.Q.t * bool) option * (Numbers.Q.t * bool) option * Ty.t) Var.Map.tval match_interval :
Symbols.bound ->
Symbols.bound ->
t ->
interval_matching ->
interval_matching optionmatchs the given lower and upper bounds against the given interval, and update the given accumulator with the constraints. Returns None if the matching problem is inconsistent