package coq-core
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=9a35311acec2a806730b94ac7dceabc88837f235c52a14c026827d9b89433bd7fa9555a9fc6829aa49edfedb24c8bbaf1411ebf463b74a50aeb17cba47745b6b
doc/coq-core.kernel/Univ/index.html
Module Univ
Source
univ_level_mem l u
Is l is mentioned in u ?
univ_level_rem u v min
removes u
from v
, resulting in min
if v
was exactly u
.
Constraints.
A value with universe Constraints.t.
Constrained
Enforcing Constraints.t.
Support for universe polymorphism
Universe instances
A vector of universe levels with universe Constraints.t, representing local universe variables and associated Constraints.t; the names are user-facing names for printing
type 'a univ_abstracted = {
univ_abstracted_value : 'a;
univ_abstracted_binder : AbstractContext.t;
}
A value with bound universe levels.
Universe contexts (as sets)
A set of universes with universe Constraints.t. We linearize the set to a list after typechecking. Beware, representation could change.
A value in a universe context (resp. context set).
val extend_in_context_set :
'a in_universe_context_set ->
ContextSet.t ->
'a in_universe_context_set
Substitution
Substitution of universes.
val subst_univs_level_abstract_universe_context :
universe_level_subst ->
AbstractContext.t ->
AbstractContext.t
Level to universe substitutions.
Substitution of instances
Creates u(0) ↦ 0; ...; u(n-1) ↦ n - 1
out of u(0); ...; u(n - 1)
TODO: move universe abstraction out of the kernel
compact_univ u
remaps local variables in u
such that their indices become consecutive. It returns the new universe and the mapping. Example: compact_univ (Var 0, i); (Prop, 0); (Var 2; j))
= (Var 0,i); (Prop, 0); (Var 1; j)
, 0; 2
Pretty-printing of universes.
val pr_universe_context :
(Level.t -> Pp.t) ->
?variance:Variance.t array ->
UContext.t ->
Pp.t
val pr_abstract_universe_context :
(Level.t -> Pp.t) ->
?variance:Variance.t array ->
AbstractContext.t ->
Pp.t