sig
  type t = { mutable inf : Scalar.t; mutable sup : Scalar.t; }
  val of_scalar : Scalar.t -> Scalar.t -> Interval.t
  val of_infsup : Scalar.t -> Scalar.t -> Interval.t
  val of_mpq : Mpq.t -> Mpq.t -> Interval.t
  val of_mpqf : Mpqf.t -> Mpqf.t -> Interval.t
  val of_int : int -> int -> Interval.t
  val of_frac : int -> int -> int -> int -> Interval.t
  val of_float : float -> float -> Interval.t
  val of_mpfr : Mpfr.t -> Mpfr.t -> Interval.t
  val is_top : Interval.t -> bool
  val is_bottom : Interval.t -> bool
  val is_leq : Interval.t -> Interval.t -> bool
  val cmp : Interval.t -> Interval.t -> int
  val equal : Interval.t -> Interval.t -> bool
  val is_zero : Interval.t -> bool
  val equal_int : Interval.t -> int -> bool
  val neg : Interval.t -> Interval.t
  val top : Interval.t
  val bottom : Interval.t
  val set_infsup : Interval.t -> Scalar.t -> Scalar.t -> unit
  val set_top : Interval.t -> unit
  val set_bottom : Interval.t -> unit
  val print : Stdlib.Format.formatter -> Interval.t -> unit
end