Skip to content

Commit 9dcbf32

Browse files
committed
feat(Order/ConditionallyCompleteLattice): sSup (f '' s) ≤ f (sSup s) (#35822)
1 parent 256af21 commit 9dcbf32

2 files changed

Lines changed: 40 additions & 1 deletion

File tree

Mathlib/Order/ConditionallyCompleteLattice/Basic.lean

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,11 @@ end WithTop
742742

743743
namespace Monotone
744744

745-
variable [Preorder α] [ConditionallyCompleteLattice β] {f : α → β} (h_mono : Monotone f)
745+
variable [ConditionallyCompleteLattice β]
746+
747+
section Preorder
748+
749+
variable [Preorder α] {f : α → β} (h_mono : Monotone f)
746750
include h_mono
747751

748752
/-! A monotone function into a conditionally complete lattice preserves the ordering properties of
@@ -758,6 +762,24 @@ theorem csSup_image_le {s : Set α} (hs : s.Nonempty) {B : α} (hB : B ∈ upper
758762
sSup (f '' s) ≤ f B :=
759763
csSup_le (Nonempty.image f hs) (h_mono.mem_upperBounds_image hB)
760764

765+
end Preorder
766+
767+
section ConditionallyCompleteLattice
768+
769+
variable [ConditionallyCompleteLattice α]
770+
variable {f : α → β} {s : Set α} (hs : s.Nonempty) (hf : Monotone f)
771+
include hs hf
772+
773+
theorem csSup_image_le_map_csSup (hbdd : BddAbove s := by bddDefault) :
774+
sSup (f '' s) ≤ f (sSup s) :=
775+
csSup_image_le hf hs <| isLUB_csSup hs hbdd |>.left
776+
777+
theorem map_csInf_le_csInf_image (hbdd : BddBelow s := by bddDefault) :
778+
f (sInf s) ≤ sInf (f '' s) :=
779+
le_csInf_image hf hs <| isGLB_csInf hs hbdd |>.left
780+
781+
end ConditionallyCompleteLattice
782+
761783
end Monotone
762784

763785
lemma MonotoneOn.csInf_eq_of_subset_of_forall_exists_le

Mathlib/Order/ConditionallyCompleteLattice/Finset.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,23 @@ theorem Set.Finite.csSup_lt_iff (hs : s.Finite) (h : s.Nonempty) : sSup s < a
5151
theorem Set.Finite.lt_csInf_iff (hs : s.Finite) (h : s.Nonempty) : a < sInf s ↔ ∀ x ∈ s, a < x :=
5252
@Set.Finite.csSup_lt_iff αᵒᵈ _ _ _ hs h
5353

54+
section ConditionallyCompleteLattice
55+
56+
variable [ConditionallyCompleteLattice β] {f : α → β} (hmono : Monotone f)
57+
include hmono
58+
59+
theorem Set.Finite.map_sSup_of_monotone {s : Set α} (hne : s.Nonempty) (hfin : s.Finite) :
60+
f (sSup s) = sSup (f '' s) :=
61+
le_antisymm (hmono.le_csSup_image (hne.csSup_mem hfin) hfin.bddAbove)
62+
(hmono.csSup_image_le_map_csSup hne hfin.bddAbove)
63+
64+
theorem Set.Finite.map_sInf_of_monotone {s : Set α} (hne : s.Nonempty) (hfin : s.Finite) :
65+
f (sInf s) = sInf (f '' s) :=
66+
le_antisymm (hmono.map_csInf_le_csInf_image hne hfin.bddBelow)
67+
(hmono.csInf_image_le (hne.csInf_mem hfin) hfin.bddBelow)
68+
69+
end ConditionallyCompleteLattice
70+
5471
variable (f : ι → α)
5572

5673
theorem Finset.ciSup_eq_max'_image {s : Finset ι} (h : ∃ x ∈ s, sSup ∅ ≤ f x)

0 commit comments

Comments
 (0)