module Ub: sig endUb specifies the set of constant upper bounds.type t
val top : ttop is a distinguished upper bound. It is the top
element of the semi-lattice.val is_top : t -> boolis_top lb must return true if and only if lb is top.val inter : t -> t -> tinter lb1 lb2 gives the intersection (according to the
semi-lattice structure) of the lower bounds lb1 and lb2.val geq : t -> t -> boolgeq lb1 lb2 tells wether lb1 is greater than or equal to
lb2 in the semi-lattice of constant upper bounds.val compare : t -> t -> intval normalize : t -> tnormalize lb internally normalizes the lower bound lb.val fprint : Format.formatter -> t -> unitfprint ppf ub pretty-prints the constant upper bound ub on
the formatter ppf. (This function is used for printing of
constants in constraints.)val fprint_in_term : int -> Format.formatter -> t -> unitfprint_in_term ppf ub is used to print the constant lower
bound ub on the formatter ppf when it appears in a term, in
place of a non-negative variable which has no predecessor.
An usual implementation may be:
let fprint_in_term _ ppf ub =
Format.fprintf ppf "< %a" fprint ub
val draw : t -> string list