diff options
author | 2005-03-15 16:51:10 +0000 | |
---|---|---|
committer | 2005-03-15 16:51:10 +0000 | |
commit | 4a3a43565c54c3d987b57ecc4a8062777937222b (patch) | |
tree | 34c43c6c0ca069f6c2e5a7008b2f846ac00f787d /pretyping/pretyping.ml | |
parent | 5e034ee8d0e90e4b051de0e1aad889668b8e1ee2 (diff) |
Backtrack sur la substitution combinée avec l'instanciation en réponse à l'inefficacité montrée dans le bug #932: suppression plutôt des Anonymous dans le contexte des evars (cf Evarutil)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6836 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/pretyping.ml')
-rw-r--r-- | pretyping/pretyping.ml | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml index a56280ba8..098c3e095 100644 --- a/pretyping/pretyping.ml +++ b/pretyping/pretyping.ml @@ -349,8 +349,7 @@ let rec pretype tycon env isevars lvar = function let hj = pretype (mk_tycon c1) env isevars lvar c in let newresj = { uj_val = applist (j_val resj, [j_val hj]); - uj_type = subst1_nf_evar (evars_of !isevars) - hj.uj_val c2 } in + uj_type = subst1 hj.uj_val c2 } in apply_rec env (n+1) newresj rest | _ -> @@ -365,7 +364,7 @@ let rec pretype tycon env isevars lvar = function let (dom,rng) = split_tycon floc env isevars tycon in let cj = pretype dom env isevars lvar c in let rng_tycon = - option_app (subst1_nf_evar (evars_of !isevars) cj.uj_val) rng in + option_app (subst1 cj.uj_val) rng in let argloc = loc_of_rawconstr c in (join_loc floc argloc,rng_tycon,(argloc,cj)::jl) in let _,_,jl = @@ -400,7 +399,7 @@ let rec pretype tycon env isevars lvar = function let tycon = option_app (lift 1) tycon in let j' = pretype tycon (push_rel var env) isevars lvar c2 in { uj_val = mkLetIn (name, j.uj_val, t, j'.uj_val) ; - uj_type = subst1_nf_evar (evars_of !isevars) j.uj_val j'.uj_type } + uj_type = subst1 j.uj_val j'.uj_type } | RLetTuple (loc,nal,(na,po),c,d) -> let cj = pretype empty_tycon env isevars lvar c in |