Module Entries
This module defines the entry types for global declarations. This information is entered in the environments. This includes global constants/axioms, mutual inductive definitions, modules and module types
type universes_entry=|Monomorphic_entry of Univ.ContextSet.t|Polymorphic_entry of Names.Name.t array * Univ.UContext.ttype 'a in_universes_entry= 'a * universes_entry
Declaration of inductive types.
type one_inductive_entry={mind_entry_typename : Names.Id.t;mind_entry_arity : Constr.constr;mind_entry_template : bool;mind_entry_consnames : Names.Id.t list;mind_entry_lc : Constr.constr list;}type mutual_inductive_entry={mind_entry_record : Names.Id.t array option option;Some (Some ids): primitive records with ids the binder name of each record in their respective projections. Not used by the kernel. Some None: non-primitive record
mind_entry_finite : Declarations.recursivity_kind;mind_entry_params : Constr.rel_context;mind_entry_inds : one_inductive_entry list;mind_entry_universes : universes_entry;mind_entry_variance : Univ.Variance.t array option;mind_entry_private : bool option;}
Constants (Definition/Axiom)
type definition_entry={const_entry_body : Constr.constr;const_entry_secctx : Names.Id.Set.t option;const_entry_feedback : Stateid.t option;const_entry_type : Constr.types option;const_entry_universes : universes_entry;const_entry_inline_code : bool;}type section_def_entry={secdef_body : Constr.constr;secdef_secctx : Names.Id.Set.t option;secdef_feedback : Stateid.t option;secdef_type : Constr.types option;}type 'a opaque_entry={opaque_entry_body : 'a;opaque_entry_secctx : Names.Id.Set.t;opaque_entry_feedback : Stateid.t option;opaque_entry_type : Constr.types;opaque_entry_universes : universes_entry;}type inline= int optiontype parameter_entry= Names.Id.Set.t option * Constr.types in_universes_entry * inlinetype primitive_entry={prim_entry_type : Constr.types option;prim_entry_univs : Univ.ContextSet.t;prim_entry_content : CPrimitives.op_or_type;}type 'a proof_output= Constr.constr Univ.in_universe_context_set * 'atype 'a const_entry_body= 'a proof_output Future.computationtype constant_entry=|DefinitionEntry : definition_entry -> constant_entry|ParameterEntry : parameter_entry -> constant_entry|PrimitiveEntry : primitive_entry -> constant_entry
Modules
type module_struct_entry= Declarations.module_alg_exprtype module_params_entry= (Names.MBId.t * module_struct_entry) listolder first
type module_type_entry= module_params_entry * module_struct_entrytype module_entry=|MType of module_params_entry * module_struct_entry|MExpr of module_params_entry * module_struct_entry * module_struct_entry option