Nominal/Ex/CoreHaskell.thy
changeset 2400 c6d30d5f5ba1
parent 2399 107c06267f33
child 2404 66ae73fd66c0
--- a/Nominal/Ex/CoreHaskell.thy	Sun Aug 15 11:03:13 2010 +0800
+++ b/Nominal/Ex/CoreHaskell.thy	Sun Aug 15 14:00:28 2010 +0800
@@ -8,7 +8,7 @@
 atom_decl cvar
 atom_decl tvar
 
-declare [[STEPS = 18]]
+declare [[STEPS = 20]]
 
 nominal_datatype tkind =
   KStar
@@ -85,10 +85,50 @@
 | "bv_cvs CvsNil = []"
 | "bv_cvs (CvsCons v k t) = (atom v) # bv_cvs t"
 
-
+(* can lift *)
 thm distinct
+thm fv_defs
 
-term TvsNil
+thm tkind_raw_ckind_raw_ty_raw_ty_lst_raw_co_raw_co_lst_raw_trm_raw_assoc_lst_raw_pat_raw_vars_raw_tvars_raw_cvars_raw.inducts
+thm perm_simps
+thm perm_laws
+thm tkind_raw_ckind_raw_ty_raw_ty_lst_raw_co_raw_co_lst_raw_trm_raw_assoc_lst_raw_pat_raw_vars_raw_tvars_raw_cvars_raw.size(50 - 98)
+
+(* cannot lift yet *)
+thm eq_iff
+thm eq_iff_simps
+
+ML {*
+  val qtys = [@{typ tkind}, @{typ ckind}, @{typ ty}, @{typ ty_lst}, @{typ co},
+              @{typ co_lst}, @{typ trm}, @{typ assoc_lst}, @{typ pat}, @{typ vars},
+              @{typ tvars}, @{typ cvars}]
+*}
+
+ML {*
+  val thms_d = map (lift_thm qtys @{context}) @{thms distinct}
+*}
+
+ML {* 
+  val thms_i = map (lift_thm qtys @{context}) @{thms tkind_raw_ckind_raw_ty_raw_ty_lst_raw_co_raw_co_lst_raw_trm_raw_assoc_lst_raw_pat_raw_vars_raw_tvars_raw_cvars_raw.inducts}
+*}
+
+ML {*
+  val thms_f = map (lift_thm qtys @{context}) @{thms fv_defs}
+*}
+
+ML {* 
+  val thms_i = map (lift_thm qtys @{context}) @{thms tkind_raw_ckind_raw_ty_raw_ty_lst_raw_co_raw_co_lst_raw_trm_raw_assoc_lst_raw_pat_raw_vars_raw_tvars_raw_cvars_raw.size(50 - 98)}
+*}
+
+ML {*
+  val thms_p = map (lift_thm qtys @{context}) @{thms perm_simps}
+*}
+
+ML {*
+  val thms_f = map (lift_thm qtys @{context}) @{thms perm_laws}
+*}
+
+
 
 
 lemmas fv_supp=tkind_ckind_ty_ty_lst_co_co_lst_trm_assoc_lst_pat_vars_tvars_cvars.supp(1-9,11,13,15)