Module HVar

module HVar: sig .. end

Hashconsed Variable

A variable for hashconsed terms, paired with a type.


type 'a t = private {
   id : int;
   ty : 'a;
}
type 'a hvar = 'a t 
val make : ty:'a -> int -> 'a t
val id : 'a t -> int
val ty : 'a t -> 'a
val cast : 'a t -> ty:'b -> 'b t
val update_ty : 'a t -> f:('a -> 'b) -> 'b t
val compare : 'a t -> 'b t -> int
val equal : 'a t -> 'b t -> bool
val hash : 'a t -> int
val hash_fun : 'a t CCHash.hash_fun
val max : 'a t -> 'a t -> 'a t
val min : 'a t -> 'a t -> 'a t
val pp : 'a t CCFormat.printer
val to_string : 'a t -> string