Nominal/Term5.thy
changeset 1576 7b8f570b2450
parent 1575 2c37f5a8c747
child 1583 ed54632fab4a
equal deleted inserted replaced
1575:2c37f5a8c747 1576:7b8f570b2450
   181   done
   181   done
   182 
   182 
   183 local_setup {* snd o Local_Theory.note ((@{binding alpha_dis}, []), (flat (map (distinct_rel @{context} @{thms alpha_rtrm5.cases alpha_rlts.cases alpha_rbv5.cases}) [(@{thms rtrm5.distinct}, @{term alpha_rtrm5}), (@{thms rlts.distinct}, @{term alpha_rlts}), (@{thms rlts.distinct}, @{term alpha_rbv5})]))) *}
   183 local_setup {* snd o Local_Theory.note ((@{binding alpha_dis}, []), (flat (map (distinct_rel @{context} @{thms alpha_rtrm5.cases alpha_rlts.cases alpha_rbv5.cases}) [(@{thms rtrm5.distinct}, @{term alpha_rtrm5}), (@{thms rlts.distinct}, @{term alpha_rlts}), (@{thms rlts.distinct}, @{term alpha_rbv5})]))) *}
   184 print_theorems
   184 print_theorems
   185 
   185 
   186 local_setup {* snd o Local_Theory.note ((@{binding alpha_bn_rsp}, []), prove_alpha_bn_rsp [@{term alpha_rtrm5}, @{term alpha_rlts}] @{thms alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts} @{thms alpha5_inj alpha_dis} @{thms alpha5_equivp} @{context} (@{term alpha_rbv5}, 1)) *}
   186 local_setup {* snd o Local_Theory.note ((@{binding alpha_bn_rsp}, []), prove_alpha_bn_rsp [@{term alpha_rtrm5}, @{term alpha_rlts}] @{thms alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts} @{thms rtrm5.exhaust rlts.exhaust} @{thms alpha5_inj alpha_dis} @{thms alpha5_equivp} @{context} (@{term alpha_rbv5}, 1)) *}
   187 thm alpha_bn_rsp
   187 thm alpha_bn_rsp
   188 
   188 
   189 lemma [quot_respect]:
   189 lemma [quot_respect]:
   190   "(alpha_rlts ===> op =) fv_rlts fv_rlts"
   190   "(alpha_rlts ===> op =) fv_rlts fv_rlts"
   191   "(alpha_rtrm5 ===> op =) fv_rtrm5 fv_rtrm5"
   191   "(alpha_rtrm5 ===> op =) fv_rtrm5 fv_rtrm5"
   201   apply (clarify)
   201   apply (clarify)
   202   apply (rule_tac x="0" in exI)
   202   apply (rule_tac x="0" in exI)
   203   apply (simp add: fresh_star_def fresh_zero_perm alpha_gen alpha5_rfv)
   203   apply (simp add: fresh_star_def fresh_zero_perm alpha_gen alpha5_rfv)
   204 done
   204 done
   205 
   205 
       
   206 
   206 lemma
   207 lemma
   207   shows "(alpha_rlts ===> op =) rbv5 rbv5"
   208   shows "(alpha_rlts ===> op =) rbv5 rbv5"
   208   by (simp add: bv_list_rsp)
   209   by (simp add: bv_list_rsp)
   209 
   210 
   210 lemmas trm5_lts_inducts = rtrm5_rlts.inducts[quot_lifted]
   211 lemmas trm5_lts_inducts = rtrm5_rlts.inducts[quot_lifted]