aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2000-10-05 19:20:54 +0000
committerherbelin2000-10-05 19:20:54 +0000
commitcac2d5aa2c70f5c9e42c240502a0a6863b4d8026 (patch)
tree741f99232548b655e91a9afe6adff69a253cd78f
parentbc6a92bbcf13044719e3dfd0f2575d07a0cc9036 (diff)
Bug de conflit de nommage d'hyp d'induction dans l'Induction fonctionnant dans les hypothèses
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@657 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/tactics.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index 7597d044e7..48ddc16ce6 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -1049,8 +1049,13 @@ let induct_discharge indpath statuslists cname destopt avoid (_,t) =
| IsProd (na,t,c2) when is_rec_arg indpath t ->
(match kind_of_term c2 with
| IsProd (nar,tr,c3) ->
- if !tophyp=None then tophyp:=Some hyprecname;(* for lstatus *)
- tclTHENLIST
+ (* For lstatus but _buggy_: if intro_gen renames
+ hyprecname differently (because it already exists
+ in goal, then hypothesis associated to None in
+ lstatus will be moved at a wrong place *)
+ if !tophyp=None then
+ tophyp := Some (next_global_ident_away hyprecname avoid);
+ tclTHENLIST
[ intro_gen (IBasedOn (recvarname,avoid)) destopt false;
intro_gen (IBasedOn (hyprecname,avoid)) None false;
peel_tac c3]