package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type lazy_val
val build_lazy_val : lazy_val -> (Vmvalues.values * Names.Id.Set.t) -> unit
val force_lazy_val : lazy_val -> (Vmvalues.values * Names.Id.Set.t) option
val dummy_lazy_val : unit -> lazy_val
type key = int CEphemeron.key option ref
type constant_key = Declarations.constant_body * (link_info ref * key)
type globals
type stratification = {
  1. env_universes : UGraph.t;
  2. env_engagement : Declarations.engagement;
}
type named_context_val = private {
  1. env_named_ctx : Constr.named_context;
  2. env_named_map : (Constr.named_declaration * lazy_val) Names.Id.Map.t;
}
type rel_context_val = private {
  1. env_rel_ctx : Constr.rel_context;
  2. env_rel_map : (Constr.rel_declaration * lazy_val) Range.t;
}
type env = private {
  1. env_globals : globals;
  2. env_named_context : named_context_val;
  3. env_rel_context : rel_context_val;
  4. env_nb_rel : int;
  5. env_stratification : stratification;
  6. env_typing_flags : Declarations.typing_flags;
  7. retroknowledge : Retroknowledge.retroknowledge;
  8. indirect_pterms : Opaqueproof.opaquetab;
}
val oracle : env -> Conv_oracle.oracle
val set_oracle : env -> Conv_oracle.oracle -> env
val eq_named_context_val : named_context_val -> named_context_val -> bool
val empty_env : env
val universes : env -> UGraph.t
val rel_context : env -> Constr.rel_context
val named_context : env -> Constr.named_context
val named_context_val : env -> named_context_val
val opaque_tables : env -> Opaqueproof.opaquetab
val set_opaque_tables : env -> Opaqueproof.opaquetab -> env
val engagement : env -> Declarations.engagement
val typing_flags : env -> Declarations.typing_flags
val is_impredicative_set : env -> bool
val type_in_type : env -> bool
val deactivated_guard : env -> bool
val empty_context : env -> bool
val nb_rel : env -> int
val push_rel : Constr.rel_declaration -> env -> env
val push_rel_context : Constr.rel_context -> env -> env
val push_rec_types : Constr.rec_declaration -> env -> env
val lookup_rel : int -> env -> Constr.rel_declaration
val lookup_rel_val : int -> env -> lazy_val
val evaluable_rel : int -> env -> bool
val env_of_rel : int -> env -> env
val fold_rel_context : (env -> Constr.rel_declaration -> 'a -> 'a) -> env -> init:'a -> 'a
val named_context_of_val : named_context_val -> Constr.named_context
val val_of_named_context : Constr.named_context -> named_context_val
val empty_named_context_val : named_context_val
val ids_of_named_context_val : named_context_val -> Names.Id.Set.t
val push_named : Constr.named_declaration -> env -> env
val push_named_context : Constr.named_context -> env -> env
val lookup_named_val : Names.variable -> env -> lazy_val
val evaluable_named : Names.variable -> env -> bool
val named_type : Names.variable -> env -> Constr.types
val named_body : Names.variable -> env -> Constr.constr option
val fold_named_context : (env -> Constr.named_declaration -> 'a -> 'a) -> env -> init:'a -> 'a
val set_universes : env -> UGraph.t -> env
val fold_named_context_reverse : ('a -> Constr.named_declaration -> 'a) -> init:'a -> env -> 'a
val reset_context : env -> env
val reset_with_named_context : named_context_val -> env -> env
val pop_rel_context : int -> env -> env
val fold_constants : (Names.Constant.t -> Declarations.constant_body -> 'a -> 'a) -> env -> 'a -> 'a
val add_constant_key : Names.Constant.t -> Declarations.constant_body -> link_info -> env -> env
val lookup_constant_key : Names.Constant.t -> env -> constant_key
val lookup_constant : Names.Constant.t -> env -> Declarations.constant_body
val evaluable_constant : Names.Constant.t -> env -> bool
val polymorphic_constant : Names.Constant.t -> env -> bool
val polymorphic_pconstant : Constr.pconstant -> env -> bool
val type_in_type_constant : Names.Constant.t -> env -> bool
type const_evaluation_result =
  1. | NoBody
  2. | Opaque
exception NotEvaluableConst of const_evaluation_result
val constant_value_and_type : env -> Names.Constant.t Univ.puniverses -> Constr.constr option * Constr.types * Univ.Constraint.t
val constant_context : env -> Names.Constant.t -> Univ.AUContext.t
val constant_value_in : env -> Names.Constant.t Univ.puniverses -> Constr.constr
val constant_type_in : env -> Names.Constant.t Univ.puniverses -> Constr.types
val constant_opt_value_in : env -> Names.Constant.t Univ.puniverses -> Constr.constr option
val lookup_projection : Names.Projection.t -> env -> Constr.types
val get_projection : env -> Names.inductive -> proj_arg:int -> Names.Projection.Repr.t option
val get_projections : env -> Names.inductive -> Names.Projection.Repr.t array option
val lookup_mind_key : Names.MutInd.t -> env -> mind_key
val add_mind_key : Names.MutInd.t -> mind_key -> env -> env
val polymorphic_ind : Names.inductive -> env -> bool
val polymorphic_pind : Constr.pinductive -> env -> bool
val type_in_type_ind : Names.inductive -> env -> bool
val template_polymorphic_ind : Names.inductive -> env -> bool
val template_polymorphic_pind : Constr.pinductive -> env -> bool
val add_modtype : Declarations.module_type_body -> env -> env
val shallow_add_module : Declarations.module_body -> env -> env
val lookup_module : Names.ModPath.t -> env -> Declarations.module_body
val add_constraints : Univ.Constraint.t -> env -> env
val check_constraints : Univ.Constraint.t -> env -> bool
val push_context : ?strict:bool -> Univ.UContext.t -> env -> env
val push_context_set : ?strict:bool -> Univ.ContextSet.t -> env -> env
val push_constraints_to_env : 'a Univ.constrained -> env -> env
val set_engagement : Declarations.engagement -> env -> env
val set_typing_flags : Declarations.typing_flags -> env -> env
val global_vars_set : env -> Constr.constr -> Names.Id.Set.t
val vars_of_global : env -> Constr.constr -> Names.Id.Set.t
val really_needed : env -> Names.Id.Set.t -> Names.Id.Set.t
type (!'constr, !'types) punsafe_judgment = {
  1. uj_val : 'constr;
  2. uj_type : 'types;
}
type unsafe_judgment = (Constr.constr, Constr.types) punsafe_judgment
val make_judge : 'constr -> 'types -> ('constr, 'types) punsafe_judgment
val j_val : ('constr, 'types) punsafe_judgment -> 'constr
val j_type : ('constr, 'types) punsafe_judgment -> 'types
type !'types punsafe_type_judgment = {
  1. utj_val : 'types;
  2. utj_type : Sorts.t;
}
type unsafe_type_judgment = Constr.types punsafe_type_judgment
exception Hyp_not_found
val retroknowledge : (Retroknowledge.retroknowledge -> 'a) -> env -> 'a
  • deprecated Use the record projection.
val registered : env -> Retroknowledge.field -> bool