dropped some bookkeeping
authorhaftmann
Fri, 29 Dec 2006 12:11:02 +0100
changeset 21925 5389dcd524e3
parent 21924 fe474e69e603
child 21926 1091904ddb19
dropped some bookkeeping
src/Pure/axclass.ML
--- a/src/Pure/axclass.ML	Fri Dec 29 12:11:00 2006 +0100
+++ b/src/Pure/axclass.ML	Fri Dec 29 12:11:02 2006 +0100
@@ -9,7 +9,7 @@
 signature AX_CLASS =
 sig
   val get_definition: theory -> class -> {def: thm, intro: thm, axioms: thm list,
-    params: (string * typ) list, operational: bool}
+    params: (string * typ) list}
   val class_intros: theory -> thm list
   val class_of_param: theory -> string -> class option
   val params_of_class: theory -> class -> string * (string * typ) list
@@ -68,15 +68,12 @@
  {def: thm,
   intro: thm,
   axioms: thm list,
-  params: (string * typ) list,
-  operational: bool (* == at least one class operation,
-    or at least two operational superclasses *)}    (* FIXME !? *);
+  params: (string * typ) list};
 
 type axclasses = axclass Symtab.table * param list;
 
-fun make_axclass ((def, intro, axioms), (params, operational)) =
-  AxClass {def = def, intro = intro, axioms = axioms, params = params,
-    operational = operational};
+fun make_axclass ((def, intro, axioms), params) =
+  AxClass {def = def, intro = intro, axioms = axioms, params = params};
 
 fun merge_axclasses pp ((tab1, params1), (tab2, params2)) : axclasses =
   (Symtab.merge (K true) (tab1, tab2), merge_params pp (params1, params2));
@@ -178,7 +175,7 @@
     val axclasses = #1 (get_axclasses thy);
     val ctxt = ProofContext.init thy;
 
-    fun pretty_axclass (class, AxClass {def, intro, axioms, params, operational}) =
+    fun pretty_axclass (class, AxClass {def, intro, axioms, params}) =
       Pretty.block (Pretty.fbreaks
        [Pretty.block
           [Pretty.str "class ", ProofContext.pretty_sort ctxt [class], Pretty.str ":"],
@@ -346,13 +343,10 @@
           | _ => error ("exactly one type variable required in parameter " ^ quote param);
         val ty' = Term.map_type_tvar (fn _ => TFree (param_tyvarname, [class])) ty;
       in (param, ty') end) params;
-    val operational = length params_typs > 0 orelse
-      length (filter (the_default false o Option.map
-        (fn AxClass { operational, ... } => operational) o lookup_def thy) super) > 1;
 
     (* result *)
 
-    val axclass = make_axclass ((def, intro, axioms), (params_typs, operational));
+    val axclass = make_axclass ((def, intro, axioms), params_typs);
     val result_thy =
       facts_thy
       |> fold put_classrel (map (pair class) super ~~ classrel)