Skip to content

Commit 2ccc107

Browse files
committed
feat: pointwise limit of a sequence of monotone functions is monotone (#40526)
Adds lemmas showing that the pointwise limit of a sequence of frequently monotone functions is monotone in an order-closed topology. It also adds the corresponding antitone variants via the order dual. Created with a little bit help from codex :) Co-authored-by: Yongxi Lin <aaronlin@andrew.cmu.edu>
1 parent 8e2ecc9 commit 2ccc107

1 file changed

Lines changed: 40 additions & 9 deletions

File tree

Mathlib/Topology/Order/OrderClosed.lean

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ see their statements.
4848
* `le_of_tendsto`, `ge_of_tendsto` : if `f` converges to `a` and eventually `f x ≤ b`
4949
(resp., `b ≤ f x`), then `a ≤ b` (resp., `b ≤ a`); we also provide primed versions
5050
that assume the inequalities to hold for all `x`.
51+
* `monotone_of_frequently_monotone_of_tendsto`, `antitone_of_frequently_antitone_of_tendsto` : the
52+
pointwise limit of frequently monotone or antitone functions is monotone or antitone.
5153
5254
### Min, max, `sSup` and `sInf`
5355
@@ -514,25 +516,54 @@ theorem IsClosed.epigraph [TopologicalSpace β] {f : β → α} {s : Set β} (hs
514516
(hf : ContinuousOn f s) : IsClosed { p : β × α | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
515517
(hs.preimage continuous_fst).isClosed_le (hf.comp continuousOn_fst Subset.rfl) continuousOn_snd
516518

519+
section Tendsto
520+
521+
variable {ι : Type*} {l : Filter ι} [Preorder β] {F : ι → β → α} {f : β → α} {s : Set β}
522+
523+
/-- The limit of a collection of functions that is frequently monotone on a set is monotone on
524+
that set. -/
525+
lemma monotoneOn_of_frequently_monotoneOn_of_tendsto (hF : ∃ᶠ i in l, MonotoneOn (F i) s)
526+
(hlim : ∀ x ∈ s, Tendsto (fun i ↦ F i x) l (𝓝 (f x))) : MonotoneOn f s :=
527+
fun a ha b hb hab ↦ le_of_tendsto_of_tendsto_of_frequently (hlim a ha) (hlim b hb) <|
528+
hF.mono fun _ hi ↦ hi ha hb hab
529+
530+
/-- The limit of a collection of functions that is frequently monotone is monotone. -/
531+
lemma monotone_of_frequently_monotone_of_tendsto (hF : ∃ᶠ i in l, Monotone (F i))
532+
(hlim : ∀ x, Tendsto (fun i ↦ F i x) l (𝓝 (f x))) : Monotone f :=
533+
monotoneOn_univ.1 <| monotoneOn_of_frequently_monotoneOn_of_tendsto
534+
(hF.mono fun _ hi ↦ hi.monotoneOn _) fun x _ ↦ hlim x
535+
536+
/-- The limit of a collection of functions that is frequently antitone on a set is antitone on
537+
that set. -/
538+
lemma antitoneOn_of_frequently_antitoneOn_of_tendsto (hF : ∃ᶠ i in l, AntitoneOn (F i) s)
539+
(hlim : ∀ x ∈ s, Tendsto (fun i ↦ F i x) l (𝓝 (f x))) : AntitoneOn f s :=
540+
monotoneOn_of_frequently_monotoneOn_of_tendsto (α := αᵒᵈ) hF hlim
541+
542+
/-- The limit of a collection of functions that is frequently antitone is antitone. -/
543+
lemma antitone_of_frequently_antitone_of_tendsto (hF : ∃ᶠ i in l, Antitone (F i))
544+
(hlim : ∀ x, Tendsto (fun i ↦ F i x) l (𝓝 (f x))) : Antitone f :=
545+
monotone_of_frequently_monotone_of_tendsto (α := αᵒᵈ) hF hlim
546+
517547
/-- The set of monotone functions on a set is closed. -/
518-
theorem isClosed_monotoneOn [Preorder β] {s : Set β} : IsClosed {f : β → α | MonotoneOn f s} := by
548+
theorem isClosed_monotoneOn : IsClosed {f : β → α | MonotoneOn f s} := by
519549
simp only [isClosed_iff_clusterPt, clusterPt_principal_iff_frequently]
520-
intro g hg a ha b hb hab
521-
have hmain (x) : Tendsto (fun f' ↦ f' x) (𝓝 g) (𝓝 (g x)) := continuousAt_apply x _
522-
exact le_of_tendsto_of_tendsto_of_frequently (hmain a) (hmain b) (hg.mono fun g h ↦ h ha hb hab)
550+
exact fun g hg => monotoneOn_of_frequently_monotoneOn_of_tendsto hg
551+
fun x _ ↦ continuousAt_apply x g
523552

524553
/-- The set of monotone functions is closed. -/
525-
theorem isClosed_monotone [Preorder β] : IsClosed {f : β → α | Monotone f} := by
554+
theorem isClosed_monotone : IsClosed {f : β → α | Monotone f} := by
526555
simp_rw [← monotoneOn_univ]
527556
exact isClosed_monotoneOn
528557

529558
/-- The set of antitone functions on a set is closed. -/
530-
theorem isClosed_antitoneOn [Preorder β] {s : Set β} : IsClosed {f : β → α | AntitoneOn f s} :=
531-
isClosed_monotoneOn (α := αᵒᵈ) (β := β)
559+
theorem isClosed_antitoneOn : IsClosed {f : β → α | AntitoneOn f s} :=
560+
isClosed_monotoneOn (α := αᵒᵈ)
532561

533562
/-- The set of antitone functions is closed. -/
534-
theorem isClosed_antitone [Preorder β] : IsClosed {f : β → α | Antitone f} :=
535-
isClosed_monotone (α := αᵒᵈ) (β := β)
563+
theorem isClosed_antitone : IsClosed {f : β → α | Antitone f} :=
564+
isClosed_monotone (α := αᵒᵈ)
565+
566+
end Tendsto
536567

537568
end Preorder
538569

0 commit comments

Comments
 (0)