Module Imandra_prelude.Set

type +'a t = ( 'a, bool ) Map.t
val empty : 'a t
val is_valid : _ t -> bool
val is_empty : _ t -> bool
val mem : 'a -> 'a t -> bool
val add : 'a -> 'a t -> 'a t
val remove : 'a -> 'a t -> 'a t
val subset : 'a t -> 'a t -> bool
val union : 'a t -> 'a t -> 'a t
val complement : 'a t -> 'a t
val inter : 'a t -> 'a t -> 'a t
val diff : 'a t -> 'a t -> 'a t
val (++) : 'a t -> 'a t -> 'a t
val (--) : 'a t -> 'a t -> 'a t
val of_list : 'a list -> 'a t
val to_list : 'a t -> 'a list
val pp : 'a printer -> 'a t printer