diff options
author | 2000-10-23 08:22:21 +0000 | |
---|---|---|
committer | 2000-10-23 08:22:21 +0000 | |
commit | f6024ab2a908b26989f39e026d2e303b91821064 (patch) | |
tree | 7e1bb9571b32e13db3bc731bbb72150eb5e387e8 /pretyping/coercion.ml | |
parent | c10dd2a7f83b9beae3f8934a5c46e20f0570a54a (diff) |
Petit nettoyage de Evarutil et Evarconv
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@735 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/coercion.ml')
-rw-r--r-- | pretyping/coercion.ml | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pretyping/coercion.ml b/pretyping/coercion.ml index 08f46aef5..6280fc392 100644 --- a/pretyping/coercion.ml +++ b/pretyping/coercion.ml @@ -156,7 +156,7 @@ let inh_conv_coerce_to loc env isevars cj t = each arg$_i$, if necessary *) let inh_apply_rel_list apploc env isevars argjl funj tycon = - let rec apply_rec n acc typ = function + let rec apply_rec env n acc typ = function | [] -> let resj = { uj_val = applist (j_val funj, List.rev acc); @@ -170,7 +170,7 @@ let inh_apply_rel_list apploc env isevars argjl funj tycon = | hj::restjl -> match kind_of_term (whd_betadeltaiota env !isevars typ) with - | IsProd (_,c1,c2) -> + | IsProd (na,c1,c2) -> let hj' = (try inh_conv_coerce_to_fail env isevars c1 hj @@ -181,10 +181,11 @@ let inh_apply_rel_list apploc env isevars argjl funj tycon = (j_nf_ise env !isevars funj) (jl_nf_ise env !isevars argjl)) in - apply_rec (n+1) ((j_val hj')::acc) (subst1 hj'.uj_val c2) restjl + apply_rec (push_rel_assum (na,c1) env) + (n+1) ((j_val hj')::acc) (subst1 hj'.uj_val c2) restjl | _ -> error_cant_apply_not_functional_loc apploc env (j_nf_ise env !isevars funj) (jl_nf_ise env !isevars argjl) in - apply_rec 1 [] funj.uj_type argjl + apply_rec env 1 [] funj.uj_type argjl |