module type SS_WO_ME = sig
.. end
type
t
val is_empty : t -> bool
is_empty t
should returns true
if t
is the empty set,
otherwise it returns false
.
val subset : t -> t -> bool option
subset t1 t2
should return Some true
if t1
is a subset of t2
.
If t1
is no subtype of t2
, then it should returns Some false
.
If the result of the subtype relation is unsure (for example t1
is a type variable that is not assigned to a type, and t2
is
a type), then the function should return None
.
val inter : t -> t -> t
If inter t1 t2
is called please compute a value t
such that
subset t t1
and subset t t2
holds.
val union : t -> t -> t
If union t1 t2
is called please compute a value t
such that
subset t1 t
and subset t2 t
holds.
val compare : t -> t -> int
val string_of : t -> string
val normalize : t -> t