aboutsummaryrefslogtreecommitdiff
path: root/pretyping/clenv.mli
diff options
context:
space:
mode:
authorherbelin2008-10-18 15:57:24 +0000
committerherbelin2008-10-18 15:57:24 +0000
commit8cf4e04fa817cf7ff9d73cb5cb7fff8b3b950387 (patch)
tree30fbd47a7c79a0bc4e5d8a94db78294e6b62b02f /pretyping/clenv.mli
parent41dcb1603ea2e212a9167918f3d5dcb6f166e27b (diff)
Optimisation de clenv.ml pour que meta_instance ne soit pas appelé
abusivement sur les clauses. Nettoyage au passage de metamap qui était utilisé à la fois pour les substitutions de meta et pour les contextes de typage de meta. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11467 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/clenv.mli')
-rw-r--r--pretyping/clenv.mli8
1 files changed, 8 insertions, 0 deletions
diff --git a/pretyping/clenv.mli b/pretyping/clenv.mli
index dfa7513495..de5a1e3758 100644
--- a/pretyping/clenv.mli
+++ b/pretyping/clenv.mli
@@ -43,10 +43,16 @@ val subst_clenv : substitution -> clausenv -> clausenv
(* subject of clenv (instantiated) *)
val clenv_value : clausenv -> constr
+(* subject of clenv (assume it is pre-instantiated) *)
+val clenv_direct_value : clausenv -> constr
(* type of clenv (instantiated) *)
val clenv_type : clausenv -> types
+(* type of clenv (assume it is pre-instantiated) *)
+val clenv_direct_nf_type : clausenv -> types
(* substitute resolved metas *)
val clenv_nf_meta : clausenv -> constr -> constr
+(* substitute resolved metas (assume the metas in clausenv are expanded) *)
+val clenv_direct_nf_meta : clausenv -> constr -> constr
(* type of a meta in clenv context *)
val clenv_meta_type : clausenv -> metavariable -> types
@@ -83,6 +89,8 @@ val clenv_dependent : bool -> clausenv -> metavariable list
val clenv_pose_metas_as_evars : clausenv -> metavariable list -> clausenv
+val clenv_expand_metas : clausenv -> clausenv
+
(***************************************************************)
(* Bindings *)