sig
module type S =
sig
type obs
type t
val create : unit -> t
val compare : t -> t -> int
val total_ord : t -> t -> int
val add_alias : t -> t -> unit
val do_normalize : t -> unit
val add_observer : obs -> t -> unit
val remove_observer : obs -> t -> unit
val string_of : t -> string
val reset : unit -> unit
val get_all_ts : unit -> t list
type img
type elm
val set_lower : LUVar.S.elm -> t -> unit
val set_upper : LUVar.S.elm -> t -> unit
val set_eq : LUVar.S.elm -> t -> unit
val subset : t -> t -> unit
val get_lower : t -> LUVar.S.elm option
val get_upper : t -> LUVar.S.elm option
val string_of_img : t -> string
val get_exact : t -> LUVar.S.elm option
val string_of_with_img : t -> string
end
module Make :
functor (LU : LowerUpper.S) ->
functor
(Var : sig
type obs
type t
val create : unit -> t
val compare : t -> t -> int
val total_ord : t -> t -> int
val add_alias : t -> t -> unit
val do_normalize : t -> unit
val add_observer : obs -> t -> unit
val remove_observer : obs -> t -> unit
val string_of : t -> string
val reset : unit -> unit
val get_all_ts : unit -> t list
type img = LU.t
val add_img : img -> t -> unit
val get_img : t -> img option
end) ->
sig
type obs = Var.obs
type t
val create : unit -> t
val compare : t -> t -> int
val total_ord : t -> t -> int
val add_alias : t -> t -> unit
val do_normalize : t -> unit
val add_observer : obs -> t -> unit
val remove_observer : obs -> t -> unit
val string_of : t -> string
val reset : unit -> unit
val get_all_ts : unit -> t list
type img = LU.t
type elm = LU.elm
val set_lower : elm -> t -> unit
val set_upper : elm -> t -> unit
val set_eq : elm -> t -> unit
val subset : t -> t -> unit
val get_lower : t -> elm option
val get_upper : t -> elm option
val string_of_img : t -> string
val get_exact : t -> elm option
val string_of_with_img : t -> string
end
end