Module Logtk.HVar
Hashconsed Variable
A variable for hashconsed terms, paired with a type. Such a 'ty HVar.t is really a pair (int, 'ty): the integer is used to be able to have several variables in the same clause, the type is because in typed logic we must know the type of variables before unifying/binding them.
type +'a t= private{id : int;ty : 'a;}type 'a hvar= 'a t
val make : ty:'a -> int -> 'a tval id : _ t -> intval ty : 'a t -> 'aval cast : 'a t -> ty:'b -> 'b tval update_ty : 'a t -> f:('a -> 'b) -> 'b tval compare : ('a -> 'a -> int) -> 'a t -> 'a t -> intval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> boolval hash : _ t -> intval max : 'a t -> 'a t -> 'a tval min : 'a t -> 'a t -> 'a tval pp : _ t CCFormat.printerval pp_tstp : _ t CCFormat.printerval to_string : _ t -> stringval to_string_tstp : _ t -> string