Nominal/Nominal2_Base.thy
changeset 2589 9781db0e2196
parent 2588 8f5420681039
child 2591 35c570891a3a
equal deleted inserted replaced
2588:8f5420681039 2589:9781db0e2196
  1587   and     b: "finite (supp c)"
  1587   and     b: "finite (supp c)"
  1588   obtains p::"perm" where "(p \<bullet> Xs)\<sharp>*c" and "(supp p) \<subseteq> (Xs \<union> (p \<bullet> Xs))"
  1588   obtains p::"perm" where "(p \<bullet> Xs)\<sharp>*c" and "(supp p) \<subseteq> (Xs \<union> (p \<bullet> Xs))"
  1589   using a b at_set_avoiding_aux [where Xs="Xs" and As="Xs \<union> supp c"]
  1589   using a b at_set_avoiding_aux [where Xs="Xs" and As="Xs \<union> supp c"]
  1590   unfolding fresh_star_def fresh_def by blast
  1590   unfolding fresh_star_def fresh_def by blast
  1591 
  1591 
       
  1592 lemma at_set_avoiding1:
       
  1593   assumes "finite xs"
       
  1594   and     "finite (supp c)"
       
  1595   shows "\<exists>p. (p \<bullet> xs) \<sharp>* c"
       
  1596 using assms
       
  1597 apply(erule_tac c="c" in at_set_avoiding)
       
  1598 apply(auto)
       
  1599 done
       
  1600 
  1592 lemma at_set_avoiding2:
  1601 lemma at_set_avoiding2:
  1593   assumes "finite xs"
  1602   assumes "finite xs"
  1594   and     "finite (supp c)" "finite (supp x)"
  1603   and     "finite (supp c)" "finite (supp x)"
  1595   and     "xs \<sharp>* x"
  1604   and     "xs \<sharp>* x"
  1596   shows "\<exists>p. (p \<bullet> xs) \<sharp>* c \<and> supp x \<sharp>* p"
  1605   shows "\<exists>p. (p \<bullet> xs) \<sharp>* c \<and> supp x \<sharp>* p"