package coq
Module IndTypingSource
Source
val typecheck_inductive :
Environ.env ->
sec_univs:Univ.Level.t array option ->
Entries.mutual_inductive_entry ->
Environ.env
* Declarations.universes
* Declarations.template_universes option
* Univ.Variance.t array option
* Names.Id.t array option option
* Constr.rel_context
* ((Declarations.inductive_arity * Constr.types array)
* (Constr.rel_context * (Constr.rel_context * Constr.types) array)
* Sorts.family)
arrayType checking for some inductive entry. Returns:
- environment with inductives + parameters in rel context
- abstracted universes
- checked variance info (variance for section universes is at the beginning of the array)
- record entry (checked to be OK)
- parameters
- for each inductive, (arity * constructors) (with params) * (indices * splayed constructor types) (both without params) * top allowed elimination
Source
val template_polymorphic_univs :
ctor_levels:Univ.Level.Set.t ->
Univ.ContextSet.t ->
Constr.rel_context ->
Univ.Universe.t ->
(Univ.Level.Set.t * Univ.Level.t option list) option