Skip to content

Commit 72dec69

Browse files
authored
Merge branch 'master' into tensorProduct_api
2 parents 6363bbf + de0f642 commit 72dec69

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Mathlib/Analysis/Normed/MulAction.lean

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,3 +183,37 @@ lemma NormedDivisionRing.toNormSMulClass : NormSMulClass α β where
183183
_ = ‖r • x‖ := by rw [norm_inv, ← mul_assoc, mul_inv_cancel₀ (mt norm_eq_zero.1 h), one_mul]
184184

185185
end NormedDivisionRing
186+
187+
section NormedDivisionRingModule
188+
variable [NormedDivisionRing α] [SeminormedAddCommGroup β] [Module α β] [NormSMulClass α β]
189+
190+
theorem Metric.smul_image_ball {s : α} (hs : s ≠ 0) (x : β) (ε : ℝ) :
191+
(s • ·) '' ball x ε = ball (s • x) (‖s‖ * ε) := by
192+
ext p
193+
simp_rw [Set.mem_image, mem_ball]
194+
constructor
195+
· rintro ⟨y, h1, rfl⟩
196+
simpa [dist_smul₀] using mul_lt_mul_of_pos_left h1 (norm_pos_iff.mpr hs)
197+
· refine fun h ↦ ⟨s⁻¹ • p, ?_, by simp [smul_smul, hs]⟩
198+
refine lt_of_mul_lt_mul_of_nonneg_left ?_ (norm_nonneg s)
199+
rw [← dist_smul₀]
200+
simpa [smul_smul, hs] using h
201+
202+
theorem Metric.smul_image_closedBall {s : α} (hs : s ≠ 0) (x : β) (ε : ℝ) :
203+
(s • ·) '' closedBall x ε = closedBall (s • x) (‖s‖ * ε) := by
204+
ext p
205+
simp_rw [Set.mem_image, mem_closedBall]
206+
constructor
207+
· rintro ⟨y, h1, rfl⟩
208+
simpa [dist_smul₀] using mul_le_mul_of_nonneg_left h1 (norm_nonneg s)
209+
· refine fun h ↦ ⟨s⁻¹ • p, ?_, by simp [smul_smul, hs]⟩
210+
refine le_of_mul_le_mul_of_pos_left ?_ (norm_pos_iff.mpr hs)
211+
rw [← dist_smul₀]
212+
simpa [smul_smul, hs] using h
213+
214+
theorem Metric.smul_image_sphere {s : α} (hs : s ≠ 0) (x : β) (ε : ℝ) :
215+
(s • ·) '' sphere x ε = sphere (s • x) (‖s‖ * ε) := by
216+
simp_rw [← Metric.closedBall_diff_ball, Set.image_diff (smul_right_injective β hs),
217+
smul_image_ball hs, smul_image_closedBall hs]
218+
219+
end NormedDivisionRingModule

0 commit comments

Comments
 (0)