Expr_raw.Settype elt = tThe type of elements of the set
type key = eltAlias for the type of elements, for cross-compatibility with maps
val empty : tThe empty set
val is_empty : t -> boolis_empty st is true if st contains no elements, false otherwise
add elt set adds element elt to the set. Preserves physical equality if elt was already present. O(log(n)) complexity.
val cardinal : t -> intcardinal set is the size of the set (number of elements), O(n) complexity.
remove elt set returns a set containing all elements of set except elt. Returns a value physically equal to set if elt is not present.
filter f set is the subset of set that only contains the elements that satisfy f.
for_all f set is true if f is true on all elements of set. Short-circuits on first false.
fold f set acc returns f elt_n (... (f elt_1 acc) ...), where elt_1, ..., elt_n are the elements of set.
split elt set returns s_lt, present, s_gt where s_lt contains all elements of set smaller than elt, s_gt all those greater than elt, and present is true if elt is in set.
union a b is the set union of a and b, i.e. the set containing all elements that are either in a or b.
inter a b is the set intersection of a and b, i.e. the set containing all elements that are in both a or b.
val to_seq : t -> elt Smtml_prelude.Seq.tto_seq st iterates the whole set.
val to_rev_seq : t -> elt Smtml_prelude.Seq.tto_rev_seq st iterates the whole set.
val add_seq : elt Smtml_prelude.Seq.t -> t -> tadd_seq s st adds all elements of the sequence s to st in order.
val of_seq : elt Smtml_prelude.Seq.t -> tof_seq s creates a new set from the elements of s.
val hash : t -> inthash set computes the hash of a set.
get_symbols exprs extracts all symbolic variables from a list of expressions.
val inline_symbol_values : Value.t Symbol.Map.t -> t -> tinline_symbol_values symbol_map set replaces each symbol in all expressions of set by its image in symbol_map.