fixed CHANGED_GOAL, which is used by stac
authorpaulson
Mon, 04 Oct 1999 10:19:18 +0200
changeset 7686 4731f10af2e6
parent 7685 3edd32d588a6
child 7687 3383b8223e46
fixed CHANGED_GOAL, which is used by stac
src/Pure/tctical.ML
--- a/src/Pure/tctical.ML	Sun Oct 03 15:54:25 1999 +0200
+++ b/src/Pure/tctical.ML	Mon Oct 04 10:19:18 1999 +0200
@@ -328,13 +328,15 @@
 (*Returns all states that have changed in subgoal i, counted from the LAST
   subgoal.  For stac, for example.*)
 fun CHANGED_GOAL tac i st = 
-    let val j = nprems_of st
+    let val np = nprems_of st
+        val d = np-i                 (*distance from END*)
         val t = List.nth(prems_of st, i-1)
-        fun diff st' = (*true if subgoal still exists and is same as old one*)
-	    not (nprems_of st' >= j
-		 andalso
-		 Pattern.aeconv (t,
-				 List.nth(prems_of st', nprems_of st' - j)))
+        fun diff st' = 
+	    nprems_of st' - d <= 0   (*the subgoal no longer exists*)
+	    orelse 
+             not (Pattern.aeconv (t,
+				  List.nth(prems_of st', 
+					   nprems_of st' - d - 1)))
     in  Seq.filter diff (tac i st)  end
     handle Subscript => Seq.empty  (*no subgoal i*);