Skip to content

Commit 507f3af

Browse files
committed
feat(Topology/EMetricSpace/Basic): generalize lemma (#37529)
Generalize the lemma `controlled_of_isUniformEmbedding` to uniform inducing maps. This resolves a TODO.
1 parent 69f3b8d commit 507f3af

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

Mathlib/Topology/EMetricSpace/Basic.lean

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,20 @@ nonrec theorem isUniformEmbedding_iff [PseudoEMetricSpace β] {f : α → β} :
7979
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ :=
8080
(isUniformEmbedding_iff _).trans <| and_comm.trans <| Iff.rfl.and isUniformInducing_iff
8181

82-
/-- If a map between pseudoemetric spaces is a uniform embedding then the edistance between `f x`
83-
and `f y` is controlled in terms of the distance between `x` and `y`.
82+
/-- If a map between pseudoemetric spaces is a uniform inducing map then the edistance between `f x`
83+
and `f y` is controlled in terms of the distance between `x` and `y`. -/
84+
theorem controlled_of_isUniformInducing [PseudoEMetricSpace β] {f : α → β}
85+
(h : IsUniformInducing f) :
86+
(∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, edist a b < δ → edist (f a) (f b) < ε) ∧
87+
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ :=
88+
⟨uniformContinuous_iff.1 h.uniformContinuous, (isUniformInducing_iff.1 h).2
8489

85-
In fact, this lemma holds for a `IsUniformInducing` map.
86-
TODO: generalize? -/
90+
@[deprecated controlled_of_isUniformInducing (since := "2026-04-01")]
8791
theorem controlled_of_isUniformEmbedding [PseudoEMetricSpace β] {f : α → β}
8892
(h : IsUniformEmbedding f) :
8993
(∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, edist a b < δ → edist (f a) (f b) < ε) ∧
9094
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ :=
91-
⟨uniformContinuous_iff.1 h.uniformContinuous, (isUniformEmbedding_iff.1 h).2.2
95+
controlled_of_isUniformInducing h.toIsUniformInducing
9296

9397
/-- ε-δ characterization of Cauchy sequences on pseudoemetric spaces -/
9498
protected theorem cauchy_iff {f : Filter α} :

Mathlib/Topology/MetricSpace/Pseudo/Basic.lean

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,20 @@ nonrec theorem isUniformEmbedding_iff [PseudoMetricSpace β] {f : α → β} :
7777
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, dist (f a) (f b) < ε → dist a b < δ := by
7878
rw [isUniformEmbedding_iff, and_comm, isUniformInducing_iff]
7979

80-
/-- If a map between pseudometric spaces is a uniform embedding then the distance between `f x`
80+
/-- If a map between pseudometric spaces is a uniform inducing map then the distance between `f x`
8181
and `f y` is controlled in terms of the distance between `x` and `y`. -/
82+
theorem controlled_of_isUniformInducing [PseudoMetricSpace β] {f : α → β}
83+
(h : IsUniformInducing f) :
84+
(∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, dist a b < δ → dist (f a) (f b) < ε) ∧
85+
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, dist (f a) (f b) < ε → dist a b < δ :=
86+
⟨uniformContinuous_iff.1 h.uniformContinuous, (isUniformInducing_iff.1 h).2
87+
88+
@[deprecated controlled_of_isUniformInducing (since := "2026-04-01")]
8289
theorem controlled_of_isUniformEmbedding [PseudoMetricSpace β] {f : α → β}
8390
(h : IsUniformEmbedding f) :
8491
(∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, dist a b < δ → dist (f a) (f b) < ε) ∧
8592
∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, dist (f a) (f b) < ε → dist a b < δ :=
86-
⟨uniformContinuous_iff.1 h.uniformContinuous, (isUniformEmbedding_iff.1 h).2.2
93+
controlled_of_isUniformInducing h.toIsUniformInducing
8794

8895
theorem totallyBounded_iff {s : Set α} :
8996
TotallyBounded s ↔ ∀ ε > 0, ∃ t : Set α, t.Finite ∧ s ⊆ ⋃ y ∈ t, ball y ε :=

0 commit comments

Comments
 (0)