# Module IntSet

`module IntSet: `sig` .. `end``
This module implements finite sets of integers.
Author(s): Michele Sevegnani

`type t `
The type of sets of integers.

### Standard set operations

These functions are described in the standard library.
`val add : `int -> t -> t``
`val cardinal : `t -> int``
`val compare : `t -> t -> int``
`val diff : `t -> t -> t``
`val elements : `t -> int list``
`val empty : `t``
`val equal : `t -> t -> bool``
`val exists : `(int -> bool) -> t -> bool``
`val filter : `(int -> bool) -> t -> t``
`val fold : `(int -> 'a -> 'a) -> t -> 'a -> 'a``
`val for_all : `(int -> bool) -> t -> bool``
`val inter : `t -> t -> t``
`val is_empty : `t -> bool``
`val iter : `(int -> unit) -> t -> unit``
`val max_elt : `t -> int option``
`val mem : `int -> t -> bool``
`val min_elt : `t -> int option``
`val partition : `(int -> bool) -> t -> t * t``
`val remove : `int -> t -> t``
`val singleton : `int -> t``
`val subset : `t -> t -> bool``
`val union : `t -> t -> t``

`val to_string : `t -> string``
Return the string representation of a set. Example: `"{1,4,7}"`.
`val of_list : `int list -> t``
Return a set containing the elements of a list.
`val of_int : `int -> t``
`of_int i` returns a set `{0, 1, ...., i - 1}`.
`val off : `int -> t -> t``
`off i s` adds offset `i` to all the elements of set `s`.
`val fix : `t -> Iso.t``
Compute an isomorphism to fix the numbering of a set. For example, the isomorphism for set `"{2, 5, 6, 7}"` is `"{(2,0), (5,1), (6,2), (7,3)}"`.
`val apply : `Iso.t -> t -> t``
`apply iso s` applies `iso` to each element of `s`. Elements not mapped by `iso` are ignored.
`val union_list : `t list -> t``
Compute the union of all the sets in a list.
`val merge : `t list -> t list``
Merge sets with common elements.
`val disjoint : `t -> t -> bool``
Test if two sets are disjoint, i.e. if their intersection is empty.