Skip to content

Commit 6282649

Browse files
tb65536kim-em
authored andcommitted
feat(Analysis/Normed/Group/Uniform): AntilipschitzWith is equivalent to being bounded below (leanprover-community#35247)
This PR proves that an operator is Antilipschitz if and only if it is bounded below. Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent 653e4bc commit 6282649

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

Mathlib/Analysis/Normed/Group/Uniform.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@ theorem AntilipschitzWith.le_mul_norm' {f : E → F} {K : ℝ≥0} (h : Antilips
154154
(hf : f 1 = 1) (x) : ‖x‖ ≤ K * ‖f x‖ := by
155155
simpa only [dist_one_right, hf] using h.le_mul_dist x 1
156156

157+
@[to_additive antilipschitzWith_iff_exists_mul_le_mul]
158+
theorem antilipschitzWith_iff_exists_mul_le_mul' [MonoidHomClass 𝓕 E F] (f : 𝓕) :
159+
(∃ K, AntilipschitzWith K f) ↔ ∃ c > 0, ∀ x, c * ‖x‖ ≤ ‖f x‖ := by
160+
refine ⟨fun ⟨K, hK⟩ ↦ ⟨(K + 1)⁻¹, by positivity, fun x ↦ ?_⟩, fun ⟨c, hc0, hc⟩ ↦
161+
⟨⟨c⁻¹, by positivity⟩, MonoidHomClass.antilipschitz_of_bound f fun x ↦ ?_⟩⟩
162+
· grw [hK.le_mul_norm' (map_one f), ← mul_assoc]
163+
exact mul_le_of_le_one_left (norm_nonneg' (f x)) (by simp [field])
164+
· grw [← hc, NNReal.coe_mk, inv_mul_cancel_left₀ hc0.ne']
165+
157166
@[to_additive AntilipschitzWith.le_mul_nnnorm]
158167
theorem AntilipschitzWith.le_mul_nnnorm' {f : E → F} {K : ℝ≥0} (h : AntilipschitzWith K f)
159168
(hf : f 1 = 1) (x) : ‖x‖₊ ≤ K * ‖f x‖₊ :=

Mathlib/Topology/MetricSpace/Antilipschitz.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ open scoped NNReal ENNReal Uniformity
3232
variable {α β γ : Type*}
3333

3434
/-- We say that `f : α → β` is `AntilipschitzWith K` if for any two points `x`, `y` we have
35-
`edist x y ≤ K * edist (f x) (f y)`. -/
35+
`edist x y ≤ K * edist (f x) (f y)`. This can also be used as a predicate for bounded below
36+
linear operators, see `antilipschitzWith_iff_exists_mul_le_mul`. -/
3637
def AntilipschitzWith [PseudoEMetricSpace α] [PseudoEMetricSpace β] (K : ℝ≥0) (f : α → β) :=
3738
∀ x y, edist x y ≤ K * edist (f x) (f y)
3839

0 commit comments

Comments
 (0)