(************************************************************************) (* * The Rocq Prover / The Rocq Development Team *) (* v * Copyright INRIA, CNRS and contributors *) (* <O___,, * (see version control and CREDITS file for authors & dates) *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************)
open Names open Declarations open Mod_declarations
(** This module defines the global environment of Rocq. The functions belowareexactlythesameastheonesin[Safe_typing],operatingon thatglobalenvironment.[add_*]functionsperformnameverification, i.e.checkthatthenamegivenasargumentmatchthoseprovidedby
[Safe_typing]. *)
val safe_env : unit -> Safe_typing.safe_environment val env : unit -> Environ.env
val universes : unit -> UGraph.t val qualities : unit -> Sorts.QVar.Set.t val named_context_val : unit -> Environ.named_context_val val named_context : unit -> Constr.named_context
(** {6 Enriching the global environment } *)
(** Changing the (im)predicativity of the system *) val set_impredicative_set : bool -> unit
val set_indices_matter : bool -> unit val set_typing_flags : typing_flags -> unit val set_check_guarded : bool -> unit val set_check_positive : bool -> unit val set_check_universes : bool -> unit val typing_flags : unit -> typing_flags val set_allow_sprop : bool -> unit val sprop_allowed : unit -> bool val set_rewrite_rules_allowed : bool -> unit val rewrite_rules_allowed : unit -> bool
(** Variables, Local definitions, constants, inductive types *)
val push_named_assum : (Id.t * Constr.types) -> unit val push_named_def : (Id.t * Entries.section_def_entry) -> unit val push_section_context : UVars.UContext.t -> unit
val export_private_constants :
Safe_typing.private_constants ->
Safe_typing.exported_private_constant list
val add_constant :
?typing_flags:typing_flags ->
Id.t -> Entries.constant_entry -> Constant.t val fill_opaque : Safe_typing.opaque_certificate -> unit val add_private_constant :
Id.t -> Univ.ContextSet.t -> Safe_typing.side_effect_declaration -> Constant.t * Safe_typing.private_constants val add_rewrite_rules : Id.t -> rewrite_rules_body -> unit val add_mind :
?typing_flags:typing_flags ->
Id.t -> Entries.mutual_inductive_entry ->
MutInd.t * IndTyping.NotPrimRecordReason.t option
(** Extra universe constraints *) val add_constraints : Univ.Constraints.t -> unit
val push_context_set : Univ.ContextSet.t -> unit
(** Extra sort qualities *) val push_quality_set : Sorts.QVar.Set.t -> unit
val open_section : unit -> unit (** [poly] is true when the section should be universe polymorphic *)
val close_section : Summary.Interp.frozen -> unit (** Close the section and reset the global state to the one at the time when
the section what opened. *)
val sections_are_opened : unit -> bool
(** {6 Section management for discharge } *)
val section_segment_of_constant : Constant.t -> Cooking.cooking_info val section_segment_of_inductive: MutInd.t -> Cooking.cooking_info val section_segment_of_reference : GlobRef.t -> Cooking.cooking_info
val section_instance : GlobRef.t -> Constr.t array val is_in_section : GlobRef.t -> bool
(** [discharge_proj_repr p] discharges projection [p] if the associated record wasdefinedinthecurrentsection.Ifthatisnotthecase,itreturns[p]
unchanged. *) val discharge_proj_repr : Projection.Repr.t -> Projection.Repr.t
(** Interactive modules and module types *)
val start_module : Id.t -> ModPath.t val start_modtype : Id.t -> ModPath.t
val end_module : Summary.Interp.frozen -> Id.t ->
(Entries.module_struct_entry * inline) option ->
ModPath.t * MBId.t list * Mod_subst.delta_resolver
val end_modtype : Summary.Interp.frozen -> Id.t -> ModPath.t * MBId.t list
val add_module_parameter :
MBId.t -> Entries.module_struct_entry -> inline ->
Mod_subst.delta_resolver
(** {6 Queries in the global environment } *)
val lookup_named : variable -> Constr.named_declaration val lookup_constant : Constant.t -> constant_body val lookup_inductive : inductive ->
mutual_inductive_body * one_inductive_body val lookup_pinductive : Constr.pinductive ->
mutual_inductive_body * one_inductive_body val lookup_mind : MutInd.t -> mutual_inductive_body val lookup_module : ModPath.t -> module_body val lookup_modtype : ModPath.t -> module_type_body val exists_objlabel : Label.t -> bool
val constant_of_delta_kn : KerName.t -> Constant.t val mind_of_delta_kn : KerName.t -> MutInd.t
val force_proof : indirect_accessor -> Opaqueproof.opaque -> Opaqueproof.opaque_proofterm
val body_of_constant : indirect_accessor -> Constant.t ->
(Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option (** Returns the body of the constant if it has any, and the polymorphic context itlivesin.Formonomorphicconstant,thelatterisempty,andfor polymorphicconstants,thetermcontainsDeBruijnuniversevariablesthat
need to be instantiated. *)
val body_of_constant_body : indirect_accessor ->
constant_body ->
(Constr.constr * unit Opaqueproof.delayed_universes * UVars.AbstractContext.t) option (** Same as {!body_of_constant} but on {!constant_body}. *)
(** {6 Compiled libraries } *)
val start_library : DirPath.t -> ModPath.t val export : output_native_objects:bool -> DirPath.t ->
ModPath.t * Safe_typing.compiled_library * Vmlibrary.compiled_library * Nativelib.native_library val import :
Safe_typing.compiled_library -> Vmlibrary.on_disk -> Safe_typing.vodigest ->
ModPath.t
(** {6 Misc } *)
(** Function 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.env
val is_joined_environment : unit -> bool val is_curmod_library : unit -> bool
val is_polymorphic : GlobRef.t -> bool val is_template_polymorphic : GlobRef.t -> bool val is_type_in_type : GlobRef.t -> bool
(** {6 Retroknowledge } *)
val register_inline : Constant.t -> unit val register_inductive : inductive -> 'a CPrimitives.prim_ind -> unit
(** {6 Oracle } *)
val set_strategy : Conv_oracle.evaluable -> Conv_oracle.level -> unit
(** {6 Conversion settings } *)
val set_share_reduction : bool -> unit
val set_VM : bool -> unit val set_native_compiler : bool -> unit
(* Modifies the global state, registering new universes *)
val current_modpath : unit -> ModPath.t
val current_dirpath : unit -> DirPath.t
val with_global : (Environ.env -> DirPath.t -> 'a Univ.in_universe_context_set) -> 'a
val global_env_summary_tag : Safe_typing.safe_environment Summary.Dyn.tag
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.11Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.