src/HOL/Nominal/nominal_atoms.ML
changeset 19562 e56b3c967ae8
parent 19548 c0a896828194
child 19635 f7aa7d174343
equal deleted inserted replaced
19561:2a4983dc963d 19562:e56b3c967ae8
   646          |> discrete_pt_inst "List.char" (thm "perm_char_def")
   646          |> discrete_pt_inst "List.char" (thm "perm_char_def")
   647          |> discrete_fs_inst "List.char" (thm "perm_char_def")
   647          |> discrete_fs_inst "List.char" (thm "perm_char_def")
   648          |> discrete_cp_inst "List.char" (thm "perm_char_def")
   648          |> discrete_cp_inst "List.char" (thm "perm_char_def")
   649         end;
   649         end;
   650 
   650 
   651 
   651  
   652        (* abbreviations for some lemmas *)
   652        (* abbreviations for some lemmas *)
   653        (*===============================*)
   653        (*===============================*)
   654        val abs_fun_pi          = thm "Nominal.abs_fun_pi";
   654        val abs_fun_pi          = thm "Nominal.abs_fun_pi";
   655        val abs_fun_pi_ineq     = thm "Nominal.abs_fun_pi_ineq";
   655        val abs_fun_pi_ineq     = thm "Nominal.abs_fun_pi_ineq";
   656        val abs_fun_eq          = thm "Nominal.abs_fun_eq";
   656        val abs_fun_eq          = thm "Nominal.abs_fun_eq";
       
   657        val abs_fun_eq'         = thm "Nominal.abs_fun_eq'";
   657        val dj_perm_forget      = thm "Nominal.dj_perm_forget";
   658        val dj_perm_forget      = thm "Nominal.dj_perm_forget";
   658        val dj_pp_forget        = thm "Nominal.dj_perm_perm_forget";
   659        val dj_pp_forget        = thm "Nominal.dj_perm_perm_forget";
   659        val fresh_iff           = thm "Nominal.fresh_abs_fun_iff";
   660        val fresh_iff           = thm "Nominal.fresh_abs_fun_iff";
   660        val fresh_iff_ineq      = thm "Nominal.fresh_abs_fun_iff_ineq";
   661        val fresh_iff_ineq      = thm "Nominal.fresh_abs_fun_iff_ineq";
   661        val abs_fun_supp        = thm "Nominal.abs_fun_supp";
   662        val abs_fun_supp        = thm "Nominal.abs_fun_supp";
   741 		 in i_pt_pt_at_cp end;
   742 		 in i_pt_pt_at_cp end;
   742              fun inst_pt_pt_at_cp_dj thms = inst_zip djs (inst_pt_pt_at_cp thms);
   743              fun inst_pt_pt_at_cp_dj thms = inst_zip djs (inst_pt_pt_at_cp thms);
   743            in
   744            in
   744             thy32 
   745             thy32 
   745 	    |>   PureThy.add_thmss [(("alpha", inst_pt_at [abs_fun_eq]),[])]
   746 	    |>   PureThy.add_thmss [(("alpha", inst_pt_at [abs_fun_eq]),[])]
       
   747             ||>> PureThy.add_thmss [(("alpha'", inst_pt_at [abs_fun_eq']),[])]
   746             ||>> PureThy.add_thmss [(("perm_swap", inst_pt_at [pt_swap_bij]),[])]
   748             ||>> PureThy.add_thmss [(("perm_swap", inst_pt_at [pt_swap_bij]),[])]
   747             ||>> PureThy.add_thmss 
   749             ||>> PureThy.add_thmss 
   748 	      let val thms1 = inst_pt_at [pt_pi_rev];
   750 	      let val thms1 = inst_pt_at [pt_pi_rev];
   749 		  val thms2 = inst_pt_at [pt_rev_pi];
   751 		  val thms2 = inst_pt_at [pt_rev_pi];
   750               in [(("perm_pi_simp",thms1 @ thms2),[])] end
   752               in [(("perm_pi_simp",thms1 @ thms2),[])] end