aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
diff options
context:
space:
mode:
authorGravatar mohring <mohring@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-05-15 07:47:00 +0000
committerGravatar mohring <mohring@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-05-15 07:47:00 +0000
commitd2510f9a76cef997e22e1968031c5317be2b7c8f (patch)
treefbcf25ebbcaac1e83082a838f34829013954bf23 /pretyping
parent675884d2e03507602f4149eec7917d047b82e941 (diff)
Modification pour passage p-automates
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1753 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/evarconv.ml13
1 files changed, 8 insertions, 5 deletions
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml
index 3d8653da0..766e6e0e9 100644
--- a/pretyping/evarconv.ml
+++ b/pretyping/evarconv.ml
@@ -51,7 +51,7 @@ let evar_apprec env isevars stack c =
(* Precondition: one of the terms of the pb is an uninstanciated evar,
* possibly applied to arguments. *)
-let rec evar_conv_x env isevars pbty term1 term2 =
+let rec evar_conv_x env isevars pbty term1 term2 =
let term1 = whd_ise1 (evars_of isevars) term1 in
let term2 = whd_ise1 (evars_of isevars) term2 in
(*
@@ -219,16 +219,19 @@ and evar_eqappr_x env isevars pbty (term1,l1 as appr1) (term2,l2 as appr2) =
& (List.length l1 = List.length l2)
& (List.for_all2 (evar_conv_x env isevars CONV) l1 l2)
and f2 () =
- evar_eqappr_x env isevars pbty (subst1 b1 c'1,l1)
- (subst1 b2 c'2,l2)
+ let appr1 = evar_apprec env isevars l1 (subst1 b1 c'1)
+ and appr2 = evar_apprec env isevars l2 (subst1 b2 c'2)
+ in evar_eqappr_x env isevars pbty appr1 appr2
in
ise_try isevars [f1; f2]
| IsLetIn (_,b1,_,c'1), _ ->(* On fait commuter les args avec le Let *)
- evar_eqappr_x env isevars pbty (subst1 b1 c'1,l1) appr2
+ let appr1 = evar_apprec env isevars l1 (subst1 b1 c'1)
+ in evar_eqappr_x env isevars pbty appr1 appr2
| _, IsLetIn (_,b2,_,c'2) ->
- evar_eqappr_x env isevars pbty appr1 (subst1 b2 c'2,l2)
+ let appr2 = evar_apprec env isevars l2 (subst1 b2 c'2)
+ in evar_eqappr_x env isevars pbty appr1 appr2
| IsProd (n,c1,c'1), IsProd (_,c2,c'2) when l1=[] & l2=[] ->
evar_conv_x env isevars CONV c1 c2