diff options
author | 2010-09-17 16:02:50 +0000 | |
---|---|---|
committer | 2010-09-17 16:02:50 +0000 | |
commit | 84aaa74ff9537dfdfc214ab60f8acf42466878b1 (patch) | |
tree | 6fe6ad11a592f51385f4f82c747c9e08b2929584 /tactics/equality.ml | |
parent | 2a35022f6e0ed8b5a2b2fce5077104cfa6cea1b3 (diff) |
In the computation of missing arguments for apply, accept that the
user either gives all missing arguments not dependent in the concl or
all missing arguments not *recursively* dependent in the concl (as
introduced by commit 13367). In practice, this means that "apply
f_equal with A" remains allowed even though the new, recursive,
analysis detects that all arguments of f_equal are inferable,
including the first type argument (which is inferable from the
knowledge of the function).
Sized the opportunity to better explain the behavior of clenv_dependent.
Also made minor code simplification.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13426 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics/equality.ml')
-rw-r--r-- | tactics/equality.ml | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/tactics/equality.ml b/tactics/equality.ml index 9e716aae5..a4e2b510f 100644 --- a/tactics/equality.ml +++ b/tactics/equality.ml @@ -103,9 +103,7 @@ let instantiate_lemma_all env sigma gl c ty l l2r concl = | _ -> error "The term provided is not an applied relation." in let others,(c1,c2) = split_last_two args in let try_occ (evd', c') = - let cl' = {eqclause with evd = evd'} in - let mvs = clenv_dependent false cl' in - clenv_pose_metas_as_evars cl' mvs + clenv_pose_dependent_evars true {eqclause with evd = evd'} in let occs = Unification.w_unify_to_subterm_all ~flags:rewrite_unif_flags env |