| 1 |
module V : sig
|
| 2 |
include Custom.T
|
| 3 |
val print : Format.formatter -> t -> unit
|
| 4 |
val mk: string -> t
|
| 5 |
val from_int: int -> t
|
| 6 |
val to_string: t -> string
|
| 7 |
|
| 8 |
val is_int: t -> bool
|
| 9 |
val get_int: t -> int
|
| 10 |
val is_zero: t -> bool
|
| 11 |
|
| 12 |
val add: t -> t -> t
|
| 13 |
val mult: t -> t -> t
|
| 14 |
val sub: t -> t -> t
|
| 15 |
val div: t -> t -> t
|
| 16 |
val modulo: t -> t -> t
|
| 17 |
val succ: t -> t
|
| 18 |
val pred: t -> t
|
| 19 |
|
| 20 |
val lt: t -> t -> bool
|
| 21 |
val gt: t -> t -> bool
|
| 22 |
|
| 23 |
val zero : t
|
| 24 |
val one : t
|
| 25 |
val minus_one : t
|
| 26 |
end
|
| 27 |
|
| 28 |
|
| 29 |
include Custom.T
|
| 30 |
val print : t -> (Format.formatter -> unit) list
|
| 31 |
|
| 32 |
val empty : t
|
| 33 |
val any : t
|
| 34 |
val cup : t -> t -> t
|
| 35 |
val cap : t -> t -> t
|
| 36 |
val diff : t -> t -> t
|
| 37 |
|
| 38 |
(** closed interval *)
|
| 39 |
val bounded : V.t -> V.t -> t
|
| 40 |
|
| 41 |
(** left opened interval (i.e. * -- something ) *)
|
| 42 |
val left : V.t -> t
|
| 43 |
|
| 44 |
(** right opened interval (i.e. something -- * ) *)
|
| 45 |
val right : V.t -> t
|
| 46 |
|
| 47 |
val atom : V.t -> t
|
| 48 |
|
| 49 |
val disjoint : t -> t -> bool
|
| 50 |
val is_empty : t -> bool
|
| 51 |
val contains : V.t -> t -> bool
|
| 52 |
val sample : t -> V.t
|
| 53 |
val single : t -> V.t
|
| 54 |
(* raise Not_found if empty.
|
| 55 |
raise Exit if empty and not singleton *)
|
| 56 |
|
| 57 |
|
| 58 |
val add : t -> t -> t
|
| 59 |
val mul : t -> t -> t
|
| 60 |
val sub : t -> t -> t
|
| 61 |
val negat : t -> t
|