UnivSubsttype 'a universe_map = 'a Univ.Level.Map.ttype universe_subst = Univ.Universe.t universe_maptype universe_subst_fn = Univ.Level.t -> Univ.Universe.t optiontype universe_level_subst_fn = Univ.Level.t -> Univ.Level.tval level_subst_of : universe_subst_fn -> universe_level_subst_fnThe resulting function must never be called on a level which would produce an algebraic.
val subst_univs_constraints :
universe_subst_fn ->
Univ.Constraints.t ->
Univ.Constraints.tval subst_instance :
universe_level_subst_fn ->
Univ.Instance.t ->
Univ.Instance.ttype universe_opt_subst = Univ.Universe.t option universe_mapval normalize_univ_variables :
universe_opt_subst ->
universe_opt_subst * Univ.Level.Set.t * universe_substval normalize_univ_variable_opt_subst :
universe_opt_subst ->
Univ.Level.t ->
Univ.Universe.t optionval normalize_universe_opt_subst :
universe_opt_subst ->
Univ.Universe.t ->
Univ.Universe.tval normalize_opt_subst : universe_opt_subst -> universe_opt_substval nf_binder_annot :
( Sorts.relevance -> Sorts.relevance ) ->
'a Context.binder_annot ->
'a Context.binder_annotFull universes substitutions into terms
val nf_evars_and_universes_opt_subst :
( Constr.existential -> Constr.constr option ) ->
( Univ.Level.t -> Univ.Level.t ) ->
( Sorts.t -> Sorts.t ) ->
( Sorts.relevance -> Sorts.relevance ) ->
Constr.constr ->
Constr.constrval subst_univs_universe :
( Univ.Level.t -> Univ.Universe.t option ) ->
Univ.Universe.t ->
Univ.Universe.tval pr_universe_subst : ( Univ.Level.t -> Pp.t ) -> universe_subst -> Pp.tval enforce_eq : Univ.Universe.t Univ.constraint_functionval enforce_leq : Univ.Universe.t Univ.constraint_functionval enforce_eq_sort :
Sorts.t ->
Sorts.t ->
Univ.Constraints.t ->
Univ.Constraints.tval enforce_leq_sort :
Sorts.t ->
Sorts.t ->
Univ.Constraints.t ->
Univ.Constraints.tval enforce_leq_alg_sort :
Sorts.t ->
Sorts.t ->
UGraph.t ->
Univ.Constraints.t * UGraph.tPicks an arbitrary set of constraints sufficient to ensure u <= v.