Module Global
val safe_env : unit -> Safe_typing.safe_environmentval env : unit -> Environ.envval universes : unit -> UGraph.tval universes_lbound : unit -> UGraph.Bound.tval named_context_val : unit -> Environ.named_context_valval named_context : unit -> Constr.named_context
Enriching the global environment
val set_indices_matter : bool -> unitval set_typing_flags : Declarations.typing_flags -> unitval set_check_guarded : bool -> unitval set_check_positive : bool -> unitval set_check_universes : bool -> unitval typing_flags : unit -> Declarations.typing_flagsval set_allow_sprop : bool -> unitval sprop_allowed : unit -> bool
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 -> Safe_typing.global_declaration -> 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_mind : ?typing_flags:Declarations.typing_flags -> Names.Id.t -> Entries.mutual_inductive_entry -> Names.MutInd.tval add_constraints : Univ.Constraints.t -> unitExtra universe constraints
val push_context_set : strict:bool -> Univ.ContextSet.t -> unit
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_resolver
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.
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_resolver
Queries in the global environment
val 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.t
type indirect_accessor={access_proof : Opaqueproof.opaque -> (Constr.t * unit Opaqueproof.delayed_universes) option;}
val force_proof : indirect_accessor -> Opaqueproof.opaque -> Constr.t * unit Opaqueproof.delayed_universesval 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_constantbut onconstant_body.
Compiled libraries
val start_library : Names.DirPath.t -> Names.ModPath.tval export : output_native_objects:bool -> Names.DirPath.t -> Names.ModPath.t * Safe_typing.compiled_library * Nativelib.native_libraryval import : Safe_typing.compiled_library -> Univ.ContextSet.t -> Safe_typing.vodigest -> Names.ModPath.t
Misc
val env_of_context : Environ.named_context_val -> Environ.envval is_joined_environment : unit -> boolval is_curmod_library : unit -> boolval is_polymorphic : Names.GlobRef.t -> boolval is_template_polymorphic : Names.GlobRef.t -> boolval get_template_polymorphic_variables : Names.GlobRef.t -> Univ.Level.t listval is_type_in_type : Names.GlobRef.t -> bool
Retroknowledge
val register_inline : Names.Constant.t -> unitval register_inductive : Names.inductive -> 'a CPrimitives.prim_ind -> unit
Oracle
val set_strategy : Names.Constant.t Names.tableKey -> Conv_oracle.level -> unit
Conversion settings
val set_VM : bool -> unitval set_native_compiler : bool -> 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