Module IndTyping
val typecheck_inductive : Environ.env -> sec_univs:UVars.Instance.t option -> Entries.mutual_inductive_entry -> Environ.env * Declarations.universes * Declarations.template_universes option * UVars.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) * Declarations.squash_info option) array
Type 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