src/HOL/Complete_Lattices.thy
changeset 49905 a81f95693c68
parent 46884 154dc6ec0041
child 51328 d63ec23c9125
equal deleted inserted replaced
49904:2df2786ac7b7 49905:a81f95693c68
   547 instance proof
   547 instance proof
   548 qed (auto intro: bool_induct)
   548 qed (auto intro: bool_induct)
   549 
   549 
   550 end
   550 end
   551 
   551 
       
   552 lemma not_False_in_image_Ball [simp]:
       
   553   "False \<notin> P ` A \<longleftrightarrow> Ball A P"
       
   554   by auto
       
   555 
       
   556 lemma True_in_image_Bex [simp]:
       
   557   "True \<in> P ` A \<longleftrightarrow> Bex A P"
       
   558   by auto
       
   559 
   552 lemma INF_bool_eq [simp]:
   560 lemma INF_bool_eq [simp]:
   553   "INFI = Ball"
   561   "INFI = Ball"
   554 proof (rule ext)+
   562   by (simp add: fun_eq_iff INF_def)
   555   fix A :: "'a set"
       
   556   fix P :: "'a \<Rightarrow> bool"
       
   557   show "(\<Sqinter>x\<in>A. P x) \<longleftrightarrow> (\<forall>x\<in>A. P x)"
       
   558     by (auto simp add: INF_def)
       
   559 qed
       
   560 
   563 
   561 lemma SUP_bool_eq [simp]:
   564 lemma SUP_bool_eq [simp]:
   562   "SUPR = Bex"
   565   "SUPR = Bex"
   563 proof (rule ext)+
   566   by (simp add: fun_eq_iff SUP_def)
   564   fix A :: "'a set"
       
   565   fix P :: "'a \<Rightarrow> bool"
       
   566   show "(\<Squnion>x\<in>A. P x) \<longleftrightarrow> (\<exists>x\<in>A. P x)"
       
   567     by (auto simp add: SUP_def)
       
   568 qed
       
   569 
   567 
   570 instance bool :: complete_boolean_algebra proof
   568 instance bool :: complete_boolean_algebra proof
   571 qed (auto intro: bool_induct)
   569 qed (auto intro: bool_induct)
   572 
   570 
   573 
   571 
  1218   insert_iff empty_iff Un_iff Int_iff Compl_iff Diff_iff
  1216   insert_iff empty_iff Un_iff Int_iff Compl_iff Diff_iff
  1219   mem_Collect_eq UN_iff Union_iff INT_iff Inter_iff
  1217   mem_Collect_eq UN_iff Union_iff INT_iff Inter_iff
  1220   -- {* Each of these has ALREADY been added @{text "[simp]"} above. *}
  1218   -- {* Each of these has ALREADY been added @{text "[simp]"} above. *}
  1221 
  1219 
  1222 end
  1220 end
       
  1221