aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfilliatr2002-10-08 15:32:58 +0000
committerfilliatr2002-10-08 15:32:58 +0000
commitb0abddeb3e466e7e33c5d94f2421bcc7c131469b (patch)
treee68a84e83d04bf240928d88e889a1f9ea8f6d617
parente986fa49bfc0bb2631407599283cd7c8a3799ae4 (diff)
Subst ne fait pas clear sur x:=e
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3103 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/equality.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/tactics/equality.ml b/tactics/equality.ml
index da35ef0d1c..1b376a92c7 100644
--- a/tactics/equality.ml
+++ b/tactics/equality.ml
@@ -1223,6 +1223,7 @@ let subst_one x gl =
in
map_succeed test hyps
in
+ let clear_x = let (_,d,_) = Sign.lookup_named x (pf_hyps gl) in d = None in
let dephyps = List.rev dephyps in
tclTHENLIST [
generalize (List.map mkVar dephyps);
@@ -1230,7 +1231,7 @@ let subst_one x gl =
rewriteLR (mkVar hyp);
intros_using dephyps;
clear [hyp];
- tclTRY (clear [x])
+ if clear_x then tclTRY (clear [x]) else tclIDTAC
] gl
let rec subst = function