diff options
author | 2008-04-27 11:16:15 +0000 | |
---|---|---|
committer | 2008-04-27 11:16:15 +0000 | |
commit | e961ace331ec961dcec0e2525d7b9142d04b5154 (patch) | |
tree | 08ffca7a4fdb28b5a79f3409d8478deecb099c3d /pretyping/unification.ml | |
parent | fc10282837971f8f0648841d944dd64b11d3a3db (diff) |
- Fix bug in unification not taking into account the right meta
substitution. Makes unification succeed a bit more often, hence auto
works better in some cases.
- Backtrack the changes of auto using Hint Unfold to do more delta and add
a new tactic "new auto" which does that, for compatibility.
The first fix may have a big impact on the contribs, whereas the second
should make them compile again... we'll see.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10855 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/unification.ml')
-rw-r--r-- | pretyping/unification.ml | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml index 90d6bb081..216900bdb 100644 --- a/pretyping/unification.ml +++ b/pretyping/unification.ml @@ -148,7 +148,7 @@ let expand_constant env flags c = let unify_0_with_initial_metas metas conv_at_top env sigma cv_pb flags m n = let nb = nb_rel env in let trivial_unify pb (metasubst,_) m n = - match subst_defined_metas metas m with + match subst_defined_metas metasubst m with | Some m -> (match flags.modulo_conv_on_closed_terms with Some flags -> @@ -214,9 +214,9 @@ let unify_0_with_initial_metas metas conv_at_top env sigma cv_pb flags m n = let pb = ConvUnderApp (len1,len2) in array_fold_left2 (unirec_rec curenv topconv true) (unirec_rec curenv pb true substn f1 f2) l1 l2 - with ex when precatchable_exception ex -> - expand curenv pb b substn cM f1 l1 cN f2 l2) - + with ex when precatchable_exception ex -> + expand curenv pb b substn cM f1 l1 cN f2 l2) + | _ -> let (f1,l1) = match kind_of_term cM with App (f,l) -> (f,l) | _ -> (cM,[||]) in |