Skip to content

Commit 7b476a1

Browse files
pitmonticoneldiederinggrunweg
committed
feat(Topology/Order): add IsMax.of_disjoint_nhds_Ioi, IsMin.of_disjoint_nhds_Iio, nonempty_nhds_inter_Ioi, nonempty_nhds_inter_Iio (leanprover-community#37550)
Add `nonempty_nhds_inter_Ioi`: a neighborhood of `x` has nonempty intersection with `Ioi x` when `x` is not a maximum. Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project. Co-authored-by: Leo Diedering <129694072+ldiedering@users.noreply.github.com> Co-authored-by: Michael Rothgang <rothgang@math.uni-bonn.de>
1 parent 2d8021f commit 7b476a1

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Mathlib/Topology/Order/DenselyOrdered.lean

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,26 @@ theorem closure_Iio' (h : (Iio a).Nonempty) : closure (Iio a) = Iic a :=
4747
theorem closure_Iio (a : α) [NoMinOrder α] : closure (Iio a) = Iic a :=
4848
closure_Iio' nonempty_Iio
4949

50+
theorem IsMax.of_disjoint_nhds_Ioi {x : α} {u : Set α} (hu : u ∈ nhds x)
51+
(hd : Disjoint u (Set.Ioi x)) : IsMax x := by
52+
by_contra hx
53+
exact (mem_closure_iff_nhds.mp (closure_Ioi' (not_isMax_iff.mp hx) ▸ self_mem_Ici) u hu).ne_empty
54+
(disjoint_iff.mp hd)
55+
56+
theorem IsMin.of_disjoint_nhds_Iio {x : α} {u : Set α} (hu : u ∈ nhds x)
57+
(hd : Disjoint u (Set.Iio x)) : IsMin x :=
58+
IsMax.of_disjoint_nhds_Ioi (α := αᵒᵈ) hu hd
59+
60+
theorem nonempty_nhds_inter_Ioi {x : α} {u : Set α} (hu : u ∈ nhds x) (hx : ¬IsMax x) :
61+
(u ∩ Set.Ioi x).Nonempty := by
62+
by_contra h
63+
exact hx (IsMax.of_disjoint_nhds_Ioi hu (Set.disjoint_iff_inter_eq_empty.mpr
64+
(Set.not_nonempty_iff_eq_empty.mp h)))
65+
66+
theorem nonempty_nhds_inter_Iio {x : α} {u : Set α} (hu : u ∈ nhds x) (hx : ¬IsMin x) :
67+
(u ∩ Set.Iio x).Nonempty :=
68+
nonempty_nhds_inter_Ioi (α := αᵒᵈ) hu hx
69+
5070
/-- The closure of the open interval `(a, b)` is the closed interval `[a, b]`. -/
5171
@[simp]
5272
theorem closure_Ioo {a b : α} (hab : a ≠ b) : closure (Ioo a b) = Icc a b := by

0 commit comments

Comments
 (0)