equal
deleted
inserted
replaced
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 |