Module Sstt.Intervals

Integer components.

type t

The type of integers, that is a set of disjoint intervals, possibly unbounded intervals. An atom is a possibly unbounded, non-empty interval of integers.

Basics

The minimal signature of a component.

val any : t

The top element of t (the set of all values of type t).

val empty : t

The bottom element of t (the empty set of values of type t).

val compare : t -> t -> int

Comparison working on the internal representation of t.

val equal : t -> t -> bool

Equality, equal a b is equivalent to compare a b = 0.

The explicit representation of an Intervals.t is a list of Atom.t.

Operations on basic components

val mk : Atom.t -> t

Creates a component from an atom.

val construct : Atom.t list -> t

Builds a component from its explicit representation.

val destruct : t -> Atom.t list

Returns the explicit representation of component.

val destruct_neg : t -> Atom.t list

destruct_neg t returns the explicit representation of the negation of t. The negation of t is sometimes simpler than t itself, which may justify working on this negative form (for instance when pretty-printing).