@@ -24,6 +24,11 @@ and the Lebesgue measure on `(0, +∞)` taken with density `fun r ↦ r ^ n`.
2424
2525One can think about this fact as a version of polar coordinate change formula
2626for a general nontrivial normed space.
27+
28+ In this file we provide a way to rewrite integrals and integrability
29+ of functions that depend on the norm only in terms of integral over `(0, +∞)`.
30+ We also provide a positive lower estimate on the `(Measure.toSphere μ)`-measure
31+ of a ball of radius `ε > 0` on the unit sphere.
2732-/
2833
2934@[expose] public section
@@ -153,6 +158,96 @@ theorem measurePreserving_homeomorphUnitSphereProd :
153158 sub_add_cancel, mul_right_comm, ← ENNReal.ofReal_natCast, ← ENNReal.ofReal_mul, mul_div_cancel₀]
154159 exacts [(Nat.cast_pos.2 hpos).ne', Nat.cast_nonneg _]
155160
161+ /-- An auxiliary lemma for `toSphereBallBound_mul_measure_unitBall_le_toSphere_ball`.
162+ The estimate in this lemma is highly suboptimal.
163+ For a non-private lemma, we should aim for a more precise and a more general fact
164+ (e.g., an estimate on the radius of a ball centered at `t • x`
165+ that is guaranteed to be a subset of the cone. -/
166+ private lemma ball_subset_sector_of_small_epsilon
167+ {E : Type *} [NormedAddCommGroup E] [NormedSpace ℝ E]
168+ (x : E) (hx : ‖x‖ = 1 ) (ε : ℝ) (hε : 0 < ε) (hε2 : ε ≤ 2 ) :
169+ ball ((1 - ε / 4 ) • x) (ε / 4 ) ⊆
170+ Ioo (0 : ℝ) 1 • (ball x ε ∩ sphere (0 : E) 1 ) := by
171+ intro y hy
172+ rw [mem_ball] at hy
173+ have habs : |1 - ε / 4 | = 1 - ε / 4 := abs_of_nonneg (by linarith)
174+ -- Note that $y ≠ 0$.
175+ have hy₀ : y ≠ 0 := by
176+ rintro rfl
177+ have : 1 - ε / 4 < ε / 4 := by simpa [norm_smul, habs, hx] using hy
178+ linarith
179+ have hy₁ : ‖y‖ < 1 := calc
180+ ‖y‖ ≤ dist y ((1 - ε / 4 ) • x) + ‖(1 - ε / 4 ) • x‖ := by
181+ simpa using dist_triangle y ((1 - ε / 4 ) • x) 0
182+ _ < ε / 4 + ‖(1 - ε / 4 ) • x‖ := by gcongr
183+ _ = 1 := by simp [norm_smul, habs, hx]
184+ -- Let $u = y / \|y\|$. We show $\|u - x\| < \epsilon$.
185+ set u : E := ‖y‖⁻¹ • y
186+ have hu₁ : ‖u‖ = 1 := by simp [u, hy₀, norm_smul]
187+ refine ⟨‖y‖, ⟨by simpa, hy₁⟩, u, ⟨?_, by simpa⟩, by simp [u, hy₀]⟩
188+ rw [mem_ball]
189+ have hyx := calc
190+ dist y x ≤ dist y ((1 - ε / 4 ) • x) + dist ((1 - ε / 4 ) • x) x := dist_triangle ..
191+ _ < ε / 4 + dist ((1 - ε / 4 ) • x) x := by gcongr
192+ _ = ε / 4 + ε / 4 := by simp [sub_smul, norm_smul, hx, abs_of_pos hε]
193+ _ = ε / 2 := by ring
194+ have huy : dist u y ≤ dist x y := by
195+ have H : u - y = (1 - ‖y‖) • u := by simp [u, hy₀, sub_smul]
196+ simpa [dist_eq_norm_sub, H, norm_smul, abs_of_nonneg, hy₁.le, hu₁, hx]
197+ using dist_triangle x y 0
198+ linarith [dist_triangle u y x, dist_comm x y]
199+
200+ /-- Lower estimate on the measure of the `ε`-cone in an `n`-dimensional normed space
201+ divided by the measure of the ball. -/
202+ @[irreducible]
203+ noncomputable def toSphereBallBound (n : ℕ) (ε : ℝ) : ℝ≥0 :=
204+ if n ≠ 0 ∧ 0 < ε then n * ((min (Real.toNNReal ε) 2 ) / 4 ) ^ n else 1
205+
206+ theorem toSphereBallBound_pos (n : ℕ) (ε : ℝ) : 0 < toSphereBallBound n ε := by
207+ unfold toSphereBallBound
208+ split_ifs with h
209+ · cases h
210+ positivity
211+ · positivity
212+
213+ /-- A ball of radius `ε` on the unit sphere in a real normed space
214+ has measure at least `toSphereBallBound n ε * μ (ball 0 1)`,
215+ where `n` is the dimension of the space,
216+ `toSphereBallBound n ε` is a lower estimate that depends only on the dimension and `ε`,
217+ which is positive for positive `n` and `ε`. -/
218+ theorem toSphereBallBound_mul_measure_unitBall_le_toSphere_ball {ε : ℝ}
219+ (hε : 0 < ε) (x : sphere (0 : E) 1 ) :
220+ toSphereBallBound (Module.finrank ℝ E) ε * μ (ball 0 1 ) ≤ μ.toSphere (ball x ε) := by
221+ have : Nontrivial E := ⟨⟨x, 0 , ne_of_apply_ne Norm.norm (by simp)⟩⟩
222+ wlog hε₂ : ε ≤ 2 generalizing ε
223+ · trans μ.toSphere (ball x (min ε 2 ))
224+ · simpa [Real.toNNReal_monotone.map_min, toSphereBallBound]
225+ using this (ε := min ε 2 ) (by simp [hε]) (by simp)
226+ · gcongr
227+ simp
228+ rw [μ.toSphere_apply' measurableSet_ball, Subtype.image_ball, setOf_mem_eq]
229+ grw [← ball_subset_sector_of_small_epsilon] <;> try assumption
230+ · have hdim : Module.finrank ℝ E ≠ 0 := Module.finrank_pos.ne'
231+ have : min (ENNReal.ofReal ε) 2 = ENNReal.ofReal ε := by simpa
232+ simp (disch := positivity) [μ.addHaar_ball_of_pos (r := ε / 4 ), ENNReal.ofReal_div_of_pos,
233+ toSphereBallBound, mul_assoc, ENNReal.ofNNReal_toNNReal, this, hdim, hε]
234+ · simp
235+
236+ /-- A ball of radius `ε` on the unit sphere in a real normed space
237+ has measure at least `toSphereBallBound n ε * μ (ball 0 1)`,
238+ where `n` is the dimension of the space,
239+ `toSphereBallBound n ε` is a lower estimate that depends only on the dimension and `ε`,
240+ which is positive for positive `n` and `ε`.
241+
242+ This is a version stated in terms `MeasureTheory.Measure.real`. -/
243+ theorem toSphereBallBound_mul_measureReal_unitBall_le_toSphere_ball
244+ {ε : ℝ} (hε : 0 < ε) (x : sphere (0 : E) 1 ) :
245+ toSphereBallBound (Module.finrank ℝ E) ε * μ.real (ball 0 1 ) ≤
246+ μ.toSphere.real (ball x ε) := by
247+ grw [Measure.real, Measure.real, ← toSphereBallBound_mul_measure_unitBall_le_toSphere_ball μ hε,
248+ ENNReal.toReal_mul, ENNReal.coe_toReal]
249+ simp
250+
156251end Measure
157252
158253variable {F : Type *} [NormedAddCommGroup F] [NormedSpace ℝ F]
0 commit comments