Module Var


module Var: sig  end

Sets and maps of terms



type t =
| External of Name.t * dom
| Rename of Name.t * int * dom
| Fresh of Name.t * int * dom
| Slack of int * bool * dom
| Bound of int


type dom = Dom.t option
val name_of : t -> Name.t
Parameters:
?? : t
val dom_of : t -> dom
Parameters:
?? : t
val eq : t -> t -> bool
Parameters:
x : t
y : t
val cmp : t -> t -> int
Parameters:
x : t
y : t
val (<<<) : t -> t -> bool
Parameters:
x : t
y : t
val hash : t -> int
Parameters:
?? : t


Sets and maps of terms



type var = t
module Set: sig  end
module Map: sig  end


Constructors


val mk_var : Name.t -> dom -> t
Parameters:
x : Name.t
d : dom
val k : int Pervasives.ref
val mk_rename : Name.t -> int option -> dom -> t
Parameters:
x : Name.t
i : int option
d : dom
val mk_fresh : Name.t -> int option -> dom -> t
Parameters:
x : Name.t
i : int option
d : dom
val mk_free : int -> t
Parameters:
i : int
val mk_slack : int option -> bool -> dom -> t
Parameters:
i : int option
alpha : bool
d : dom


Recognizers


val is_var : t -> bool
Parameters:
?? : t
val is_rename : t -> bool
Parameters:
?? : t
val is_fresh : t -> bool
Parameters:
?? : t
val is_free : t -> bool
Parameters:
?? : t
val is_slack : t -> bool
Parameters:
?? : t
val d_free : t -> int
Parameters:
?? : t


Printer


val pretty : bool Pervasives.ref
val pp : Format.formatter -> t -> unit
Parameters:
fmt : Format.formatter
x : t