equal
deleted
inserted
replaced
149 goal Set.thy "A Int {} = {}"; |
149 goal Set.thy "A Int {} = {}"; |
150 by (Blast_tac 1); |
150 by (Blast_tac 1); |
151 qed "Int_empty_right"; |
151 qed "Int_empty_right"; |
152 Addsimps[Int_empty_right]; |
152 Addsimps[Int_empty_right]; |
153 |
153 |
|
154 goal Set.thy "(A Int B = {}) = (A <= Compl B)"; |
|
155 by (blast_tac (!claset addSEs [equalityE]) 1); |
|
156 qed "disjoint_eq_subset_Compl"; |
|
157 |
154 goal Set.thy "UNIV Int B = B"; |
158 goal Set.thy "UNIV Int B = B"; |
155 by (Blast_tac 1); |
159 by (Blast_tac 1); |
156 qed "Int_UNIV_left"; |
160 qed "Int_UNIV_left"; |
157 Addsimps[Int_UNIV_left]; |
161 Addsimps[Int_UNIV_left]; |
158 |
162 |
226 qed "Un_insert_left"; |
230 qed "Un_insert_left"; |
227 |
231 |
228 goal Set.thy "A Un (insert a B) = insert a (A Un B)"; |
232 goal Set.thy "A Un (insert a B) = insert a (A Un B)"; |
229 by (Blast_tac 1); |
233 by (Blast_tac 1); |
230 qed "Un_insert_right"; |
234 qed "Un_insert_right"; |
|
235 |
|
236 goal Set.thy "(insert a B) Int C = (if a:C then insert a (B Int C) \ |
|
237 \ else B Int C)"; |
|
238 by (simp_tac (!simpset setloop split_tac [expand_if]) 1); |
|
239 by (Blast_tac 1); |
|
240 qed "Int_insert_left"; |
|
241 |
|
242 goal Set.thy "A Int (insert a B) = (if a:A then insert a (A Int B) \ |
|
243 \ else A Int B)"; |
|
244 by (simp_tac (!simpset setloop split_tac [expand_if]) 1); |
|
245 by (Blast_tac 1); |
|
246 qed "Int_insert_right"; |
231 |
247 |
232 goal Set.thy "(A Int B) Un C = (A Un C) Int (B Un C)"; |
248 goal Set.thy "(A Int B) Un C = (A Un C) Int (B Un C)"; |
233 by (Blast_tac 1); |
249 by (Blast_tac 1); |
234 qed "Un_Int_distrib"; |
250 qed "Un_Int_distrib"; |
235 |
251 |