Nominal/nominal_function.ML
changeset 2973 d1038e67923a
parent 2862 47063163f333
child 2974 b95a2065aa10
--- a/Nominal/nominal_function.ML	Mon Jul 18 10:50:21 2011 +0100
+++ b/Nominal/nominal_function.ML	Mon Jul 18 17:40:13 2011 +0100
@@ -9,15 +9,15 @@
 
 signature NOMINAL_FUNCTION =
 sig
-  include FUNCTION_DATA
+  include NOMINAL_FUNCTION_DATA
 
   val add_nominal_function: (binding * typ option * mixfix) list ->
     (Attrib.binding * term) list ->  Nominal_Function_Common.nominal_function_config ->
-    (Proof.context -> tactic) -> local_theory -> info * local_theory
+    (Proof.context -> tactic) -> local_theory -> nominal_info * local_theory
 
   val add_nominal_function_cmd: (binding * string option * mixfix) list ->
     (Attrib.binding * string) list ->  Nominal_Function_Common.nominal_function_config ->
-    (Proof.context -> tactic) -> local_theory -> info * local_theory
+    (Proof.context -> tactic) -> local_theory -> nominal_info * local_theory
 
   val nominal_function: (binding * typ option * mixfix) list ->
     (Attrib.binding * term) list ->  Nominal_Function_Common.nominal_function_config ->
@@ -30,7 +30,7 @@
   val setup : theory -> theory
   val get_congs : Proof.context -> thm list
 
-  val get_info : Proof.context -> term -> info
+  val get_info : Proof.context -> term -> nominal_info
 end
 
 
@@ -152,9 +152,12 @@
 
     fun afterqed [[proof]] lthy =
       let
-        val FunctionResult {fs, R, psimps, simple_pinducts,
-          termination, domintros, cases, ...} =
+        val NominalFunctionResult {fs, R, psimps, simple_pinducts,
+          termination, domintros, cases, eqvts, ...} =
           cont (Thm.close_derivation proof)
+  
+        val _ = tracing ("final psimps:\n" ^ cat_lines (map @{make_string} psimps))
+        val _ = tracing ("final eqvts:\n" ^ cat_lines (map @{make_string} eqvts))
 
         val fnames = map (fst o fst) fixes
         fun qualify n = Binding.name n
@@ -179,7 +182,9 @@
 
         val info = { add_simps=addsmps, case_names=cnames, psimps=psimps',
           pinducts=snd pinducts', simps=NONE, inducts=NONE, termination=termination',
-          fs=fs, R=R, defname=defname, is_partial=true }
+          fs=fs, R=R, defname=defname, is_partial=true, eqvts=eqvts}
+
+        val _ = tracing ("final final psimps:\n" ^ cat_lines (map @{make_string} psimps'))
 
         val _ =
           if not is_external then ()