add type take_induct_info
authorhuffman
Mon, 08 Mar 2010 11:48:29 -0800
changeset 35656 b62731352812
parent 35655 e8e4af6da819
child 35657 0537c34c6067
add type take_induct_info
src/HOLCF/Tools/Domain/domain_take_proofs.ML
--- a/src/HOLCF/Tools/Domain/domain_take_proofs.ML	Mon Mar 08 11:34:53 2010 -0800
+++ b/src/HOLCF/Tools/Domain/domain_take_proofs.ML	Mon Mar 08 11:48:29 2010 -0800
@@ -26,12 +26,19 @@
       finite_consts : term list,
       finite_defs : thm list
     }
+  type take_induct_info =
+    {
+      reach_thms : thm list,
+      take_lemma_thms : thm list,
+      is_finite : bool,
+      take_induct_thms : thm list
+    }
   val define_take_functions :
     (binding * iso_info) list -> theory -> take_info * theory
 
   val add_lub_take_theorems :
     (binding * iso_info) list -> take_info -> thm list ->
-    theory -> thm list * theory
+    theory -> take_induct_info * theory
 
   val map_of_typ :
     theory -> (typ * term) list -> typ -> term
@@ -67,6 +74,14 @@
     finite_defs : thm list
   };
 
+type take_induct_info =
+  {
+    reach_thms : thm list,
+    take_lemma_thms : thm list,
+    is_finite : bool,
+    take_induct_thms : thm list
+  };
+
 val beta_ss =
   HOL_basic_ss
     addsimps simp_thms
@@ -579,7 +594,13 @@
           ((NONE, take_inducts), thy)
         end;
 
-    val result = take_induct_thms;
+    val result =
+      {
+        reach_thms = reach_thms,
+        take_lemma_thms = take_lemma_thms,
+        is_finite = is_finite,
+        take_induct_thms = take_induct_thms
+      };
   in
     (result, thy)
   end;