added two eqvt lemmas for fset-operators
authorChristian Urban <urbanc@in.tum.de>
Thu, 29 Dec 2011 18:05:13 +0000
changeset 3101 09acd7e116e8
parent 3100 8779fb01d8b4
child 3102 5b5ade6bc889
child 3106 bec099d10563
added two eqvt lemmas for fset-operators
Nominal/Nominal2_Base.thy
--- a/Nominal/Nominal2_Base.thy	Thu Dec 29 15:56:54 2011 +0000
+++ b/Nominal/Nominal2_Base.thy	Thu Dec 29 18:05:13 2011 +0000
@@ -1,5 +1,5 @@
 (*  Title:      Nominal2_Base
-    Authors:    Brian Huffman, Christian Urban
+    Authors:    Christian Urban, Brian Huffman, Cezary Kaliszyk
 
     Basic definitions and lemma infrastructure for 
     Nominal Isabelle. 
@@ -1110,6 +1110,22 @@
   shows "(p \<bullet> (S |\<union>| T)) = ((p \<bullet> S) |\<union>| (p \<bullet> T))"
   by (induct S) (simp_all)
 
+lemma inter_fset_eqvt [eqvt]:
+  shows "(p \<bullet> (S |\<inter>| T)) = ((p \<bullet> S) |\<inter>| (p \<bullet> T))"
+  apply(descending)
+  unfolding list_eq_def inter_list_def
+  apply(perm_simp)
+  apply(simp)
+  done
+
+lemma subset_fset_eqvt [eqvt]:
+  shows "(p \<bullet> (S |\<subseteq>| T)) = ((p \<bullet> S) |\<subseteq>| (p \<bullet> T))"
+  apply(descending)
+  unfolding sub_list_def
+  apply(perm_simp)
+  apply(simp)
+  done
+  
 lemma map_fset_eqvt [eqvt]: 
   shows "p \<bullet> (map_fset f S) = map_fset (p \<bullet> f) (p \<bullet> S)"
   by (lifting map_eqvt)