sig
  module S :
    sig
      type t
      val empty : Facile.SetDomain.S.t
      val is_empty : Facile.SetDomain.S.t -> bool
      val mem : int -> Facile.SetDomain.S.t -> bool
      val add : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val singleton : int -> Facile.SetDomain.S.t
      val remove : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val union :
        Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val inter :
        Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val diff :
        Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val compare : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> int
      val equal : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> bool
      val subset : Facile.SetDomain.S.t -> Facile.SetDomain.S.t -> bool
      val iter : (int -> unit) -> Facile.SetDomain.S.t -> unit
      val cardinal : Facile.SetDomain.S.t -> int
      val elements : Facile.SetDomain.S.t -> int list
      val min_elt : Facile.SetDomain.S.t -> int
      val max_elt : Facile.SetDomain.S.t -> int
      val choose : Facile.SetDomain.S.t -> int
      val remove_up : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
      val remove_low : int -> Facile.SetDomain.S.t -> Facile.SetDomain.S.t
    end
  type elt = Facile.SetDomain.S.t
  type t
  val min : Facile.SetDomain.t -> Facile.SetDomain.elt
  val max : Facile.SetDomain.t -> Facile.SetDomain.elt
  val min_max :
    Facile.SetDomain.t -> Facile.SetDomain.elt * Facile.SetDomain.elt
  val mem : Facile.SetDomain.elt -> Facile.SetDomain.t -> bool
  val interval :
    Facile.SetDomain.elt -> Facile.SetDomain.elt -> Facile.SetDomain.t
  val fprint_elt : Pervasives.out_channel -> Facile.SetDomain.elt -> unit
  val fprint : Pervasives.out_channel -> Facile.SetDomain.t -> unit
  val included : Facile.SetDomain.t -> Facile.SetDomain.t -> bool
  val iter : (Facile.SetDomain.elt -> 'a) -> Facile.SetDomain.t -> 'a
  val values : Facile.SetDomain.t -> Facile.SetDomain.elt list
  val elt_of_list : int list -> Facile.SetDomain.elt
end