(RAW_)METHOD_CASES: RuleCases.tactic;
authorwenzelm
Fri, 17 Jun 2005 18:33:33 +0200
changeset 16448 6c45c5416b79
parent 16447 01c4b30f91e9
child 16449 d0dc9a301e37
(RAW_)METHOD_CASES: RuleCases.tactic; accomodate change of TheoryDataFun;
src/Pure/Isar/method.ML
--- a/src/Pure/Isar/method.ML	Fri Jun 17 18:33:32 2005 +0200
+++ b/src/Pure/Isar/method.ML	Fri Jun 17 18:33:33 2005 +0200
@@ -18,11 +18,9 @@
   type src
   val trace: Proof.context -> thm list -> unit
   val RAW_METHOD: (thm list -> tactic) -> Proof.method
-  val RAW_METHOD_CASES:
-    (thm list -> thm -> (thm * (string * RuleCases.T option) list) Seq.seq) -> Proof.method
+  val RAW_METHOD_CASES: (thm list -> RuleCases.tactic) -> Proof.method
   val METHOD: (thm list -> tactic) -> Proof.method
-  val METHOD_CASES:
-    (thm list -> thm -> (thm * (string * RuleCases.T option) list) Seq.seq) -> Proof.method
+  val METHOD_CASES: (thm list -> RuleCases.tactic) -> Proof.method
   val SIMPLE_METHOD: tactic -> Proof.method
   val SIMPLE_METHOD': ((int -> tactic) -> tactic) -> (int -> tactic) -> Proof.method
   val fail: Proof.method
@@ -502,15 +500,15 @@
 
 (* data kind 'Isar/methods' *)
 
-structure MethodsDataArgs =
-struct
+structure MethodsData = TheoryDataFun
+(struct
   val name = "Isar/methods";
   type T = (((src -> Proof.context -> Proof.method) * string) * stamp) NameSpace.table;
 
   val empty = NameSpace.empty_table;
   val copy = I;
-  val prep_ext = I;
-  fun merge tables = NameSpace.merge_tables eq_snd tables handle Symtab.DUPS dups =>
+  val extend = I;
+  fun merge _ tables = NameSpace.merge_tables eq_snd tables handle Symtab.DUPS dups =>
     error ("Attempt to merge different versions of method(s) " ^ commas_quote dups);
 
   fun print _ meths =
@@ -521,9 +519,8 @@
       [Pretty.big_list "methods:" (map prt_meth (NameSpace.extern_table meths))]
       |> Pretty.chunks |> Pretty.writeln
     end;
-end;
+end);
 
-structure MethodsData = TheoryDataFun(MethodsDataArgs);
 val _ = Context.add_setup [MethodsData.init];
 val print_methods = MethodsData.print;