added functor signature constraint;
authorwenzelm
Thu, 14 Jul 1994 11:39:25 +0200
changeset 474 ac1d1988d528
parent 473 fdacecc688a1
child 475 bf2f285aa316
added functor signature constraint;
src/Pure/axclass.ML
--- a/src/Pure/axclass.ML	Thu Jul 14 11:38:24 1994 +0200
+++ b/src/Pure/axclass.ML	Thu Jul 14 11:39:25 1994 +0200
@@ -7,6 +7,7 @@
 TODO:
   remove add_sigclass (?)
   remove goal_... (?)
+  clean signature
 *)
 
 signature AX_CLASS =
@@ -33,11 +34,21 @@
       -> tactic option -> theory -> theory
     val add_inst_arity: string * sort list * class list -> string list
       -> thm list -> tactic option -> theory -> theory
+    val add_defns: (string * string) list -> theory -> theory  (* FIXME *)
+    val add_defns_i: (string * term) list -> theory -> theory  (* FIXME *)
+    val mk_classrel: class * class -> term
+    val dest_classrel: term -> class * class
+    val mk_arity: string * sort list * class -> term
+    val dest_arity: term -> string * sort list * class
+    val class_axms: theory -> thm list
+    val axclass_tac: theory -> thm list -> tactic
+    val goal_subclass: theory -> class * class -> thm list
+    val goal_arity: theory -> string * sort list * class -> thm list
   end
 end;
 
 functor AxClassFun(structure Logic: LOGIC and Goals: GOALS and Tactic: TACTIC
-  sharing Goals.Tactical = Tactic.Tactical)(*: AX_CLASS *) = (* FIXME *)
+  sharing Goals.Tactical = Tactic.Tactical): AX_CLASS =
 struct
 
 structure Tactical = Goals.Tactical;
@@ -273,7 +284,7 @@
 
 (* axclass_tac *)
 
-(*(1) repeatedly resolve goals of form "(| ty : c_class |)",
+(*(1) repeatedly resolve goals of form "(| ty : c_class |)",  (* FIXME rename (| |) *)
       try "cI" axioms first and use class_triv as last resort
   (2) rewrite goals using user supplied definitions
   (3) repeatedly resolve goals with user supplied non-definitions*)