sig
  type t = Flatten.PSet.t
  val print : Cudf.universe -> Format.formatter -> Flatten.PSet.t -> unit
  val implies : Flatten.PSet.t -> Flatten.PSet.t -> bool
  val equiv : Flatten.PSet.t -> Flatten.PSet.t -> bool
  val lit : Flatten.PSet.elt -> Flatten.PSet.t
  val lit_disj : Flatten.PSet.elt list -> Flatten.PSet.t
  val _false : Flatten.PSet.t
  val disj : Flatten.PSet.t -> Flatten.PSet.t -> Flatten.PSet.t
  val disjl : Flatten.PSet.t list -> Flatten.PSet.t
  val iter : Flatten.PSet.t -> (Flatten.PSet.elt -> unit) -> unit
  val cut :
    Flatten.PSet.t -> Flatten.PSet.elt -> Flatten.PSet.t -> Flatten.PSet.t
  val fold : (Flatten.PSet.elt -> '-> 'a) -> Flatten.PSet.t -> '-> 'a
  val for_all : (Flatten.PSet.elt -> bool) -> Flatten.PSet.t -> bool
  val exists : (Flatten.PSet.elt -> bool) -> Flatten.PSet.t -> bool
  val implies1 : Flatten.PSet.elt -> Flatten.PSet.t -> bool
  val to_lit : Flatten.PSet.t -> Flatten.PSet.elt option
  val to_lits : '-> 'a
  val filter : (Flatten.PSet.elt -> bool) -> Flatten.PSet.t -> Flatten.PSet.t
  val normalize : Flatten.PSet.t -> Flatten.PSet.t
  val compare : Flatten.PSet.t -> Flatten.PSet.t -> int
end