diff options
| author | herbelin | 2007-01-22 17:36:04 +0000 |
|---|---|---|
| committer | herbelin | 2007-01-22 17:36:04 +0000 |
| commit | 612ea3d4b3c7d7e00616b009050803cd7b7f763e (patch) | |
| tree | d176ca917b4cc77c1f8710eb80b6d3198576b492 /pretyping | |
| parent | c939260137bef6002aad416632641c04601dc2b8 (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.ml | 15 |
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) = |
