Nominal-General/Nominal2_Eqvt.thy
changeset 2470 bdb1eab47161
parent 2467 67b3933c3190
child 2479 a9b6a00b1ba0
--- a/Nominal-General/Nominal2_Eqvt.thy	Sat Sep 04 06:48:14 2010 +0800
+++ b/Nominal-General/Nominal2_Eqvt.thy	Sat Sep 04 07:28:35 2010 +0800
@@ -24,17 +24,19 @@
 section {* eqvt lemmas *}
 
 lemmas [eqvt] =
-  conj_eqvt Not_eqvt ex_eqvt imp_eqvt
+  conj_eqvt Not_eqvt ex_eqvt all_eqvt imp_eqvt
   imp_eqvt[folded induct_implies_def]
   uminus_eqvt
 
   (* nominal *)
-  supp_eqvt fresh_eqvt add_perm_eqvt atom_eqvt 
+  supp_eqvt fresh_eqvt fresh_star_eqvt add_perm_eqvt atom_eqvt 
   swap_eqvt flip_eqvt
 
   (* datatypes *)
   Pair_eqvt permute_list.simps
 
+  (* sets *)
+  mem_eqvt insert_eqvt
 
 text {* helper lemmas for the perm_simp *}
 
@@ -99,15 +101,6 @@
   shows "p \<bullet> (A \<or> B) = ((p \<bullet> A) \<or> (p \<bullet> B))"
   by (simp add: permute_bool_def)
 
-lemma Not_eqvt[eqvt]:
-  shows "p \<bullet> (\<not> A) \<longleftrightarrow> \<not> (p \<bullet> A)"
-  by (simp add: permute_bool_def)
-
-lemma all_eqvt[eqvt]:
-  shows "p \<bullet> (\<forall>x. P x) = (\<forall>x. (p \<bullet> P) x)"
-  unfolding permute_fun_def permute_bool_def
-  by (auto, drule_tac x="p \<bullet> x" in spec, simp)
-
 lemma all_eqvt2:
   shows "p \<bullet> (\<forall>x. P x) = (\<forall>x. p \<bullet> P (- p \<bullet> x))"
   by (perm_simp add: permute_minus_cancel) (rule refl)
@@ -137,16 +130,6 @@
 
 section {* Set Operations *}
 
-lemma mem_permute_iff:
-  shows "(p \<bullet> x) \<in> (p \<bullet> X) \<longleftrightarrow> x \<in> X"
-  unfolding mem_def permute_fun_def permute_bool_def
-  by simp
-
-lemma mem_eqvt[eqvt]:
-  shows "p \<bullet> (x \<in> A) \<longleftrightarrow> (p \<bullet> x) \<in> (p \<bullet> A)"
-  unfolding mem_def
-  by (perm_simp) (rule refl)
-
 lemma not_mem_eqvt:
   shows "p \<bullet> (x \<notin> A) \<longleftrightarrow> (p \<bullet> x) \<notin> (p \<bullet> A)"
   by (perm_simp) (rule refl)
@@ -210,10 +193,6 @@
   unfolding Compl_eq_Diff_UNIV
   by (perm_simp) (rule refl)
 
-lemma insert_eqvt[eqvt]:
-  shows "p \<bullet> (insert x A) = insert (p \<bullet> x) (p \<bullet> A)"
-  unfolding permute_set_eq_image image_insert ..
-
 lemma image_eqvt:
   shows "p \<bullet> (f ` A) = (p \<bullet> f) ` (p \<bullet> A)"
   unfolding permute_set_eq_image
@@ -303,16 +282,6 @@
   unfolding split_def
   by (perm_simp) (rule refl)
 
-section {* Units *}
-
-lemma supp_unit:
-  shows "supp () = {}"
-  by (simp add: supp_def)
-
-lemma fresh_unit:
-  shows "a \<sharp> ()"
-  by (simp add: fresh_def supp_unit)
-
 
 section {* Test cases *}