Nominal/Ex/ExCoreHaskell.thy
changeset 1868 26c0c35641cb
parent 1867 f4477d3fe520
child 1958 e2e19188576e
equal deleted inserted replaced
1867:f4477d3fe520 1868:26c0c35641cb
   677   then have b: "P1 a (0 \<bullet> tkind)" and "P2 b (0 \<bullet> ckind)" "P3 c (0 \<bullet> ty)" and "P4 d (0 \<bullet> ty_lst)" and "P5 e (0 \<bullet> co)" and "P6 f (0 \<bullet> co_lst)" and "P7 g (0 \<bullet> trm)" and "P8 h (0 \<bullet> assoc_lst)" by (blast+)
   677   then have b: "P1 a (0 \<bullet> tkind)" and "P2 b (0 \<bullet> ckind)" "P3 c (0 \<bullet> ty)" and "P4 d (0 \<bullet> ty_lst)" and "P5 e (0 \<bullet> co)" and "P6 f (0 \<bullet> co_lst)" and "P7 g (0 \<bullet> trm)" and "P8 h (0 \<bullet> assoc_lst)" by (blast+)
   678   moreover have "P9  i (permute_bv 0 (0 \<bullet> pat))" and "P10 j (permute_bv_vs 0 (0 \<bullet> vars))" and "P11 k (permute_bv_tvs 0 (0 \<bullet> tvars))" and "P12 l (permute_bv_cvs 0 (0 \<bullet> cvars))" using a1 a2 a3 a4 by (blast+)
   678   moreover have "P9  i (permute_bv 0 (0 \<bullet> pat))" and "P10 j (permute_bv_vs 0 (0 \<bullet> vars))" and "P11 k (permute_bv_tvs 0 (0 \<bullet> tvars))" and "P12 l (permute_bv_cvs 0 (0 \<bullet> cvars))" using a1 a2 a3 a4 by (blast+)
   679   ultimately show ?thesis by (simp_all add: permute_bv_zero1 permute_bv_zero2)
   679   ultimately show ?thesis by (simp_all add: permute_bv_zero1 permute_bv_zero2)
   680 qed
   680 qed
   681 
   681 
       
   682 section {* test about equivariance for alpha *}
       
   683 
       
   684 thm eqvts
       
   685 thm eqvts_raw
       
   686 
       
   687 declare permute_tkind_raw_permute_ckind_raw_permute_ty_raw_permute_ty_lst_raw_permute_co_raw_permute_co_lst_raw_permute_trm_raw_permute_assoc_lst_raw_permute_pat_raw_permute_vars_raw_permute_tvars_raw_permute_cvars_raw.simps[eqvt]
       
   688 declare alpha_gen_eqvt[eqvt]
       
   689 
       
   690 equivariance alpha_tkind_raw
       
   691 
       
   692 thm eqvts
       
   693 thm eqvts_raw
       
   694 
   682 end
   695 end
   683 
   696