src/HOL/equalities.ML
changeset 4634 83d364462ce1
parent 4615 67457d16cdbc
child 4645 f5f957ab73eb
equal deleted inserted replaced
4633:d4a074973715 4634:83d364462ce1
   174 goal thy "A Int UNIV = A";
   174 goal thy "A Int UNIV = A";
   175 by (Blast_tac 1);
   175 by (Blast_tac 1);
   176 qed "Int_UNIV_right";
   176 qed "Int_UNIV_right";
   177 Addsimps[Int_UNIV_right];
   177 Addsimps[Int_UNIV_right];
   178 
   178 
       
   179 goal thy "A Int B = Inter{A,B}";
       
   180 by (Blast_tac 1);
       
   181 qed "Int_eq_Inter";
       
   182 
   179 goal thy "A Int (B Un C)  =  (A Int B) Un (A Int C)";
   183 goal thy "A Int (B Un C)  =  (A Int B) Un (A Int C)";
   180 by (Blast_tac 1);
   184 by (Blast_tac 1);
   181 qed "Int_Un_distrib";
   185 qed "Int_Un_distrib";
   182 
   186 
   183 goal thy "(B Un C) Int A =  (B Int A) Un (C Int A)";
   187 goal thy "(B Un C) Int A =  (B Int A) Un (C Int A)";
   237 goal thy "A Un UNIV = UNIV";
   241 goal thy "A Un UNIV = UNIV";
   238 by (Blast_tac 1);
   242 by (Blast_tac 1);
   239 qed "Un_UNIV_right";
   243 qed "Un_UNIV_right";
   240 Addsimps[Un_UNIV_right];
   244 Addsimps[Un_UNIV_right];
   241 
   245 
       
   246 goal thy "A Un B = Union{A,B}";
       
   247 by (Blast_tac 1);
       
   248 qed "Un_eq_Union";
       
   249 
   242 goal thy "(insert a B) Un C = insert a (B Un C)";
   250 goal thy "(insert a B) Un C = insert a (B Un C)";
   243 by (Blast_tac 1);
   251 by (Blast_tac 1);
   244 qed "Un_insert_left";
   252 qed "Un_insert_left";
   245 Addsimps[Un_insert_left];
   253 Addsimps[Un_insert_left];
   246 
   254 
   403 goal thy "(UN x:A. {}) = {}";
   411 goal thy "(UN x:A. {}) = {}";
   404 by (Blast_tac 1);
   412 by (Blast_tac 1);
   405 qed "UN_empty2";
   413 qed "UN_empty2";
   406 Addsimps[UN_empty2];
   414 Addsimps[UN_empty2];
   407 
   415 
       
   416 goal thy "!!k. k:I ==> A k Un (UN i:I. A i) = (UN i:I. A i)";
       
   417 by (Blast_tac 1);
       
   418 qed "UN_absorb";
       
   419 
   408 goal thy "(INT x:{}. B x) = UNIV";
   420 goal thy "(INT x:{}. B x) = UNIV";
   409 by (Blast_tac 1);
   421 by (Blast_tac 1);
   410 qed "INT_empty";
   422 qed "INT_empty";
   411 Addsimps[INT_empty];
   423 Addsimps[INT_empty];
       
   424 
       
   425 goal thy "!!k. k:I ==> A k Int (INT i:I. A i) = (INT i:I. A i)";
       
   426 by (Blast_tac 1);
       
   427 qed "INT_absorb";
   412 
   428 
   413 goal thy "(UN x:insert a A. B x) = B a Un UNION A B";
   429 goal thy "(UN x:insert a A. B x) = B a Un UNION A B";
   414 by (Blast_tac 1);
   430 by (Blast_tac 1);
   415 qed "UN_insert";
   431 qed "UN_insert";
   416 Addsimps[UN_insert];
   432 Addsimps[UN_insert];