Intervals.AtomPossibly unbounded integer interval.
t represents a non-empty integer interval. The interval can be unbounded to the left and to the right. Bounds are arbitrary-precision integers provided by the zarith library.
val mk : Z.t option -> Z.t option -> tmk b1 b2 creates an interval from bound b1 (inclusive, -\infty if None) to bound b2 (inclusive, +\infty if None).
val mk_bounded : Z.t -> Z.t -> tmk_bounded i1 i2 creates an interval from bound i1 (inclusive) to bound i2 (inclusive).
val mk_singl : Z.t -> tmk_singl i creates an interval containing exactly i.
val get : t -> Z.t option * Z.t optionget t returns the boundaries (inclusive) of the interval t.
val pp : Stdlib.Format.formatter -> t -> unitPrints the interval to the given formatter. An interval is printed as (b1..b2) where bi is the bound if it is finite, and the empty string if it is infinite.