src/Provers/classical.ML
changeset 42812 dda4aef7cba4
parent 42810 2425068fe13a
child 42817 7e819eb7dabb
--- a/src/Provers/classical.ML	Sat May 14 22:00:24 2011 +0200
+++ b/src/Provers/classical.ML	Sun May 15 16:40:24 2011 +0200
@@ -18,11 +18,6 @@
   addSbefore addSafter addbefore addafter
   addD2 addE2 addSD2 addSE2;
 
-
-(*should be a type abbreviation in signature CLASSICAL*)
-type netpair = (int * (bool * thm)) Net.net * (int * (bool * thm)) Net.net;
-type wrapper = (int -> tactic) -> (int -> tactic);
-
 signature CLASSICAL_DATA =
 sig
   val imp_elim: thm  (* P --> Q ==> (~ R ==> P) ==> (Q ==> R) ==> R *)
@@ -35,21 +30,8 @@
 
 signature BASIC_CLASSICAL =
 sig
+  type wrapper = (int -> tactic) -> int -> tactic
   type claset
-  val empty_cs: claset
-  val merge_cs: claset * claset -> claset
-  val rep_cs: claset ->
-   {safeIs: thm Item_Net.T,
-    safeEs: thm Item_Net.T,
-    hazIs: thm Item_Net.T,
-    hazEs: thm Item_Net.T,
-    swrappers: (string * (Proof.context -> wrapper)) list,
-    uwrappers: (string * (Proof.context -> wrapper)) list,
-    safe0_netpair: netpair,
-    safep_netpair: netpair,
-    haz_netpair: netpair,
-    dup_netpair: netpair,
-    xtra_netpair: Context_Rules.netpair}
   val print_claset: Proof.context -> unit
   val addDs: Proof.context * thm list -> Proof.context
   val addEs: Proof.context * thm list -> Proof.context
@@ -114,6 +96,19 @@
 sig
   include BASIC_CLASSICAL
   val classical_rule: thm -> thm
+  type netpair = (int * (bool * thm)) Net.net * (int * (bool * thm)) Net.net
+  val rep_cs: claset ->
+   {safeIs: thm Item_Net.T,
+    safeEs: thm Item_Net.T,
+    hazIs: thm Item_Net.T,
+    hazEs: thm Item_Net.T,
+    swrappers: (string * (Proof.context -> wrapper)) list,
+    uwrappers: (string * (Proof.context -> wrapper)) list,
+    safe0_netpair: netpair,
+    safep_netpair: netpair,
+    haz_netpair: netpair,
+    dup_netpair: netpair,
+    xtra_netpair: Context_Rules.netpair}
   val get_cs: Context.generic -> claset
   val map_cs: (claset -> claset) -> Context.generic -> Context.generic
   val safe_dest: int option -> attribute
@@ -213,6 +208,9 @@
 
 (**** Classical rule sets ****)
 
+type netpair = (int * (bool * thm)) Net.net * (int * (bool * thm)) Net.net;
+type wrapper = (int -> tactic) -> int -> tactic;
+
 datatype claset =
   CS of
    {safeIs         : thm Item_Net.T,          (*safe introduction rules*)