src/HOL/Set_Interval.thy
changeset 50999 3de230ed0547
parent 50417 f18b92f91818
child 51152 b52cc015429a
equal deleted inserted replaced
50998:501200635659 50999:3de230ed0547
   115 by (simp add: atMost_def)
   115 by (simp add: atMost_def)
   116 
   116 
   117 lemma atMost_Int_atLeast: "!!n:: 'a::order. atMost n Int atLeast n = {n}"
   117 lemma atMost_Int_atLeast: "!!n:: 'a::order. atMost n Int atLeast n = {n}"
   118 by (blast intro: order_antisym)
   118 by (blast intro: order_antisym)
   119 
   119 
       
   120 lemma (in linorder) lessThan_Int_lessThan: "{ a <..} \<inter> { b <..} = { max a b <..}"
       
   121   by auto
       
   122 
       
   123 lemma (in linorder) greaterThan_Int_greaterThan: "{..< a} \<inter> {..< b} = {..< min a b}"
       
   124   by auto
   120 
   125 
   121 subsection {* Logical Equivalences for Set Inclusion and Equality *}
   126 subsection {* Logical Equivalences for Set Inclusion and Equality *}
   122 
   127 
   123 lemma atLeast_subset_iff [iff]:
   128 lemma atLeast_subset_iff [iff]:
   124      "(atLeast x \<subseteq> atLeast y) = (y \<le> (x::'a::order))"
   129      "(atLeast x \<subseteq> atLeast y) = (y \<le> (x::'a::order))"
   187 by (simp add: atLeastAtMost_def)
   192 by (simp add: atLeastAtMost_def)
   188 
   193 
   189 text {* The above four lemmas could be declared as iffs. Unfortunately this
   194 text {* The above four lemmas could be declared as iffs. Unfortunately this
   190 breaks many proofs. Since it only helps blast, it is better to leave well
   195 breaks many proofs. Since it only helps blast, it is better to leave well
   191 alone *}
   196 alone *}
       
   197 
       
   198 lemma greaterThanLessThan_eq: "{ a <..< b} = { a <..} \<inter> {..< b }"
       
   199   by auto
   192 
   200 
   193 end
   201 end
   194 
   202 
   195 subsubsection{* Emptyness, singletons, subset *}
   203 subsubsection{* Emptyness, singletons, subset *}
   196 
   204