src/HOL/equalities.ML
changeset 5490 85855f65d0c6
parent 5331 3d27b96a08b0
child 5521 7970832271cc
equal deleted inserted replaced
5489:15c97b95b3e3 5490:85855f65d0c6
   184 Goal "A Int {} = {}";
   184 Goal "A Int {} = {}";
   185 by (Blast_tac 1);
   185 by (Blast_tac 1);
   186 qed "Int_empty_right";
   186 qed "Int_empty_right";
   187 Addsimps[Int_empty_right];
   187 Addsimps[Int_empty_right];
   188 
   188 
   189 Goal "(A Int B = {}) = (A <= Compl B)";
   189 Goal "(A Int B = {}) = (A <= -B)";
   190 by (blast_tac (claset() addSEs [equalityCE]) 1);
   190 by (blast_tac (claset() addSEs [equalityCE]) 1);
   191 qed "disjoint_eq_subset_Compl";
   191 qed "disjoint_eq_subset_Compl";
   192 
   192 
   193 Goal "UNIV Int B = B";
   193 Goal "UNIV Int B = B";
   194 by (Blast_tac 1);
   194 by (Blast_tac 1);
   336 qed "Un_Diff_Int";
   336 qed "Un_Diff_Int";
   337 
   337 
   338 
   338 
   339 section "Compl";
   339 section "Compl";
   340 
   340 
   341 Goal "A Int Compl(A) = {}";
   341 Goal "A Int -A = {}";
   342 by (Blast_tac 1);
   342 by (Blast_tac 1);
   343 qed "Compl_disjoint";
   343 qed "Compl_disjoint";
   344 Addsimps[Compl_disjoint];
   344 Addsimps[Compl_disjoint];
   345 
   345 
   346 Goal "A Un Compl(A) = UNIV";
   346 Goal "A Un -A = UNIV";
   347 by (Blast_tac 1);
   347 by (Blast_tac 1);
   348 qed "Compl_partition";
   348 qed "Compl_partition";
   349 
   349 
   350 Goal "Compl(Compl(A)) = A";
   350 Goal "- -A = (A:: 'a set)";
   351 by (Blast_tac 1);
   351 by (Blast_tac 1);
   352 qed "double_complement";
   352 qed "double_complement";
   353 Addsimps[double_complement];
   353 Addsimps[double_complement];
   354 
   354 
   355 Goal "Compl(A Un B) = Compl(A) Int Compl(B)";
   355 Goal "-(A Un B) = -A Int -B";
   356 by (Blast_tac 1);
   356 by (Blast_tac 1);
   357 qed "Compl_Un";
   357 qed "Compl_Un";
   358 
   358 
   359 Goal "Compl(A Int B) = Compl(A) Un Compl(B)";
   359 Goal "-(A Int B) = -A Un -B";
   360 by (Blast_tac 1);
   360 by (Blast_tac 1);
   361 qed "Compl_Int";
   361 qed "Compl_Int";
   362 
   362 
   363 Goal "Compl(UN x:A. B(x)) = (INT x:A. Compl(B(x)))";
   363 Goal "-(UN x:A. B(x)) = (INT x:A. -B(x))";
   364 by (Blast_tac 1);
   364 by (Blast_tac 1);
   365 qed "Compl_UN";
   365 qed "Compl_UN";
   366 
   366 
   367 Goal "Compl(INT x:A. B(x)) = (UN x:A. Compl(B(x)))";
   367 Goal "-(INT x:A. B(x)) = (UN x:A. -B(x))";
   368 by (Blast_tac 1);
   368 by (Blast_tac 1);
   369 qed "Compl_INT";
   369 qed "Compl_INT";
   370 
   370 
   371 Addsimps [Compl_Un, Compl_Int, Compl_UN, Compl_INT];
   371 Addsimps [Compl_Un, Compl_Int, Compl_UN, Compl_INT];
   372 
   372 
   600 qed "bex_UN";
   600 qed "bex_UN";
   601 
   601 
   602 
   602 
   603 section "-";
   603 section "-";
   604 
   604 
   605 Goal "A-B = A Int Compl B";
   605 Goal "A-B = A Int -B";
   606 by (Blast_tac 1);
   606 by (Blast_tac 1);
   607 qed "Diff_eq";
   607 qed "Diff_eq";
   608 
   608 
   609 Goal "A-A = {}";
   609 Goal "A-A = {}";
   610 by (Blast_tac 1);
   610 by (Blast_tac 1);