sig
type t
type elt = int
val empty : Ptset.t
val is_empty : Ptset.t -> bool
val mem : Ptset.elt -> Ptset.t -> bool
val add : Ptset.elt -> Ptset.t -> Ptset.t
val singleton : Ptset.elt -> Ptset.t
val remove : Ptset.elt -> Ptset.t -> Ptset.t
val union : Ptset.t -> Ptset.t -> Ptset.t
val subset : Ptset.t -> Ptset.t -> bool
val intersect : Ptset.t -> Ptset.t -> bool
val inter : Ptset.t -> Ptset.t -> Ptset.t
val diff : Ptset.t -> Ptset.t -> Ptset.t
val equal : Ptset.t -> Ptset.t -> bool
val compare : Ptset.t -> Ptset.t -> int
val elements : Ptset.t -> Ptset.elt list
val choose : Ptset.t -> Ptset.elt
val cardinal : Ptset.t -> int
val iter : (Ptset.elt -> unit) -> Ptset.t -> unit
val fold : (Ptset.elt -> 'a -> 'a) -> Ptset.t -> 'a -> 'a
val for_all : (Ptset.elt -> bool) -> Ptset.t -> bool
val exists : (Ptset.elt -> bool) -> Ptset.t -> bool
val filter : (Ptset.elt -> bool) -> Ptset.t -> Ptset.t
val partition : (Ptset.elt -> bool) -> Ptset.t -> Ptset.t * Ptset.t
val split : Ptset.elt -> Ptset.t -> Ptset.t * bool * Ptset.t
val min_elt : Ptset.t -> Ptset.elt
val max_elt : Ptset.t -> Ptset.elt
end