UnivMinim
module UPairSet : CSet.S with type elt = Univ.Level.t * Univ.Level.t
Unordered pairs of universe levels (ie (u,v) = (v,u))
val empty_extra : extra
Simplification and pruning of constraints: normalize_context_set ctx us
us
with their most precise universe levels respecting the constraints.ctx
w.r.t. equality constraints, choosing a canonical universe in each equivalence class (a global one if there is one) and transitively saturate the constraints w.r.t to the equalities.val normalize_context_set :
lbound:UGraph.Bound.t ->
UGraph.t ->
Univ.ContextSet.t ->
UnivSubst.universe_opt_subst ->
Univ.Level.Set.t ->
extra ->
(UnivSubst.universe_opt_subst * Univ.Level.Set.t)
Univ.in_universe_context_set