UVars.Instance
A universe instance represents a vector of argument universes and sort qualities to a polymorphic definition (constant, inductive or constructor).
val empty : t
val is_empty : t -> bool
val of_array : (Sorts.Quality.t array * Univ.Level.t array) -> t
val to_array : t -> Sorts.Quality.t array * Univ.Level.t array
val abstract_instance : (int * int) -> t
Instance of the given size made of QVar/Level.var
val length : t -> int * int
Instance length
val hash : t -> int
Hash value
Simultaneous hash-consing and hash-value computation
val pr : (Sorts.QVar.t -> Pp.t) -> (Univ.Level.t -> Pp.t) -> ?variance:Variance.t array -> t -> Pp.t
Pretty-printing, no comments
val levels : t -> Sorts.Quality.Set.t * Univ.Level.Set.t
The set of levels in the instance
val subst_fn : ((Sorts.QVar.t -> Sorts.Quality.t) * (Univ.Level.t -> Univ.Level.t)) -> t -> t
type mask = Sorts.Quality.pattern array * int option array
val pattern_match : mask -> t -> ('term, Sorts.Quality.t, Univ.Level.t) Partial_subst.t -> ('term, Sorts.Quality.t, Univ.Level.t) Partial_subst.t option
Pattern matching, as used by the rewrite rules mechanism