Skip to content

Commit 247c939

Browse files
authored
Cleanup ProofData, extract iHolENorm and iLipENorm (includes task 401) (#493)
While cleaning up `ProofData.lean`, I decided to expand a bit and move the definitions of `iHolENorm` and `iLipENorm` to separate files. Biggest change is to make the tau parameter explicit, IMO this could not be avoided. There were some unexpected consequences of that because tau is an abbrev and so is unfolded by any `simp` call. I wasn't sure what ToMathlib folder these should go in, so I put them under the main folder. I played around a bit with the assumptions to try and minimize them. Probably (quite) some work is required to bring these to Mathlib-worthy completeness, generality and quality, it is expressly not my aim to follow up on that (lacking the specific knowledge to determine appropriate generality etc.). But at least now the definitions and the results are completely abstracted from the rest of Carleson.
1 parent e92c0df commit 247c939

File tree

11 files changed

+336
-319
lines changed

11 files changed

+336
-319
lines changed

Carleson.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ import Carleson.ForestOperator.PointwiseEstimate
3434
import Carleson.ForestOperator.QuantativeEstimate
3535
import Carleson.ForestOperator.RemainingTiles
3636
import Carleson.GridStructure
37+
import Carleson.HolderNorm
3738
import Carleson.HolderVanDerCorput
39+
import Carleson.LipschitzNorm
3840
import Carleson.MetricCarleson.Basic
3941
import Carleson.MetricCarleson.Linearized
4042
import Carleson.MetricCarleson.Main

Carleson/Antichain/TileCorrelation.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private lemma e625 {s₁ s₂ : ℤ} {x₁ x₂ y y' : X} (hy' : y ≠ y') (hs :
126126

127127
/-- Second part of Lemma 6.2.1 (eq. 6.2.3). -/
128128
lemma correlation_kernel_bound {s₁ s₂ : ℤ} {x₁ x₂ : X} (hs : s₁ ≤ s₂) :
129-
iHolENorm (correlation s₁ s₂ x₁ x₂) x₁ (2 * D ^ s₁) ≤
129+
iHolENorm (correlation s₁ s₂ x₁ x₂) x₁ (2 * D ^ s₁) τ
130130
C6_2_1 a / (volume (ball x₁ (D ^ s₁)) * volume (ball x₂ (D ^ s₂))) := by
131131
-- 6.2.4
132132
have hφ' (y : X) : ‖correlation s₁ s₂ x₁ x₂ y‖ₑ ≤
@@ -346,7 +346,7 @@ lemma I12_le' {p p' : 𝔓 X} (hle : 𝔰 p' ≤ 𝔰 p) {g : X → ℂ} (x1 : E
346346
gcongr
347347
· have hbdd := correlation_kernel_bound (a := a) (X := X) hle (x₁ := x1) (x₂ := x2)
348348
have hle : C2_0_5 a * volume (ball x1.1 (D ^ 𝔰 p')) *
349-
iHolENorm (a := a) (correlation (𝔰 p') (𝔰 p) x1.1 x2.1) x1 (2 * D ^ 𝔰 p') ≤
349+
iHolENorm (correlation (𝔰 p') (𝔰 p) x1.1 x2.1) x1 (2 * D ^ 𝔰 p') τ
350350
C2_0_5 a * volume (ball x1.1 (D ^ 𝔰 p')) *
351351
(C6_2_1 a / (volume (ball x1.1 (D ^ 𝔰 p')) * volume (ball x2.1 (D ^ 𝔰 p)))) := by
352352
gcongr

Carleson/Defs.lean

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,14 @@ class CompatibleFunctions (𝕜 : outParam Type*) (X : Type u) (A : outParam ℕ
112112
allBallsCoverBalls {x : X} {r : ℝ} :
113113
AllBallsCoverBalls (WithFunctionDistance x r) 2 A
114114

115+
variable [hXA : DoublingMeasure X A]
116+
115117
/-- The inhomogeneous Lipschitz norm on a ball. -/
116-
def iLipENorm {𝕜} [NormedField 𝕜] (ϕ : X → 𝕜) (x₀ : X) (R : ℝ) : ℝ≥0∞ :=
118+
def iLipENorm {𝕜 X : Type*} [NormedField 𝕜] [PseudoMetricSpace X]
119+
(ϕ : X → 𝕜) (x₀ : X) (R : ℝ) : ℝ≥0∞ :=
117120
(⨆ x ∈ ball x₀ R, ‖ϕ x‖ₑ) +
118121
ENNReal.ofReal R * ⨆ (x ∈ ball x₀ R) (y ∈ ball x₀ R) (_ : x ≠ y), ‖ϕ x - ϕ y‖ₑ / edist x y
119122

120-
variable [hXA : DoublingMeasure X A]
121-
122123
variable (X) in
123124
/-- Θ is τ-cancellative. `τ` will usually be `1 / a` -/
124125
class IsCancellative (τ : ℝ) [CompatibleFunctions ℝ X A] : Prop where

Carleson/DoublingMeasure.lean

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Carleson.Defs
2+
import Carleson.LipschitzNorm
23
import Carleson.ToMathlib.Data.ENNReal
34

45
open MeasureTheory Measure Metric Complex Set Bornology Function
@@ -104,12 +105,13 @@ lemma τ_pos : 0 < defaultτ a := inv_pos.mpr (cast_a_pos X)
104105
lemma τ_nonneg : 0 ≤ defaultτ a := (τ_pos X).le
105106

106107
lemma τ_le_one : defaultτ a ≤ 1 := by
107-
108108
rw [defaultτ, inv_le_one_iff₀]; right; norm_cast; linarith [four_le_a X]
109109

110110
/-- `τ` as an element of `ℝ≥0`. -/
111111
def nnτ : ℝ≥0 := ⟨defaultτ a, τ_nonneg X⟩
112112
lemma nnτ_pos : 0 < nnτ X := τ_pos X
113+
@[simp]
114+
lemma nnτ_def : nnτ X = (defaultτ a).toNNReal := Real.toNNReal_of_nonneg (τ_nonneg X) |>.symm
113115

114116
end KernelProofData
115117

@@ -234,10 +236,6 @@ def cancelPt [CompatibleFunctions 𝕜 X A] : X :=
234236
lemma cancelPt_eq_zero [CompatibleFunctions 𝕜 X A] {f : Θ X} : f (cancelPt X) = 0 :=
235237
CompatibleFunctions.eq_zero (𝕜 := 𝕜) |>.choose_spec f
236238

237-
/-- The `NNReal` version of the inhomogeneous Lipschitz norm on a ball, `iLipENorm`. -/
238-
def iLipNNNorm {𝕜} [NormedField 𝕜] (ϕ : X → 𝕜) (x₀ : X) (R : ℝ) : ℝ≥0 :=
239-
(iLipENorm ϕ x₀ R).toNNReal
240-
241239
variable [hXA : DoublingMeasure X A]
242240

243241
lemma enorm_integral_exp_le [CompatibleFunctions ℝ X A] {τ : ℝ} [IsCancellative X τ]

Carleson/ForestOperator/LargeSeparation.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1764,7 +1764,7 @@ lemma le_C7_5_4 (ha : 4 ≤ a) :
17641764
/-- Lemma 7.5.4. -/
17651765
lemma holder_correlation_tree (hu₁ : u₁ ∈ t) (hu₂ : u₂ ∈ t) (hu : u₁ ≠ u₂) (h2u : 𝓘 u₁ ≤ 𝓘 u₂)
17661766
(hJ : J ∈ 𝓙₅ t u₁ u₂) (hf₁ : BoundedCompactSupport f₁) (hf₂ : BoundedCompactSupport f₂) :
1767-
iHolENorm (holderFunction t u₁ u₂ f₁ f₂ J) (c J) (16 * D ^ s J) ≤
1767+
iHolENorm (holderFunction t u₁ u₂ f₁ f₂ J) (c J) (16 * D ^ s J) τ
17681768
C7_5_4 a * P7_5_4 t u₁ u₂ f₁ f₂ J := by
17691769
unfold iHolENorm
17701770
calc
@@ -1934,7 +1934,7 @@ lemma cdtp_le_iHolENorm (hu₁ : u₁ ∈ t) (hu₂ : u₂ ∈ t) (hu : u₁ ≠
19341934
(h2u : 𝓘 u₁ ≤ 𝓘 u₂) (hf₁ : BoundedCompactSupport f₁) (hf₂ : BoundedCompactSupport f₂) :
19351935
‖∫ x, adjointCarlesonSum (t u₁) f₁ x * conj (adjointCarlesonSum (t u₂ ∩ 𝔖₀ t u₁ u₂) f₂ x)‖ₑ ≤
19361936
∑ J ∈ 𝓙₅ t u₁ u₂, C2_0_5 a * volume (ball (c J) (8 * D ^ s J)) *
1937-
iHolENorm (holderFunction t u₁ u₂ f₁ f₂ J) (c J) (2 * (8 * D ^ s J)) *
1937+
iHolENorm (holderFunction t u₁ u₂ f₁ f₂ J) (c J) (2 * (8 * D ^ s J)) τ *
19381938
(1 + edist_{c J, 8 * D ^ s J} (𝒬 u₂) (𝒬 u₁)) ^ (-(2 * a^2 + a^3 : ℝ)⁻¹) := by
19391939
classical
19401940
have rearr : ∀ J x, t.χ u₁ u₂ J x *

Carleson/HolderNorm.lean

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
import Mathlib.Topology.MetricSpace.Holder
2+
3+
open Set Metric Function ENNReal
4+
open scoped NNReal
5+
6+
/-!
7+
# L^∞-normalized t-Hölder norm
8+
9+
This file defines the L^∞-normalized t-Hölder norm, which probably in some form should end up in Mathlib.
10+
Lemmas about this norm that are proven in Carleson are collected here.
11+
12+
TODO: Assess Mathlib-readiness, complete basic results, optimize imports.
13+
-/
14+
15+
noncomputable section
16+
17+
section Def
18+
19+
variable {𝕜 X : Type*} [PseudoMetricSpace X] [NormedField 𝕜]
20+
21+
/-- the L^∞-normalized t-Hölder norm. Defined in ℝ≥0∞ to avoid sup-related issues. -/
22+
def iHolENorm (φ : X → 𝕜) (x₀ : X) (R : ℝ) (t : ℝ) : ℝ≥0∞ :=
23+
(⨆ (x ∈ ball x₀ R), ‖φ x‖ₑ) + (ENNReal.ofReal R) ^ t *
24+
⨆ (x ∈ ball x₀ R) (y ∈ ball x₀ R) (_ : x ≠ y), (‖φ x - φ y‖ₑ / (edist x y) ^ t)
25+
26+
/-- The `NNReal` version of the L^∞-normalized t-Hölder norm, `iHolENorm`. -/
27+
def iHolNNNorm (φ : X → 𝕜) (x₀ : X) (R : ℝ) (t : ℝ) : ℝ≥0 :=
28+
(iHolENorm φ x₀ R t).toNNReal
29+
30+
end Def
31+
32+
section iHolENorm
33+
34+
variable {X 𝕜 : Type*} {x z : X} {R t : ℝ} {φ : X → 𝕜}
35+
variable [MetricSpace X] [NormedField 𝕜]
36+
37+
lemma enorm_le_iHolENorm_of_mem (hx : x ∈ ball z R) : ‖φ x‖ₑ ≤ iHolENorm φ z R t := by
38+
apply le_trans _ le_self_add
39+
simp only [le_iSup_iff, iSup_le_iff]
40+
tauto
41+
42+
lemma HolderOnWith.of_iHolENorm_ne_top (ht : 0 ≤ t) (hφ : iHolENorm φ z R t ≠ ⊤) :
43+
HolderOnWith (iHolNNNorm φ z R t / R.toNNReal ^ t) t.toNNReal φ (ball z R) := by
44+
intro x hx y hy
45+
have hR : 0 < R := by
46+
simp only [mem_ball] at hx
47+
apply dist_nonneg.trans_lt hx
48+
rcases eq_or_ne x y with rfl | hne
49+
· simp
50+
have : (ENNReal.ofReal R) ^ t * (‖φ x - φ y‖ₑ / (edist x y) ^ t) ≤ iHolENorm φ z R t := calc
51+
_ ≤ (ENNReal.ofReal R) ^ t *
52+
⨆ (x ∈ ball z R) (y ∈ ball z R) (_ : x ≠ y), (‖φ x - φ y‖ₑ / (edist x y) ^ t) := by
53+
gcongr
54+
simp only [ne_eq, le_iSup_iff, iSup_le_iff]
55+
tauto
56+
_ ≤ _ := le_add_self
57+
rw [edist_eq_enorm_sub, ENNReal.coe_div (by simp [hR]), iHolNNNorm, coe_toNNReal hφ,
58+
← ENNReal.div_le_iff_le_mul (by simp [hne]) (by simp [edist_ne_top]),
59+
ENNReal.le_div_iff_mul_le (by simp [hR]) (by simp)]
60+
apply this.trans_eq'
61+
rw [ENNReal.coe_rpow_of_ne_zero (by simp [hR]), Real.coe_toNNReal t ht, ENNReal.ofReal, mul_comm]
62+
63+
lemma continuous_of_iHolENorm_ne_top (ht : 0 < t) (hφ : tsupport φ ⊆ ball z R)
64+
(h'φ : iHolENorm φ z R t ≠ ∞) :
65+
Continuous φ :=
66+
HolderOnWith.of_iHolENorm_ne_top ht.le h'φ |>.continuousOn (by simp [ht])
67+
|>.continuous_of_tsupport_subset isOpen_ball hφ
68+
69+
lemma continuous_of_iHolENorm_ne_top' (ht : 0 < t) (hφ : support φ ⊆ ball z R)
70+
(h'φ : iHolENorm φ z (2 * R) t ≠ ∞) :
71+
Continuous φ := by
72+
rcases le_or_gt R 0 with hR | hR
73+
· have : support φ ⊆ ∅ := by rwa [ball_eq_empty.2 hR] at hφ
74+
simp only [subset_empty_iff, support_eq_empty_iff] at this
75+
simp only [this]
76+
exact continuous_const
77+
apply HolderOnWith.of_iHolENorm_ne_top ht.le h'φ |>.continuousOn (by simp [ht])
78+
|>.continuous_of_tsupport_subset isOpen_ball
79+
apply (closure_mono hφ).trans (closure_ball_subset_closedBall.trans ?_)
80+
exact closedBall_subset_ball (by linarith)
81+
82+
section iHolNNNorm
83+
84+
lemma norm_le_iHolNNNorm_of_mem (hφ : iHolENorm φ z R t ≠ ⊤) (hx : x ∈ ball z R) :
85+
‖φ x‖ ≤ iHolNNNorm φ z R t :=
86+
(ENNReal.toReal_le_toReal (by simp) hφ).2 (enorm_le_iHolENorm_of_mem hx)
87+
88+
lemma norm_le_iHolNNNorm_of_subset (hφ : iHolENorm φ z R t ≠ ⊤) (h : support φ ⊆ ball z R) :
89+
‖φ x‖ ≤ iHolNNNorm φ z R t := by
90+
by_cases hx : x ∈ ball z R
91+
· apply norm_le_iHolNNNorm_of_mem hφ hx
92+
· have : x ∉ support φ := fun a ↦ hx (h a)
93+
simp [notMem_support.mp this]
94+
95+
end iHolNNNorm
96+
97+
end iHolENorm

Carleson/HolderVanDerCorput.lean

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Carleson.TileStructure
2+
import Carleson.HolderNorm
23

34
/-! This should roughly contain the contents of chapter 8. -/
45

@@ -236,17 +237,19 @@ lemma dist_holderApprox_le {z : X} {R t : ℝ} (hR : 0 < R) {C : ℝ≥0} (ht :
236237

237238
lemma enorm_holderApprox_sub_le {z : X} {R t : ℝ} (hR : 0 < R) (ht : 0 < t) (h't : t ≤ 1)
238239
{ϕ : X → ℂ} (hϕ : support ϕ ⊆ ball z R) (x : X) :
239-
‖ϕ x - holderApprox R t ϕ x‖ₑ ≤ ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) := by
240-
rcases eq_or_ne (iHolENorm ϕ z (2 * R)) ∞ with h | h
240+
‖ϕ x - holderApprox R t ϕ x‖ₑ ≤ ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) τ := by
241+
rcases eq_or_ne (iHolENorm ϕ z (2 * R) τ) ∞ with h | h
241242
· apply le_top.trans_eq
242243
symm
244+
simp only [defaultτ] at h
243245
simp [h, ENNReal.mul_eq_top, ht]
244-
have : iHolENorm ϕ z (2 * R) = ENNReal.ofReal (iHolNNNorm ϕ z (2 * R)) := by
246+
have : iHolENorm ϕ z (2 * R) τ = ENNReal.ofReal (iHolNNNorm ϕ z (2 * R) τ) := by
245247
simp only [iHolNNNorm, ENNReal.ofReal_coe_nnreal, ENNReal.coe_toNNReal h]
246248
rw [ENNReal.ofReal_rpow_of_pos (by linarith), this, ← ENNReal.ofReal_mul (by positivity),
247249
← ofReal_norm_eq_enorm, ← dist_eq_norm]
248250
apply ENNReal.ofReal_le_ofReal
249-
apply (dist_holderApprox_le hR ht h't hϕ (HolderOnWith.of_iHolENorm_ne_top h) x).trans_eq
251+
apply dist_holderApprox_le hR ht h't hϕ
252+
(by simpa [nnτ_def] using HolderOnWith.of_iHolENorm_ne_top (τ_nonneg X) h) x |>.trans_eq
250253
simp [field, NNReal.coe_div, hR.le]
251254

252255

@@ -471,14 +474,15 @@ lemma iLipENorm_holderApprox' {z : X} {R t : ℝ} (ht : 0 < t) (h't : t ≤ 1)
471474
lemma iLipENorm_holderApprox_le {z : X} {R t : ℝ} (ht : 0 < t) (h't : t ≤ 1)
472475
{ϕ : X → ℂ} (hϕ : support ϕ ⊆ ball z R) :
473476
iLipENorm (holderApprox R t ϕ) z (2 * R) ≤
474-
2 ^ (4 * a) * (ENNReal.ofReal t) ^ (-1 - a : ℝ) * iHolENorm ϕ z (2 * R) := by
475-
rcases eq_or_ne (iHolENorm ϕ z (2 * R)) ∞ with h'ϕ | h'ϕ
477+
2 ^ (4 * a) * (ENNReal.ofReal t) ^ (-1 - a : ℝ) * iHolENorm ϕ z (2 * R) τ := by
478+
rcases eq_or_ne (iHolENorm ϕ z (2 * R) τ) ∞ with h'ϕ | h'ϕ
476479
· apply le_top.trans_eq
477480
rw [eq_comm]
481+
simp only [defaultτ] at h'ϕ
478482
simp [h'ϕ, ht]
479483
rw [← ENNReal.coe_toNNReal h'ϕ]
480484
apply iLipENorm_holderApprox' ht h't
481-
· apply continuous_of_iHolENorm_ne_top' hϕ h'ϕ
485+
· apply continuous_of_iHolENorm_ne_top' (τ_pos X) hϕ h'ϕ
482486
· exact hϕ
483487
· apply fun x ↦ norm_le_iHolNNNorm_of_subset h'ϕ (hϕ.trans ?_)
484488
intro y hy
@@ -495,16 +499,17 @@ def C2_0_5 (a : ℝ) : ℝ≥0 := 2 ^ (7 * a)
495499
theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
496500
(ϕ_supp : support ϕ ⊆ ball z R) {f g : Θ X} :
497501
‖∫ x, exp (I * (f x - g x)) * ϕ x‖ₑ ≤
498-
(C2_0_5 a : ℝ≥0∞) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
502+
(C2_0_5 a : ℝ≥0∞) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
499503
(1 + edist_{z, R} f g) ^ (- (2 * a^2 + a^3 : ℝ)⁻¹) := by
500504
have : 4 ≤ a := four_le_a X
501505
have : (4 : ℝ) ≤ a := mod_cast four_le_a X
502506
rcases le_or_gt R 0 with hR | hR
503507
· simp [ball_eq_empty.2 hR, subset_empty_iff, support_eq_empty_iff] at ϕ_supp
504508
simp [ϕ_supp]
505-
rcases eq_or_ne (iHolENorm ϕ z (2 * R)) ∞ with h2ϕ | h2ϕ
509+
rcases eq_or_ne (iHolENorm ϕ z (2 * R) τ) ∞ with h2ϕ | h2ϕ
506510
· apply le_top.trans_eq
507511
symm
512+
simp only [defaultτ] at h2ϕ
508513
have : (0 : ℝ) < 2 * a ^ 2 + a ^ 3 := by positivity
509514
simp [h2ϕ, C2_0_5, (measure_ball_pos volume z hR).ne', this, edist_ne_top]
510515
let t : ℝ := (1 + nndist_{z, R} f g) ^ (- (τ / (2 + a)))
@@ -514,7 +519,7 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
514519
· simp only [le_add_iff_nonneg_right, NNReal.zero_le_coe]
515520
· simp only [defaultτ, Left.neg_nonpos_iff]
516521
positivity
517-
have ϕ_cont : Continuous ϕ := continuous_of_iHolENorm_ne_top' ϕ_supp h2ϕ
522+
have ϕ_cont : Continuous ϕ := continuous_of_iHolENorm_ne_top' (τ_pos X) ϕ_supp h2ϕ
518523
have ϕ_comp : HasCompactSupport ϕ := by
519524
apply HasCompactSupport.of_support_subset_isCompact (isCompact_closedBall z R)
520525
exact ϕ_supp.trans ball_subset_closedBall
@@ -546,14 +551,14 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
546551
· field_simp
547552
nlinarith
548553
have : ‖∫ x, exp (I * (f x - g x)) * ϕ' x‖ₑ ≤ 2 ^ (6 * a) * volume (ball z R)
549-
* iHolENorm ϕ z (2 * R) * (1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := calc
554+
* iHolENorm ϕ z (2 * R) τ * (1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := calc
550555
‖∫ x, exp (I * (f x - g x)) * ϕ' x‖ₑ
551556
_ ≤ 2 ^ a * volume (ball z (2 * R))
552557
* iLipENorm ϕ' z (2 * R) * (1 + edist_{z, 2 * R} f g) ^ (- τ) := by
553558
simpa only [defaultA, Nat.cast_pow, Nat.cast_ofNat, t] using
554559
enorm_integral_exp_le (x := z) (r := 2 * R) (ϕ := ϕ') ϕ'_supp (f := f) (g := g)
555560
_ ≤ 2 ^ a * (2 ^ a * volume (ball z R))
556-
* (2 ^ (4 * a) * (ENNReal.ofReal t) ^ (-1 - a : ℝ) * iHolENorm ϕ z (2 * R))
561+
* (2 ^ (4 * a) * (ENNReal.ofReal t) ^ (-1 - a : ℝ) * iHolENorm ϕ z (2 * R) τ)
557562
* (1 + edist_{z, R} f g) ^ (- τ) := by
558563
gcongr 2 ^ a * ?_ * ?_ * ?_
559564
· exact iLipENorm_holderApprox_le t_pos t_one ϕ_supp
@@ -564,11 +569,11 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
564569
apply ENNReal.ofReal_le_ofReal
565570
apply CompatibleFunctions.cdist_mono
566571
apply ball_subset_ball (by linarith)
567-
_ = 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
572+
_ = 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
568573
((ENNReal.ofReal t) ^ (-1 - a : ℝ) * (1 + edist_{z, R} f g) ^ (- τ)) := by
569574
rw [show 6 * a = 4 * a + a + a by ring, pow_add, pow_add]
570575
ring
571-
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
576+
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
572577
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := by gcongr;
573578
/- Second step: control `‖∫ x, exp (I * (f x - g x)) * (ϕ x - ϕ' x)‖ₑ` using that `‖ϕ x - ϕ' x‖`
574579
is controlled pointwise, and vanishes outside of `B (z, 2R)`. -/
@@ -584,7 +589,7 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
584589
congr
585590
ring
586591
have : ‖∫ x, exp (I * (f x - g x)) * (ϕ x - ϕ' x)‖ₑ
587-
2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
592+
2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
588593
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := calc
589594
‖∫ x, exp (I * (f x - g x)) * (ϕ x - ϕ' x)‖ₑ
590595
_ = ‖∫ x in ball z (2 * R), exp (I * (f x - g x)) * (ϕ x - ϕ' x)‖ₑ := by
@@ -603,14 +608,14 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
603608
enorm_integral_le_lintegral_enorm _
604609
_ = ∫⁻ x in ball z (2 * R), ‖ϕ x - ϕ' x‖ₑ := by
605610
simp only [enorm_mul, ← ofReal_sub, enorm_exp_I_mul_ofReal, one_mul]
606-
_ ≤ ∫⁻ x in ball z (2 * R), ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) :=
611+
_ ≤ ∫⁻ x in ball z (2 * R), ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) τ :=
607612
lintegral_mono (fun x ↦ enorm_holderApprox_sub_le hR t_pos t_one ϕ_supp x)
608-
_ = volume (ball z (2 * R)) * ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) := by
613+
_ = volume (ball z (2 * R)) * ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) τ := by
609614
simp; ring
610-
_ ≤ (2 ^ a * volume (ball z R)) * ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) := by
615+
_ ≤ (2 ^ a * volume (ball z R)) * ENNReal.ofReal (t/2) ^ τ * iHolENorm ϕ z (2 * R) τ := by
611616
gcongr
612-
_ = 2 ^ a * volume (ball z R) * iHolENorm ϕ z (2 * R) * ENNReal.ofReal (t/2) ^ τ := by ring
613-
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
617+
_ = 2 ^ a * volume (ball z R) * iHolENorm ϕ z (2 * R) τ * ENNReal.ofReal (t/2) ^ τ := by ring
618+
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
614619
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := by
615620
gcongr
616621
· exact one_le_two
@@ -630,18 +635,18 @@ theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}
630635
exact ϕ'_comp.mul_left
631636
_ ≤ ‖∫ x, exp (I * (f x - g x)) * (ϕ x - ϕ' x)‖ₑ + ‖∫ x, exp (I * (f x - g x)) * ϕ' x‖ₑ :=
632637
enorm_add_le _ _
633-
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
638+
_ ≤ 2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
634639
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) +
635-
2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
640+
2 ^ (6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
636641
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := by gcongr;
637-
_ = 2 ^ (1 + 6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
642+
_ = 2 ^ (1 + 6 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
638643
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := by rw [pow_add, pow_one]; ring
639-
_ ≤ 2 ^ (7 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
644+
_ ≤ 2 ^ (7 * a) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
640645
(1 + edist_{z, R} f g) ^ (- τ ^ 2 / (2 + a)) := by
641646
gcongr
642647
· exact one_le_two
643648
· linarith
644-
_ = (C2_0_5 a : ℝ≥0∞) * volume (ball z R) * iHolENorm ϕ z (2 * R) *
649+
_ = (C2_0_5 a : ℝ≥0∞) * volume (ball z R) * iHolENorm ϕ z (2 * R) τ *
645650
(1 + edist_{z, R} f g) ^ (- (2 * a^2 + a^3 : ℝ)⁻¹) := by
646651
congr
647652
· simp only [C2_0_5]

0 commit comments

Comments
 (0)