Module Univ.AUContext

type t
val make : Names.Name.t array -> Constraint.t -> t

Build an abstract context. Constraints may be between universe variables.

val repr : t -> UContext.t

repr ctx is (Var(0), ... Var(n-1) |= cstr where n is the length of the context and cstr the abstracted Constraint.t.

val empty : t
val is_empty : t -> bool
val size : t -> int
val union : t -> t -> t

Keeps the order of the instances

val instantiate : Instance.t -> t -> Constraint.t

Generate the set of instantiated Constraint.t *

val names : t -> Names.Name.t array

Return the names of the bound universe variables