diff options
Diffstat (limited to 'pretyping/retyping.mli')
-rw-r--r-- | pretyping/retyping.mli | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/pretyping/retyping.mli b/pretyping/retyping.mli index 4ef54c13..89ba46db 100644 --- a/pretyping/retyping.mli +++ b/pretyping/retyping.mli @@ -1,14 +1,14 @@ (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) -(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2014 *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2015 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -open Names open Term open Evd +open Context open Environ (** This family of functions assumes its constr argument is known to be @@ -20,8 +20,14 @@ open Environ (** The "polyprop" optional argument is used by the extraction to disable "Prop-polymorphism", cf comment in [inductive.ml] *) +(** The "lax" optional argument provides a relaxed version of + [get_type_of] that won't raise any anomaly but RetypeError instead *) + +type retype_error +exception RetypeError of retype_error + val get_type_of : - ?polyprop:bool -> ?refresh:bool -> env -> evar_map -> constr -> types + ?polyprop:bool -> ?lax:bool -> env -> evar_map -> constr -> types val get_sort_of : ?polyprop:bool -> env -> evar_map -> types -> sorts @@ -29,9 +35,6 @@ val get_sort_of : val get_sort_family_of : ?polyprop:bool -> env -> evar_map -> types -> sorts_family -(** Makes an assumption from a constr *) -val get_assumption_of : env -> evar_map -> constr -> types - (** Makes an unsafe judgment from a constr *) val get_judgment_of : env -> evar_map -> constr -> unsafe_judgment @@ -39,4 +42,8 @@ val type_of_global_reference_knowing_parameters : env -> evar_map -> constr -> constr array -> types val type_of_global_reference_knowing_conclusion : - env -> evar_map -> constr -> types -> types + env -> evar_map -> constr -> types -> evar_map * types + +val sorts_of_context : env -> evar_map -> rel_context -> sorts list + +val expand_projection : env -> evar_map -> Names.projection -> constr -> constr list -> constr |