module Set:sig
..end
Functions to manipulate Set expressions
val mk_sort : context -> Sort.sort -> Sort.sort
Create a set type.
val is_union : Expr.expr -> bool
Indicates whether the term is set union
val is_intersect : Expr.expr -> bool
Indicates whether the term is set intersection
val is_difference : Expr.expr -> bool
Indicates whether the term is set difference
val is_complement : Expr.expr -> bool
Indicates whether the term is set complement
val is_subset : Expr.expr -> bool
Indicates whether the term is set subset
val mk_empty : context -> Sort.sort -> Expr.expr
Create an empty set.
val mk_full : context -> Sort.sort -> Expr.expr
Create the full set.
val mk_set_add : context -> Expr.expr -> Expr.expr -> Expr.expr
Add an element to the set.
val mk_del : context -> Expr.expr -> Expr.expr -> Expr.expr
Remove an element from a set.
val mk_union : context -> Expr.expr list -> Expr.expr
Take the union of a list of sets.
val mk_intersection : context -> Expr.expr list -> Expr.expr
Take the intersection of a list of sets.
val mk_difference : context -> Expr.expr -> Expr.expr -> Expr.expr
Take the difference between two sets.
val mk_complement : context -> Expr.expr -> Expr.expr
Take the complement of a set.
val mk_membership : context -> Expr.expr -> Expr.expr -> Expr.expr
Check for set membership.
val mk_subset : context -> Expr.expr -> Expr.expr -> Expr.expr
Check for subsetness of sets.