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 |