aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorherbelin2007-01-22 17:36:04 +0000
committerherbelin2007-01-22 17:36:04 +0000
commit612ea3d4b3c7d7e00616b009050803cd7b7f763e (patch)
treed176ca917b4cc77c1f8710eb80b6d3198576b492 /pretyping
parentc939260137bef6002aad416632641c04601dc2b8 (diff)
Correction d'un bug d'unification-pattern dans l'algo d'unification
des tactiques (ne marchait que si l'instance était une application). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9516 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/unification.ml15
1 files changed, 7 insertions, 8 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml
index 7843b2226e..a70f0876b8 100644
--- a/pretyping/unification.ml
+++ b/pretyping/unification.ml
@@ -147,16 +147,15 @@ let unify_0 env sigma cv_pb mod_delta m n =
| LetIn (_,b,_,c), _ -> unirec_rec curenv pb substn (subst1 b c) cN
| _, LetIn (_,b,_,c) -> unirec_rec curenv pb substn cM (subst1 b c)
- | App (f1,l1), App (f2,l2) ->
- if
- isMeta f1 & is_unification_pattern f1 l1 & not (dependent f1 cN)
- then
+ | App (f1,l1), _ when
+ isMeta f1 & is_unification_pattern f1 l1 & not (dependent f1 cN) ->
solve_pattern_eqn_array curenv f1 l1 cN substn
- else if
- isMeta f2 & is_unification_pattern f2 l2 & not (dependent f2 cM)
- then
+
+ | _, App (f2,l2) when
+ isMeta f2 & is_unification_pattern f2 l2 & not (dependent f2 cM) ->
solve_pattern_eqn_array curenv f2 l2 cM substn
- else
+
+ | App (f1,l1), App (f2,l2) ->
let len1 = Array.length l1
and len2 = Array.length l2 in
let (f1,l1,f2,l2) =