Module type Tset.Tset_base

This module represent the basic signature for sets. It should not be used directly, see S.

type elem

The type of the values in the set

The type of the set, with mandatory custom operations.

include Custom.T
type t
val dump : Stdlib.Format.formatter -> t -> unit
val check : t -> unit
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val empty : t

The empty set

val any : t

The full set, containing all possible values for this kind.

val atom : elem -> t

atom e creates a singleton set containing element e.

Set operations :

val cup : t -> t -> t

cup t1 t2 returns the unions of t1 and t2.

val cap : t -> t -> t

cap t1 t2 returns the intersection of t1 and t2.

val diff : t -> t -> t

diff t1 t2 returns the set of elements of t1 not in t2.

val neg : t -> t

neg t returns the set diff any t.