Module Univ.Instance
type t
A universe instance represents a vector of argument universes to a polymorphic definition (constant, inductive or constructor).
val empty : t
val is_empty : t -> bool
val of_array : Level.t array -> t
val to_array : t -> Level.t array
val append : t -> t -> t
To concatenate two instances, used for discharge
val length : t -> int
Instance length
val hash : t -> int
Hash value
Simultaneous hash-consing and hash-value computation
val subst_fn : universe_level_subst_fn -> t -> t
Substitution by a level-to-level function.
val pr : (Level.t -> Pp.t) -> ?variance:Variance.t array -> t -> Pp.t
Pretty-printing, no comments
val levels : t -> Level.Set.t
The set of levels in the instance