Nominal/Nominal2_Abs.thy
changeset 2663 54aade5d0fe6
parent 2659 619ecb57db38
child 2668 92c001d93225
equal deleted inserted replaced
2662:7c5bca978886 2663:54aade5d0fe6
   442 done
   442 done
   443 
   443 
   444 termination supp_lst 
   444 termination supp_lst 
   445   by (auto intro!: local.termination)
   445   by (auto intro!: local.termination)
   446 
   446 
   447 lemma [eqvt]:
   447 lemma supp_funs_eqvt[eqvt]:
   448   shows "(p \<bullet> supp_set x) = supp_set (p \<bullet> x)"
   448   shows "(p \<bullet> supp_set x) = supp_set (p \<bullet> x)"
   449   and   "(p \<bullet> supp_res y) = supp_res (p \<bullet> y)"
   449   and   "(p \<bullet> supp_res y) = supp_res (p \<bullet> y)"
   450   and   "(p \<bullet> supp_lst z) = supp_lst (p \<bullet> z)"
   450   and   "(p \<bullet> supp_lst z) = supp_lst (p \<bullet> z)"
   451   apply(case_tac x rule: Abs_exhausts(1))
   451   apply(case_tac x rule: Abs_exhausts(1))
   452   apply(simp add: supp_eqvt Diff_eqvt)
   452   apply(simp add: supp_eqvt Diff_eqvt)
   459 lemma Abs_fresh_aux:
   459 lemma Abs_fresh_aux:
   460   shows "a \<sharp> Abs bs x \<Longrightarrow> a \<sharp> supp_set (Abs bs x)"
   460   shows "a \<sharp> Abs bs x \<Longrightarrow> a \<sharp> supp_set (Abs bs x)"
   461   and   "a \<sharp> Abs_res bs x \<Longrightarrow> a \<sharp> supp_res (Abs_res bs x)"
   461   and   "a \<sharp> Abs_res bs x \<Longrightarrow> a \<sharp> supp_res (Abs_res bs x)"
   462   and   "a \<sharp> Abs_lst cs x \<Longrightarrow> a \<sharp> supp_lst (Abs_lst cs x)"
   462   and   "a \<sharp> Abs_lst cs x \<Longrightarrow> a \<sharp> supp_lst (Abs_lst cs x)"
   463   by (rule_tac [!] fresh_fun_eqvt_app)
   463   by (rule_tac [!] fresh_fun_eqvt_app)
   464      (simp_all only: eqvts_raw)
   464      (auto simp only: eqvt_def eqvts_raw)
   465 
   465 
   466 lemma Abs_supp_subset1:
   466 lemma Abs_supp_subset1:
   467   assumes a: "finite (supp x)"
   467   assumes a: "finite (supp x)"
   468   shows "(supp x) - as \<subseteq> supp (Abs_set as x)"
   468   shows "(supp x) - as \<subseteq> supp (Abs_set as x)"
   469   and   "(supp x) - as \<subseteq> supp (Abs_res as x)"
   469   and   "(supp x) - as \<subseteq> supp (Abs_res as x)"