aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/coercion.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-10-23 08:22:21 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-10-23 08:22:21 +0000
commitf6024ab2a908b26989f39e026d2e303b91821064 (patch)
tree7e1bb9571b32e13db3bc731bbb72150eb5e387e8 /pretyping/coercion.ml
parentc10dd2a7f83b9beae3f8934a5c46e20f0570a54a (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.ml9
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