Module Retyping
This family of functions assumes its constr argument is known to be well-typable. It does not type-check, just recompute the type without any costly verifications. On non well-typable terms, it either produces a wrong result or raise an anomaly. Use with care. It doesn't handle predicative universes too.
exceptionRetypeError of retype_error
val get_type_of : ?polyprop:bool -> ?lax:bool -> Environ.env -> Evd.evar_map -> EConstr.constr -> EConstr.typesval get_sort_of : ?polyprop:bool -> Environ.env -> Evd.evar_map -> EConstr.types -> Sorts.tval get_sort_family_of : ?truncation_style:bool -> ?polyprop:bool -> Environ.env -> Evd.evar_map -> EConstr.types -> Sorts.familyval get_judgment_of : Environ.env -> Evd.evar_map -> EConstr.constr -> EConstr.unsafe_judgmentMakes an unsafe judgment from a constr
val type_of_global_reference_knowing_parameters : Environ.env -> Evd.evar_map -> EConstr.constr -> EConstr.constr array -> EConstr.typesval type_of_global_reference_knowing_conclusion : Environ.env -> Evd.evar_map -> EConstr.constr -> EConstr.types -> Evd.evar_map * EConstr.typesval sorts_of_context : Environ.env -> Evd.evar_map -> EConstr.rel_context -> Sorts.t listval expand_projection : Environ.env -> Evd.evar_map -> Names.Projection.t -> EConstr.constr -> EConstr.constr list -> EConstr.constrval print_retype_error : retype_error -> Pp.tval relevance_of_term : Environ.env -> Evd.evar_map -> EConstr.constr -> Sorts.relevanceval relevance_of_type : Environ.env -> Evd.evar_map -> EConstr.types -> Sorts.relevanceval relevance_of_sort : EConstr.ESorts.t -> Sorts.relevanceval relevance_of_sort_family : Sorts.family -> Sorts.relevance