src/HOL/equalities.ML
changeset 3356 9b899eb8a036
parent 3348 3f9a806f061e
child 3384 5ef99c94e1fb
equal deleted inserted replaced
3355:0d955bcf8e0a 3356:9b899eb8a036
   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