diff options
| author | aspiwack | 2009-03-04 16:51:35 +0000 |
|---|---|---|
| committer | aspiwack | 2009-03-04 16:51:35 +0000 |
| commit | ec6ef01a50f874bae1fc2d8cc2513e303f2a575c (patch) | |
| tree | e466da649473f369358a98eff00d335b96c3c9c6 /tactics | |
| parent | d7119aa0064e0cad1123983417e8beccfb6fe96c (diff) | |
Backtrack sur la mémoïsation de nf_evar.
L'expérience prouve que ce n'est pas franchement concluant.
On peut se risquer à une explication :
- nf_evar, version mémoïsée n'est pas tail recursive
- On retarde la substitution des hypothèses de l'evar en échange de
faire moins de substitutions d'evars. Intuitivement c'est intéressant
seulement si il y a plus de substitutions d'evar dupliquées que
d'hypothèses dupliquées. Ce qui ne doit pas être le cas (ne serait-ce
que parce que dupliquer une evar duplique aussi ses variables libres).
This reverts commit 066a564021788e995eb166ad6ed6e55611d6f593.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11958 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/tacinterp.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 3b6d427aeb..0129c06c87 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -1427,7 +1427,7 @@ let solvable_by_tactic env evi (ev,args) src = let solve_remaining_evars env initial_sigma evd c = let evdref = ref (Typeclasses.resolve_typeclasses ~fail:true env evd) in let rec proc_rec c = - match kind_of_term (Evd.whd_evar ( !evdref) c) with + match kind_of_term (Reductionops.whd_evar ( !evdref) c) with | Evar (ev,args as k) when not (Evd.mem initial_sigma ev) -> let (loc,src) = evar_source ev !evdref in let sigma = !evdref in |
