GlobalThis module defines the global environment of Rocq. The functions below are exactly the same as the ones in Safe_typing, operating on that global environment. add_* functions perform name verification, i.e. check that the name given as argument match those provided by Safe_typing.
val safe_env : unit -> Safe_typing.safe_environmentval env : unit -> Environ.envval universes : unit -> UGraph.tval named_context_val : unit -> Environ.named_context_valval named_context : unit -> Constr.named_contextval set_typing_flags : Declarations.typing_flags -> unitval typing_flags : unit -> Declarations.typing_flagsVariables, Local definitions, constants, inductive types
val push_named_assum : (Names.Id.t * Constr.types) -> unitval push_named_def : (Names.Id.t * Entries.section_def_entry) -> unitval push_section_context : UVars.UContext.t -> unitval export_private_constants : Safe_typing.private_constants -> Safe_typing.exported_private_constant listval add_constant : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.constant_entry -> Names.Constant.tval fill_opaque : Safe_typing.opaque_certificate -> unitval add_private_constant : Names.Id.t -> Univ.ContextSet.t -> Safe_typing.side_effect_declaration -> Names.Constant.t * Safe_typing.private_constantsval add_rewrite_rules : Names.Id.t -> Declarations.rewrite_rules_body -> unitval add_mind : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.mutual_inductive_entry -> Names.MutInd.t * IndTyping.NotPrimRecordReason.t optionval add_constraints : Univ.Constraints.t -> unitExtra universe constraints
val push_context_set : Univ.ContextSet.t -> unitNon-interactive modules and module types
val add_module : Names.Id.t -> Entries.module_entry -> Declarations.inline -> Names.ModPath.t * Mod_subst.delta_resolverval add_modtype : Names.Id.t -> Entries.module_type_entry -> Declarations.inline -> Names.ModPath.tval add_include : Entries.module_struct_entry -> bool -> Declarations.inline -> Mod_subst.delta_resolverSections
val close_section : Summary.Interp.frozen -> unitClose the section and reset the global state to the one at the time when the section what opened.
Interactive modules and module types
val start_module : Names.Id.t -> Names.ModPath.tval start_modtype : Names.Id.t -> Names.ModPath.tval end_module : Summary.Interp.frozen -> Names.Id.t -> (Entries.module_struct_entry * Declarations.inline) option -> Names.ModPath.t * Names.MBId.t list * Mod_subst.delta_resolverval end_modtype : Summary.Interp.frozen -> Names.Id.t -> Names.ModPath.t * Names.MBId.t listval add_module_parameter : Names.MBId.t -> Entries.module_struct_entry -> Declarations.inline -> Mod_subst.delta_resolverval lookup_named : Names.variable -> Constr.named_declarationval lookup_constant : Names.Constant.t -> Declarations.constant_bodyval lookup_inductive : Names.inductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_bodyval lookup_pinductive : Constr.pinductive -> Declarations.mutual_inductive_body * Declarations.one_inductive_bodyval lookup_mind : Names.MutInd.t -> Declarations.mutual_inductive_bodyval lookup_module : Names.ModPath.t -> Declarations.module_bodyval lookup_modtype : Names.ModPath.t -> Declarations.module_type_bodyval exists_objlabel : Names.Label.t -> boolval constant_of_delta_kn : Names.KerName.t -> Names.Constant.tval mind_of_delta_kn : Names.KerName.t -> Names.MutInd.ttype indirect_accessor = {access_proof : Opaqueproof.opaque -> Opaqueproof.opaque_proofterm option; |
}val force_proof : indirect_accessor -> Opaqueproof.opaque -> Opaqueproof.opaque_prooftermval body_of_constant : indirect_accessor -> Names.Constant.t -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) optionReturns the body of the constant if it has any, and the polymorphic context it lives in. For monomorphic constant, the latter is empty, and for polymorphic constants, the term contains De Bruijn universe variables that need to be instantiated.
val body_of_constant_body : indirect_accessor -> Declarations.constant_body -> (Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) optionSame as body_of_constant but on constant_body.
val start_library : Names.DirPath.t -> Names.ModPath.tval export : output_native_objects:bool -> Names.DirPath.t -> Names.ModPath.t * Safe_typing.compiled_library * Vmlibrary.compiled_library * Nativelib.native_libraryval import : Safe_typing.compiled_library -> Vmlibrary.on_disk -> Safe_typing.vodigest -> Names.ModPath.tFunction to get an environment from the constants part of the global * environment and a given context.
val env_of_context : Environ.named_context_val -> Environ.envval is_polymorphic : Names.GlobRef.t -> boolval is_template_polymorphic : Names.GlobRef.t -> boolval is_type_in_type : Names.GlobRef.t -> boolval register_inline : Names.Constant.t -> unitval register_inductive : Names.inductive -> 'a CPrimitives.prim_ind -> unitval set_strategy : Conv_oracle.evaluable -> Conv_oracle.level -> unitval current_modpath : unit -> Names.ModPath.tval current_dirpath : unit -> Names.DirPath.tval with_global : (Environ.env -> Names.DirPath.t -> 'a Univ.in_universe_context_set) -> 'aval global_env_summary_tag : Safe_typing.safe_environment Summary.Dyn.tag