sig
  type t
  exception NotConsistent of Explanation.t
  exception Not_a_float
  val undefined : Ty.t -> Intervals.t
  val point : Num.num -> Ty.t -> Explanation.t -> Intervals.t
  val doesnt_contain_0 : Intervals.t -> Sig.answer
  val is_strict_smaller : Intervals.t -> Intervals.t -> bool
  val new_borne_sup :
    Explanation.t -> Num.num -> is_le:bool -> Intervals.t -> Intervals.t
  val new_borne_inf :
    Explanation.t -> Num.num -> is_le:bool -> Intervals.t -> Intervals.t
  val is_point : Intervals.t -> (Num.num * Explanation.t) option
  val intersect : Intervals.t -> Intervals.t -> Intervals.t
  val exclude : Intervals.t -> Intervals.t -> Intervals.t
  val mult : Intervals.t -> Intervals.t -> Intervals.t
  val power : int -> Intervals.t -> Intervals.t
  val sqrt : Intervals.t -> Intervals.t
  val root : int -> Intervals.t -> Intervals.t
  val add : Intervals.t -> Intervals.t -> Intervals.t
  val scale : Num.num -> Intervals.t -> Intervals.t
  val print : Format.formatter -> Intervals.t -> unit
  val finite_size : Intervals.t -> Num.num option
  val borne_inf : Intervals.t -> Num.num * Explanation.t
  val div : Intervals.t -> Intervals.t -> Intervals.t
end