Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 3f4b836

Browse files
committed
feat(order/bounds): add is_lub_pi and is_glb_pi (#8521)
1 parent ad83714 commit 3f4b836

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/order/basic.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,10 @@ instance pi.preorder {ι : Type u} {α : ι → Type v} [∀ i, preorder (α i)]
415415
le_refl := λ a i, le_refl (a i),
416416
le_trans := λ a b c h₁ h₂ i, le_trans (h₁ i) (h₂ i) }
417417

418+
lemma function.monotone_eval {ι : Type u} {α : ι → Type v} [∀ i, preorder (α i)] (i : ι) :
419+
monotone (function.eval i : (Π i, α i) → α i) :=
420+
λ f g H, H i
421+
418422
lemma pi.le_def {ι : Type u} {α : ι → Type v} [∀ i, preorder (α i)] {x y : Π i, α i} :
419423
x ≤ y ↔ ∀ i, x i ≤ y i :=
420424
iff.rfl

src/order/bounds.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,17 @@ h.exists_between' h₂ $ sub_lt_self _ hε
725725

726726
end linear_ordered_add_comm_group
727727

728+
lemma is_lub_pi {π : α → Type*} [Π a, preorder (π a)] (s : set (Π a, π a)) (f : Π a, π a)
729+
(hs : ∀ a, is_lub (function.eval a '' s) (f a)) :
730+
is_lub s f :=
731+
⟨λ g hg a, (hs a).1 (mem_image_of_mem _ hg),
732+
λ g hg a, (hs a).2 $ λ y ⟨g', hg', hy⟩, hy ▸ hg hg' a⟩
733+
734+
lemma is_glb_pi {π : α → Type*} [Π a, preorder (π a)] (s : set (Π a, π a)) (f : Π a, π a)
735+
(hs : ∀ a, is_glb (function.eval a '' s) (f a)) :
736+
is_glb s f :=
737+
@is_lub_pi α (λ a, order_dual (π a)) _ s f hs
738+
728739
/-!
729740
### Images of upper/lower bounds under monotone functions
730741
-/

0 commit comments

Comments
 (0)