Nominal/Lift.thy
changeset 1291 24889782da92
parent 1282 ea46a354f382
child 1303 c28403308b34
--- a/Nominal/Lift.thy	Mon Mar 01 16:04:03 2010 +0100
+++ b/Nominal/Lift.thy	Mon Mar 01 21:50:24 2010 +0100
@@ -64,6 +64,8 @@
   "rbv5 rLnil = {}"
 | "rbv5 (rLcons n t ltl) = {atom n} \<union> (rbv5 ltl)"
 
+ML Typedef.add_typedef
+
 ML {*
 val thy1 = @{theory};
 val info = Datatype.the_info @{theory} "Lift.rtrm5"
@@ -135,9 +137,13 @@
 val (perms_rsp, lthy10) = prove_const_rsp Binding.empty perms
   (fn _ => asm_simp_tac (HOL_ss addsimps alpha_eqvt) 1) lthy9;
 val thy3 = Local_Theory.exit_global lthy10;
+(* TODO: fix this hack... *)
+val tinfo = #abs_type (Typedef.the_info thy3 "Lift.trm5");
+(*val thy4 = define_lifted_perms ["Term1.trm1"] [("permute_trm1", @{term "permute :: perm \<Rightarrow> rtrm1 \<Rightarrow> rtrm1"})]
+  @{thms permute_rtrm1_permute_bp_zero permute_rtrm1_permute_bp_append}*)
 val lthy11 = Theory_Target.init NONE thy3;
 val lift_induct = snd (Quotient_Tacs.lifted_attrib (Context.Proof lthy11, induct));
-val lthy12 = snd (Local_Theory.note ((@{binding lift_induct}, []), [lift_induct]) lthy11)
+val lthy12 = snd (Local_Theory.note ((@{binding lift_induct}, []), [lift_induct]) lthy11);
 *}
 
 setup {* fn _ => Local_Theory.exit_global lthy12 *}