sig
  val subset : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Cstr.t
  val cardinal : Facile.Var.SetFd.t -> Facile.Var.Fd.t
  val smallest : Facile.Var.SetFd.t -> Facile.Var.Fd.t
  val union : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Var.SetFd.t
  val inter : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Var.SetFd.t
  val all_disjoint : Facile.Var.SetFd.t array -> Facile.Cstr.t
  val disjoint : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Cstr.t
  val inside : int -> Facile.Var.SetFd.t -> unit
  val outside : int -> Facile.Var.SetFd.t -> unit
  val inf_min : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Cstr.t
  val order : Facile.Var.SetFd.t -> Facile.Var.SetFd.t -> Facile.Cstr.t
  val order_with_card :
    Facile.Var.SetFd.t ->
    Facile.Var.Fd.t -> Facile.Var.SetFd.t -> Facile.Var.Fd.t -> Facile.Cstr.t
  val member :
    Facile.Var.SetFd.t -> Facile.SetDomain.elt list -> Facile.Cstr.t
  val mem : Facile.Var.Fd.t -> Facile.Var.SetFd.t -> Facile.Cstr.t
  val sum_weight : Facile.Var.SetFd.t -> (int * int) list -> Facile.Var.Fd.t
  val atmost1 : Facile.Var.SetFd.t array -> int -> unit
end