59 |
59 |
60 notation |
60 notation |
61 alpha_rtrm4 ("_ \<approx>4 _" [100, 100] 100) |
61 alpha_rtrm4 ("_ \<approx>4 _" [100, 100] 100) |
62 and alpha_rtrm4_list ("_ \<approx>4l _" [100, 100] 100) |
62 and alpha_rtrm4_list ("_ \<approx>4l _" [100, 100] 100) |
63 |
63 |
64 local_setup {* |
64 declare perm_fixed[eqvt] |
65 (fn ctxt => snd (Local_Theory.note ((@{binding alpha4_eqvt}, []), |
65 equivariance alpha_rtrm4 |
66 build_alpha_eqvts [@{term alpha_rtrm4}, @{term alpha_rtrm4_list}] (fn _ => alpha_eqvt_tac @{thm alpha_rtrm4_alpha_rtrm4_list.induct} @{thms perm_fixed alpha4_inj} ctxt 1) ctxt) ctxt)) |
66 lemmas alpha4_eqvt = eqvts(1-2) |
67 *} |
67 lemmas alpha4_eqvt_fixed = alpha4_eqvt(2)[simplified alpha_fix (*fv_fix*)] |
68 |
|
69 |
|
70 thm alpha4_eqvt |
|
71 lemmas alpha4_eqvt_fixed = alpha4_eqvt(1)[simplified alpha_fix (*fv_fix*)] |
|
72 |
68 |
73 local_setup {* (fn ctxt => snd (Local_Theory.note ((@{binding alpha4_reflp}, []), |
69 local_setup {* (fn ctxt => snd (Local_Theory.note ((@{binding alpha4_reflp}, []), |
74 build_alpha_refl [((0, @{term alpha_rtrm4}), 0), ((0, @{term alpha_rtrm4_list}), 0)] [@{term alpha_rtrm4}, @{term alpha_rtrm4_list}] @{thm rtrm4.induct} @{thms alpha4_inj} ctxt) ctxt)) *} |
70 build_alpha_refl [((0, @{term alpha_rtrm4}), 0), ((0, @{term alpha_rtrm4_list}), 0)] [@{term alpha_rtrm4}, @{term alpha_rtrm4_list}] @{thm rtrm4.induct} @{thms alpha4_inj} ctxt) ctxt)) *} |
75 thm alpha4_reflp |
71 thm alpha4_reflp |
76 |
72 |