diff options
| author | herbelin | 2008-10-18 15:57:24 +0000 |
|---|---|---|
| committer | herbelin | 2008-10-18 15:57:24 +0000 |
| commit | 8cf4e04fa817cf7ff9d73cb5cb7fff8b3b950387 (patch) | |
| tree | 30fbd47a7c79a0bc4e5d8a94db78294e6b62b02f /tactics/auto.ml | |
| parent | 41dcb1603ea2e212a9167918f3d5dcb6f166e27b (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 'tactics/auto.ml')
| -rw-r--r-- | tactics/auto.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tactics/auto.ml b/tactics/auto.ml index 58730d5d1b..e9ec90ec33 100644 --- a/tactics/auto.ml +++ b/tactics/auto.ml @@ -264,7 +264,7 @@ let make_exact_entry pri (c,cty) = failwith "make_exact_entry" | _ -> let ce = mk_clenv_from dummy_goal (c,cty) in - let c' = clenv_type ce in + let c' = clenv_direct_nf_type ce in let pat = Pattern.pattern_of_constr c' in (Some (head_of_constr_reference (List.hd (head_constr cty))), { pri=(match pri with Some pri -> pri | None -> 0); pat=Some pat; code=Give_exact c }) @@ -274,7 +274,7 @@ let make_apply_entry env sigma (eapply,hnf,verbose) pri (c,cty) = match kind_of_term cty with | Prod _ -> let ce = mk_clenv_from dummy_goal (c,cty) in - let c' = clenv_type ce in + let c' = clenv_direct_nf_type ce in let pat = Pattern.pattern_of_constr c' in let hd = (try head_pattern_bound pat with BoundPattern -> failwith "make_apply_entry") in @@ -342,7 +342,7 @@ let make_trivial env sigma c = let hd = head_of_constr_reference (List.hd (head_constr t)) in let ce = mk_clenv_from dummy_goal (c,t) in (Some hd, { pri=1; - pat = Some (Pattern.pattern_of_constr (clenv_type ce)); + pat = Some (Pattern.pattern_of_constr (clenv_direct_nf_type ce)); code=Res_pf_THEN_trivial_fail(c,{ce with env=empty_env}) }) open Vernacexpr |
