src/HOL/Nominal/nominal_atoms.ML
changeset 27399 1fb3d1219c12
parent 27216 dc1455f96f56
child 27691 ce171cbd4b93
equal deleted inserted replaced
27398:768da1da59d6 27399:1fb3d1219c12
   835             |>   PureThy.add_thmss [(("alpha", inst_pt_at [abs_fun_eq]),[])]
   835             |>   PureThy.add_thmss [(("alpha", inst_pt_at [abs_fun_eq]),[])]
   836             ||>> PureThy.add_thmss [(("alpha'", inst_pt_at [abs_fun_eq']),[])]
   836             ||>> PureThy.add_thmss [(("alpha'", inst_pt_at [abs_fun_eq']),[])]
   837             ||>> PureThy.add_thmss [(("alpha_fresh", inst_pt_at [abs_fun_fresh]),[])]
   837             ||>> PureThy.add_thmss [(("alpha_fresh", inst_pt_at [abs_fun_fresh]),[])]
   838             ||>> PureThy.add_thmss [(("alpha_fresh'", inst_pt_at [abs_fun_fresh']),[])]
   838             ||>> PureThy.add_thmss [(("alpha_fresh'", inst_pt_at [abs_fun_fresh']),[])]
   839             ||>> PureThy.add_thmss [(("perm_swap", inst_pt_at [pt_swap_bij] @ inst_pt_at [pt_swap_bij']),[])]
   839             ||>> PureThy.add_thmss [(("perm_swap", inst_pt_at [pt_swap_bij] @ inst_pt_at [pt_swap_bij']),[])]
   840             ||>> PureThy.add_thmss [(("swap_simps", inst_at at_swap_simps),[])]  
   840             ||>> PureThy.add_thmss 
       
   841 	      let val thms1 = inst_at at_swap_simps
       
   842                   and thms2 = inst_dj [dj_perm_forget]
       
   843               in [(("swap_simps", thms1 @ thms2),[])] end 
   841             ||>> PureThy.add_thmss 
   844             ||>> PureThy.add_thmss 
   842               let val thms1 = inst_pt_at [pt_pi_rev];
   845               let val thms1 = inst_pt_at [pt_pi_rev];
   843                   val thms2 = inst_pt_at [pt_rev_pi];
   846                   val thms2 = inst_pt_at [pt_rev_pi];
   844               in [(("perm_pi_simp",thms1 @ thms2),[])] end
   847               in [(("perm_pi_simp",thms1 @ thms2),[])] end
   845             ||>> PureThy.add_thmss [(("perm_fresh_fresh", inst_pt_at [pt_fresh_fresh]),[])]
   848             ||>> PureThy.add_thmss [(("perm_fresh_fresh", inst_pt_at [pt_fresh_fresh]),[])]
   864             ||>> PureThy.add_thmss 
   867             ||>> PureThy.add_thmss 
   865               let val thms1 = inst_at [at_fresh]
   868               let val thms1 = inst_at [at_fresh]
   866                   val thms2 = inst_dj [at_fresh_ineq]
   869                   val thms2 = inst_dj [at_fresh_ineq]
   867               in [(("fresh_atm", thms1 @ thms2),[])] end
   870               in [(("fresh_atm", thms1 @ thms2),[])] end
   868             ||>> PureThy.add_thmss
   871             ||>> PureThy.add_thmss
   869               let val thms1 = filter
   872               let val thms1 = inst_at at_calc
   870                 (fn th => case prop_of th of _ $ _ $ Var _ => true | _ => false)
   873                   and thms2 = inst_dj [dj_perm_forget]
   871                 (List.concat (List.concat perm_defs))
   874               in [(("calc_atm", thms1 @ thms2),[])] end
   872               in [(("calc_atm", (inst_at at_calc) @ thms1),[])] end
       
   873             ||>> PureThy.add_thmss
   875             ||>> PureThy.add_thmss
   874               let val thms1 = inst_pt_at [abs_fun_pi]
   876               let val thms1 = inst_pt_at [abs_fun_pi]
   875                   and thms2 = inst_pt_pt_at_cp [abs_fun_pi_ineq]
   877                   and thms2 = inst_pt_pt_at_cp [abs_fun_pi_ineq]
   876               in [(("abs_perm", thms1 @ thms2),[NominalThmDecls.eqvt_add])] end
   878               in [(("abs_perm", thms1 @ thms2),[NominalThmDecls.eqvt_add])] end
   877             ||>> PureThy.add_thmss
   879             ||>> PureThy.add_thmss