Xliteral.Make
module X : OrderedType
type elt = X.t
type t
val make : elt view -> t
val view : t -> elt view
val atom_view : t -> elt atom_view * bool
val mk_eq : elt -> elt -> t
val mk_distinct : bool -> elt list -> t
val mk_builtin : bool -> builtin -> elt list -> t
val mk_pred : elt -> bool -> t
val mkv_eq : elt -> elt -> elt view
val mkv_distinct : bool -> elt list -> elt view
val mkv_builtin : bool -> builtin -> elt list -> elt view
val mkv_pred : elt -> bool -> elt view
val neg : t -> t
val add_label : Hstring.t -> t -> unit
val label : t -> Hstring.t
val print : Stdlib.Format.formatter -> t -> unit
val compare : t -> t -> int
val equal : t -> t -> bool
val hash : t -> int
val uid : t -> int
val elements : t -> elt list
val save_cache : unit -> unit
Saves the modules cache
val reinit_cache : unit -> unit
Reinitializes the module's cache
module Map : Stdlib.Map.S with type key = t
module Set : Stdlib.Set.S with type elt = t