src/HOL/Conditionally_Complete_Lattices.thy
changeset 54257 5c7a3b6b05a9
parent 53216 ad2e09c30aa8
child 54258 adfc759263ab
equal deleted inserted replaced
54256:4843082be7ef 54257:5c7a3b6b05a9
   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