equal
deleted
inserted
replaced
983 done |
983 done |
984 |
984 |
985 section {* further lemmas for permutation types *} |
985 section {* further lemmas for permutation types *} |
986 (*==============================================*) |
986 (*==============================================*) |
987 |
987 |
988 lemma perm_diff: |
|
989 fixes X::"'a set" |
|
990 and Y::"'a set" |
|
991 and pi::"'x prm" |
|
992 assumes pt: "pt TYPE('a) TYPE('x)" |
|
993 and at: "at TYPE('x)" |
|
994 shows "pi \<bullet> (X - Y) = (pi \<bullet> X) - (pi \<bullet> Y)" |
|
995 by (auto simp add: perm_set_def pt_bij[OF pt, OF at]) |
|
996 |
|
997 lemma pt_rev_pi: |
988 lemma pt_rev_pi: |
998 fixes pi :: "'x prm" |
989 fixes pi :: "'x prm" |
999 and x :: "'a" |
990 and x :: "'a" |
1000 assumes pt: "pt TYPE('a) TYPE('x)" |
991 assumes pt: "pt TYPE('a) TYPE('x)" |
1001 and at: "at TYPE('x)" |
992 and at: "at TYPE('x)" |
1168 fix x::"'a" |
1159 fix x::"'a" |
1169 assume a: "X\<subseteq>Y" |
1160 assume a: "X\<subseteq>Y" |
1170 and "x\<in>(pi\<bullet>X)" |
1161 and "x\<in>(pi\<bullet>X)" |
1171 thus "x\<in>(pi\<bullet>Y)" by (force simp add: pt_set_bij1a[OF pt, OF at]) |
1162 thus "x\<in>(pi\<bullet>Y)" by (force simp add: pt_set_bij1a[OF pt, OF at]) |
1172 qed |
1163 qed |
|
1164 |
|
1165 lemma pt_set_diff_eqvt: |
|
1166 fixes X::"'a set" |
|
1167 and Y::"'a set" |
|
1168 and pi::"'x prm" |
|
1169 assumes pt: "pt TYPE('a) TYPE('x)" |
|
1170 and at: "at TYPE('x)" |
|
1171 shows "pi \<bullet> (X - Y) = (pi \<bullet> X) - (pi \<bullet> Y)" |
|
1172 by (auto simp add: perm_set_def pt_bij[OF pt, OF at]) |
|
1173 |
1173 |
1174 |
1174 -- "some helper lemmas for the pt_perm_supp_ineq lemma" |
1175 -- "some helper lemmas for the pt_perm_supp_ineq lemma" |
1175 lemma Collect_permI: |
1176 lemma Collect_permI: |
1176 fixes pi :: "'x prm" |
1177 fixes pi :: "'x prm" |
1177 and x :: "'a" |
1178 and x :: "'a" |