stac now uses CHANGED_GOAL and correctly fails when it has no useful effect,
authorpaulson
Tue, 14 Jul 1998 13:29:39 +0200
changeset 5139 013ea0f023e3
parent 5138 b02dfb930bd9
child 5140 216a5dab14b6
stac now uses CHANGED_GOAL and correctly fails when it has no useful effect, even for conditional rewrites
src/FOL/IFOL.ML
src/HOL/HOL.ML
--- a/src/FOL/IFOL.ML	Mon Jul 13 17:46:20 1998 +0200
+++ b/src/FOL/IFOL.ML	Tue Jul 14 13:29:39 1998 +0200
@@ -238,7 +238,9 @@
 
 (*Substitution: rule and tactic*)
 bind_thm ("ssubst", sym RS subst);
-fun stac th = CHANGED o rtac (th RS ssubst);
+
+(*Fails unless the substitution has an effect*)
+fun stac th = CHANGED_GOAL (rtac (th RS ssubst));
 
 (*A special case of ex1E that would otherwise need quantifier expansion*)
 qed_goal "ex1_equalsE" IFOL.thy
--- a/src/HOL/HOL.ML	Mon Jul 13 17:46:20 1998 +0200
+++ b/src/HOL/HOL.ML	Tue Jul 14 13:29:39 1998 +0200
@@ -343,7 +343,9 @@
 
 (** Standard abbreviations **)
 
-fun stac th = CHANGED o rtac (th RS ssubst);
+(*Fails unless the substitution has an effect*)
+fun stac th = CHANGED_GOAL (rtac (th RS ssubst));
+
 fun strip_tac i = REPEAT(resolve_tac [impI,allI] i);