281 using cSup_eq_Sup_fin[of X] Sup_fin_eq_Max[of X] by simp |
281 using cSup_eq_Sup_fin[of X] Sup_fin_eq_Max[of X] by simp |
282 |
282 |
283 lemma cInf_eq_Min: "finite (X::'a::conditionally_complete_linorder set) \<Longrightarrow> X \<noteq> {} \<Longrightarrow> Inf X = Min X" |
283 lemma cInf_eq_Min: "finite (X::'a::conditionally_complete_linorder set) \<Longrightarrow> X \<noteq> {} \<Longrightarrow> Inf X = Min X" |
284 using cInf_eq_Inf_fin[of X] Inf_fin_eq_Min[of X] by simp |
284 using cInf_eq_Inf_fin[of X] Inf_fin_eq_Min[of X] by simp |
285 |
285 |
286 lemma cSup_lessThan[simp]: "Sup {..<x::'a::{conditionally_complete_linorder, unbounded_dense_linorder}} = x" |
286 lemma cSup_lessThan[simp]: "Sup {..<x::'a::{conditionally_complete_linorder, no_bot, dense_linorder}} = x" |
287 by (auto intro!: cSup_eq_non_empty intro: dense_le) |
287 by (auto intro!: cSup_eq_non_empty intro: dense_le) |
288 |
288 |
289 lemma cSup_greaterThanLessThan[simp]: "y < x \<Longrightarrow> Sup {y<..<x::'a::{conditionally_complete_linorder, unbounded_dense_linorder}} = x" |
289 lemma cSup_greaterThanLessThan[simp]: "y < x \<Longrightarrow> Sup {y<..<x::'a::{conditionally_complete_linorder, no_bot, dense_linorder}} = x" |
290 by (auto intro!: cSup_eq intro: dense_le_bounded) |
290 by (auto intro!: cSup_eq intro: dense_le_bounded) |
291 |
291 |
292 lemma cSup_atLeastLessThan[simp]: "y < x \<Longrightarrow> Sup {y..<x::'a::{conditionally_complete_linorder, unbounded_dense_linorder}} = x" |
292 lemma cSup_atLeastLessThan[simp]: "y < x \<Longrightarrow> Sup {y..<x::'a::{conditionally_complete_linorder, no_bot, dense_linorder}} = x" |
293 by (auto intro!: cSup_eq intro: dense_le_bounded) |
293 by (auto intro!: cSup_eq intro: dense_le_bounded) |
294 |
294 |
295 lemma cInf_greaterThan[simp]: "Inf {x::'a::{conditionally_complete_linorder, unbounded_dense_linorder} <..} = x" |
295 lemma cInf_greaterThan[simp]: "Inf {x::'a::{conditionally_complete_linorder, no_top, dense_linorder} <..} = x" |
296 by (auto intro!: cInf_eq intro: dense_ge) |
296 by (auto intro!: cInf_eq intro: dense_ge) |
297 |
297 |
298 lemma cInf_greaterThanAtMost[simp]: "y < x \<Longrightarrow> Inf {y<..x::'a::{conditionally_complete_linorder, unbounded_dense_linorder}} = y" |
298 lemma cInf_greaterThanAtMost[simp]: "y < x \<Longrightarrow> Inf {y<..x::'a::{conditionally_complete_linorder, no_top, dense_linorder}} = y" |
299 by (auto intro!: cInf_eq intro: dense_ge_bounded) |
299 by (auto intro!: cInf_eq intro: dense_ge_bounded) |
300 |
300 |
301 lemma cInf_greaterThanLessThan[simp]: "y < x \<Longrightarrow> Inf {y<..<x::'a::{conditionally_complete_linorder, unbounded_dense_linorder}} = y" |
301 lemma cInf_greaterThanLessThan[simp]: "y < x \<Longrightarrow> Inf {y<..<x::'a::{conditionally_complete_linorder, no_top, dense_linorder}} = y" |
302 by (auto intro!: cInf_eq intro: dense_ge_bounded) |
302 by (auto intro!: cInf_eq intro: dense_ge_bounded) |
303 |
303 |
304 end |
304 end |