Module Variable.Make

Parameters

Signature

type t = Identifier.t * Sort.t
module Sort = Sort
include Datatype_sig.PRINTABLE with type t := t
include Datatype_sig.SHOW with type t := t
val pp : Stdlib.Format.formatter -> t -> unit

Output to formatter

val print : ?prefix:string -> t -> unit

Output to stdout.

val show_option : t option -> string
val print_option : ?prefix:string -> t option -> unit
val dump : string -> t -> unit

Dump to file given by filename

Lists of printable values

val show_list : ?separator:string -> t list -> string
val pp_list : Stdlib.Format.formatter -> t list -> unit
val print_list : ?separator:string -> ?prefix:string -> t list -> unit
include Datatype_sig.COMPARABLE with type t := t
include Datatype_sig.COMPARISON with type t := t
include Datatype_sig.COLLECTIONS with type t := t
module Set : Datatype_sig.SET with type elt = t

Set over type t

module MonoList : Datatype_sig.MONO_LIST with type key = t and type t = t list

Monomorphic list over type t

module Map : Datatype_sig.MAP with type key = t

Polymorphic map from t to 'a

module MonoMap (Data : Datatype_sig.SHOW) : Datatype_sig.MONO_MAP with type key = t and type data = Data.t

Monomorphic map from t to Data.t

include Logic_sig.SORTED with type t := t and module Sort := Sort
val get_sort : t -> Sort.t
val has_sort : Sort.t -> t -> bool
val show_with_sort : t -> string
val mk : string -> Sort.t -> t
val mk_fresh : string -> Sort.t -> t
val mk_list : Sort.t -> string list -> t list
val refresh : t -> t
val get_name : t -> string
val describe : t -> string * Sort.t
val of_description : (string * Sort.t) -> t
val show : t -> string
val smt2_decl : t -> string
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val debug : unit -> string
val show_debug : t -> string
val nil : t
val is_nil : t -> bool
val is_loc : t -> bool