Module BaseLogic.Sets

include module type of struct include Equality end
val mk_eq : Self.t Stdlib.List.t -> t
val mk_distinct : t Stdlib.List.t -> t
val mk_eq2 : Self.t -> Self.t -> t
val mk_distinct2 : t -> t -> t
include module type of struct include DefaultVars end
val mk_var : string -> Variable.Sort.t -> t
val mk_fresh_var : string -> Variable.Sort.t -> t

Utility functions for constant sets

val is_constant : t -> bool
val as_constant : Self.t -> Set.t
val is_empty_constant : Self.t -> bool
val mk_sort : Sort.t -> Sort.t
val mk_constant : Sort.t -> t Stdlib.List.t -> t
val mk_empty : Sort.t -> t
val mk_universe : Sort.t -> t
val mk_singleton : t -> t
val mk_union : Sort.t -> Self.t Stdlib.List.t -> Self.t
val mk_inter : Sort.t -> Self.t Stdlib.List.t -> Self.t
val mk_disjoint : t Stdlib.List.t -> t
val mk_add : Self.t -> t -> Self.t
val mk_diff : t -> t -> t
val mk_compl : t -> t
val mk_mem : Self.t -> Self.t -> t
val mk_subset : t -> t -> t
val mk_eq_empty : Self.t -> t
val mk_eq_singleton : Self.t -> t -> t
val may_disjoint : Self.t list -> bool
val get_elem_sort : t -> Sort.t