module FiniteSet:sig..end
Finite Sets
val mk_sort : context -> Sort.sort -> Sort.sortCreate a finite set sort with the given element sort.
val is_finite_set_sort : context -> Sort.sort -> boolTest if a sort is a finite set sort.
val get_sort_basis : context -> Sort.sort -> Sort.sortGet the element sort of a finite set sort.
val mk_empty : context -> Sort.sort -> Expr.exprCreate an empty finite set of the given sort.
val mk_singleton : context -> Expr.expr -> Expr.exprCreate a singleton finite set containing the given element.
val mk_union : context -> Expr.expr -> Expr.expr -> Expr.exprCreate the union of two finite sets.
val mk_intersect : context -> Expr.expr -> Expr.expr -> Expr.exprCreate the intersection of two finite sets.
val mk_difference : context -> Expr.expr -> Expr.expr -> Expr.exprCreate the set difference of two finite sets (s1 \ s2).
val mk_member : context -> Expr.expr -> Expr.expr -> Expr.exprCreate a membership predicate: elem ∈ set.
val mk_size : context -> Expr.expr -> Expr.exprCreate an expression for the cardinality of a finite set.
val mk_subset : context -> Expr.expr -> Expr.expr -> Expr.exprCreate a subset predicate: s1 ⊆ s2.
val mk_map : context -> Expr.expr -> Expr.expr -> Expr.exprApply a function to all elements of a finite set.
val mk_filter : context -> Expr.expr -> Expr.expr -> Expr.exprFilter a finite set using a predicate function.
val mk_range : context -> Expr.expr -> Expr.expr -> Expr.exprCreate a finite set of integers in the range low, high.