Skip to content

Commit 943e379

Browse files
committed
feat(Topology/Order/AtTopBotIxx): locally finite families of intervals (leanprover-community#38091)
1 parent 1a5bbc7 commit 943e379

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

Mathlib/Topology/Order/AtTopBotIxx.lean

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,48 @@ theorem tendsto_Ioi_atBot {f : α → Ioi a} (ha : IsPredPrelimit a := by exact
197197
theorem tendsto_Iio_atTop {f : α → Iio a} (ha : IsSuccPrelimit a := by exact .of_dense _) :
198198
Tendsto f l atTop ↔ Tendsto (fun x => (f x : X)) l (𝓝[<] a) := by
199199
rw [← comap_coe_Iio_nhdsLT a ha, tendsto_comap_iff, Function.comp_def]
200+
201+
section LocallyFinite
202+
variable [LinearOrder α] [LocallyFiniteOrder α] [NoMaxOrder X] [NoMinOrder X]
203+
204+
/-- A family of closed intervals bounded by diverging limits is locally finite. -/
205+
theorem locallyFinite_Icc_of_tendsto {f g : α → X}
206+
(hl : Tendsto f atTop atTop) (hu : Tendsto g atBot atBot) :
207+
LocallyFinite (fun n => Set.Icc (f n) (g n)) := by
208+
intro x
209+
cases isEmpty_or_nonempty α
210+
· use univ
211+
simp [Subsingleton.elim _ (∅ : Set α)]
212+
obtain ⟨x_L, hx_L⟩ := exists_lt x
213+
obtain ⟨x_R, hx_R⟩ := exists_gt x
214+
obtain ⟨a_L, ha_L : ∀ a ≤ a_L, g a ≤ x_L⟩ :=
215+
hu.eventually_le_atBot x_L |>.exists_forall_of_atBot
216+
obtain ⟨a_R, ha_R : ∀ a ≥ a_R, x_R ≤ f a⟩ :=
217+
hl.eventually_ge_atTop x_R |>.exists_forall_of_atTop
218+
refine ⟨Ioo x_L x_R, Ioo_mem_nhds hx_L hx_R, (finite_Icc a_L a_R).subset ?_⟩
219+
rintro n ⟨y, ⟨hf, hg⟩, ⟨hxL, hxR⟩⟩
220+
constructor
221+
· contrapose! hxL
222+
exact hg.trans (ha_L n hxL.le)
223+
· contrapose! hxR
224+
exact (ha_R n hxR.le).trans hf
225+
226+
/-- A family of half-open intervals bounded by diverging limits is locally finite. -/
227+
theorem locallyFinite_Ico_of_tendsto {l u : α → X}
228+
(hl : Tendsto l atTop atTop) (hu : Tendsto u atBot atBot) :
229+
LocallyFinite (fun n => Set.Ico (l n) (u n)) :=
230+
locallyFinite_Icc_of_tendsto hl hu |>.subset fun _ => Set.Ico_subset_Icc_self
231+
232+
/-- A family of half-open intervals bounded by diverging limits is locally finite. -/
233+
theorem locallyFinite_Ioc_of_tendsto {l u : α → X}
234+
(hl : Tendsto l atTop atTop) (hu : Tendsto u atBot atBot) :
235+
LocallyFinite (fun n => Set.Ioc (l n) (u n)) :=
236+
locallyFinite_Icc_of_tendsto hl hu |>.subset fun _ => Set.Ioc_subset_Icc_self
237+
238+
/-- A family of open intervals bounded by diverging limits is locally finite. -/
239+
theorem locallyFinite_Ioo_of_tendsto {l u : α → X}
240+
(hl : Tendsto l atTop atTop) (hu : Tendsto u atBot atBot) :
241+
LocallyFinite (fun n => Set.Ioo (l n) (u n)) :=
242+
locallyFinite_Icc_of_tendsto hl hu |>.subset fun _ => Set.Ioo_subset_Icc_self
243+
244+
end LocallyFinite

0 commit comments

Comments
 (0)