sar split method uses new gen_split_tac.
authornipkow
Wed, 13 Dec 2000 09:30:59 +0100
changeset 10652 e6a4bb832b46
parent 10651 bb3a81a005f7
child 10653 55f33da63366
sar split method uses new gen_split_tac.
src/Provers/splitter.ML
--- a/src/Provers/splitter.ML	Tue Dec 12 14:08:48 2000 +0100
+++ b/src/Provers/splitter.ML	Wed Dec 13 09:30:59 2000 +0100
@@ -372,7 +372,12 @@
   in SUBGOAL tac
   end;
 
-
+fun gen_split_tac [] = K no_tac
+  | gen_split_tac (split::splits) =
+      let val (_,asm) = split_thm_info split
+      in (if asm then split_asm_tac else split_tac) [split] ORELSE'
+         gen_split_tac splits
+      end;
 
 (** declare split rules **)
 
@@ -420,10 +425,9 @@
   Args.$$$ splitN -- Args.add -- Args.colon >> K (I, split_add_local),
   Args.$$$ splitN -- Args.del -- Args.colon >> K (I, split_del_local)];
 
-val split_args = #2 oo Method.syntax (Args.mode "asm" -- Attrib.local_thms);
+val split_args = #2 oo Method.syntax Attrib.local_thms;
 
-fun split_meth (asm, ths) =
-  Method.SIMPLE_METHOD' HEADGOAL (if asm then split_asm_tac ths else split_tac ths);
+fun split_meth ths = Method.SIMPLE_METHOD' HEADGOAL (gen_split_tac ths);