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

Commit 5ef365a

Browse files
committed
feat(topology/separation): generalize tendsto_const_nhds_iff to t1_space (#12883)
I noticed this when working on the sphere eversion project
1 parent 6696bdd commit 5ef365a

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

src/measure_theory/integral/lebesgue.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1084,7 +1084,7 @@ begin
10841084
obtain ⟨n, hn⟩ : ∃ n : ℕ, b < n * μ (φ ⁻¹' {∞}), from exists_nat_mul_gt h_meas (ne_of_lt hb),
10851085
use (const α (n : ℝ≥0)).restrict (φ ⁻¹' {∞}),
10861086
simp only [lt_supr_iff, exists_prop, coe_restrict, φ.measurable_set_preimage, coe_const,
1087-
ennreal.coe_indicator, map_coe_ennreal_restrict, map_const, ennreal.coe_nat,
1087+
ennreal.coe_indicator, map_coe_ennreal_restrict, simple_func.map_const, ennreal.coe_nat,
10881088
restrict_const_lintegral],
10891089
refine ⟨indicator_le (λ x hx, le_trans _ (hφ _)), hn⟩,
10901090
simp only [mem_preimage, mem_singleton_iff] at hx,

src/order/filter/basic.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1646,6 +1646,9 @@ begin
16461646
simp [univ_mem] },
16471647
end
16481648

1649+
lemma map_const [ne_bot f] {c : α} : f.map (λ x, c) = pure c :=
1650+
by { ext s, by_cases h : c ∈ s; simp [h] }
1651+
16491652
lemma comap_comap {m : γ → β} {n : β → α} : comap m (comap n f) = comap (n ∘ m) f :=
16501653
le_antisymm
16511654
(λ c ⟨b, hb, (h : preimage (n ∘ m) b ⊆ c)⟩, ⟨preimage n b, preimage_mem_comap hb, h⟩)

src/topology/separation.lean

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -463,14 +463,17 @@ begin
463463
exact ⟨i, hi, λ h, hsub h rfl⟩
464464
end
465465

466-
@[simp] lemma nhds_le_nhds_iff [t1_space α] {a b : α} : 𝓝 a ≤ 𝓝 b ↔ a = b :=
466+
@[simp] lemma pure_le_nhds_iff [t1_space α] {a b : α} : pure a ≤ 𝓝 b ↔ a = b :=
467467
begin
468-
refine ⟨λ h, _, λ h, h ▸ le_rfl⟩,
468+
refine ⟨λ h, _, λ h, h ▸ pure_le_nhds a⟩,
469469
by_contra hab,
470-
have := h (compl_singleton_mem_nhds $ ne.symm hab),
471-
refine mem_of_mem_nhds this (mem_singleton a)
470+
simpa only [mem_pure, mem_compl_iff, mem_singleton, not_true] using
471+
h (compl_singleton_mem_nhds $ ne.symm hab)
472472
end
473473

474+
@[simp] lemma nhds_le_nhds_iff [t1_space α] {a b : α} : 𝓝 a ≤ 𝓝 b ↔ a = b :=
475+
⟨λ h, pure_le_nhds_iff.mp $ (pure_le_nhds a).trans h, λ h, h ▸ le_rfl⟩
476+
474477
@[simp] lemma nhds_eq_nhds_iff [t1_space α] {a b : α} : 𝓝 a = 𝓝 b ↔ a = b :=
475478
⟨λ h, nhds_le_nhds_iff.mp h.le, λ h, h ▸ rfl⟩
476479

@@ -542,6 +545,10 @@ lemma continuous_at_of_tendsto_nhds [topological_space β] [t1_space β] {f : α
542545
(h : tendsto f (𝓝 a) (𝓝 b)) : continuous_at f a :=
543546
show tendsto f (𝓝 a) (𝓝 $ f a), by rwa eq_of_tendsto_nhds h
544547

548+
lemma tendsto_const_nhds_iff [t1_space α] {l : filter α} [ne_bot l] {c d : α} :
549+
tendsto (λ x, c) l (𝓝 d) ↔ c = d :=
550+
by simp_rw [tendsto, filter.map_const, pure_le_nhds_iff]
551+
545552
/-- If the punctured neighborhoods of a point form a nontrivial filter, then any neighborhood is
546553
infinite. -/
547554
lemma infinite_of_mem_nhds {α} [topological_space α] [t1_space α] (x : α) [hx : ne_bot (𝓝[≠] x)]
@@ -807,10 +814,6 @@ lemma tendsto_nhds_unique_of_frequently_eq [t2_space α] {f g : β → α} {l :
807814
have ∃ᶠ z : α × α in 𝓝 (a, b), z.1 = z.2 := (ha.prod_mk_nhds hb).frequently hfg,
808815
not_not.1 $ λ hne, this (is_closed_diagonal.is_open_compl.mem_nhds hne)
809816

810-
lemma tendsto_const_nhds_iff [t2_space α] {l : filter α} [ne_bot l] {c d : α} :
811-
tendsto (λ x, c) l (𝓝 d) ↔ c = d :=
812-
⟨λ h, tendsto_nhds_unique (tendsto_const_nhds) h, λ h, h ▸ tendsto_const_nhds⟩
813-
814817
/-- A T₂.₅ space, also known as a Urysohn space, is a topological space
815818
where for every pair `x ≠ y`, there are two open sets, with the intersection of closures
816819
empty, one containing `x` and the other `y` . -/

0 commit comments

Comments
 (0)