Module UVars.UContext

A value in a universe context.

type t
val make : bound_names -> Instance.t Univ.constrained -> t
val empty : t
val is_empty : t -> bool
val instance : t -> Instance.t
val constraints : t -> Univ.Constraints.t
val union : t -> t -> t

Keeps the order of the instances

val size : t -> int * int

The number of universes in the context

val names : t -> bound_names

Return the user names of the universes

val refine_names : bound_names -> t -> t

Use names to name the possibly yet unnamed universes

val sort_levels : Univ.Level.t array -> Univ.Level.t array

Arbitrary choice of linear order of the variables

val sort_qualities : Sorts.Quality.t array -> Sorts.Quality.t array

Arbitrary choice of linear order of the variables

val of_context_set : (Instance.t -> bound_names) -> Sorts.QVar.Set.t -> Univ.ContextSet.t -> t

Build a vector of universe levels assuming a function generating names

val to_context_set : t -> Sorts.Quality.Set.t * Univ.ContextSet.t

Discard the names and order of the universes