Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update blueprint section 10 #22

Merged
merged 62 commits into from
Jun 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
4b7e007
Initial experiments and formulation of the Classical Carleson Theorem
ldiedering Apr 11, 2024
92fedb5
Small improvement
ldiedering Apr 11, 2024
41346b3
Formulated some more definitions and lemmas in context, a bit messy h…
ldiedering Apr 13, 2024
2b97390
Reduced main theorem to lemmas, modulo some left sorry's
ldiedering Apr 13, 2024
a330171
Added missing last calc step
ldiedering Apr 13, 2024
7b04c67
State after meeting with recommendations
ldiedering Apr 20, 2024
1e50909
Changed back to volume.real in all places; filled in some gaps; minor…
ldiedering Apr 20, 2024
9c7f7aa
Proved that δ can be chosen less than π and moved this statement to a…
ldiedering Apr 20, 2024
1a0410b
Stated lemma 10.4
ldiedering Apr 25, 2024
2659f12
Incorporated recent updates to definitions and theorem numbering.
ldiedering Apr 25, 2024
eaf5125
Created first outline of the proof of Lemma 10.4, i.e. of section 10.7
ldiedering Apr 25, 2024
69089dd
Worked on section 10.7; problem occured with Finset in ballsCoverBalls
ldiedering Apr 29, 2024
5f600d4
Proved lemma 10.37 (Hilbert kernel bound)
ldiedering Apr 30, 2024
0f7d4bc
Continued work on section 10.7 and moved this part to a separate file.
ldiedering May 1, 2024
1bf2e0a
Correct statement and proof of lemma Hilbert kernel bound.
ldiedering May 8, 2024
960aa77
Minor changes
ldiedering May 8, 2024
189d91f
Added and proved some lemmas needed for fourierConv_ofTwiceDifferenti…
ldiedering May 10, 2024
21104fa
Almost done with the top level approximation argument.
ldiedering May 11, 2024
9c425d1
Added and proved lemma about periodicity of deriv.
ldiedering May 11, 2024
d325494
Proved lemma int_sum_nat. Simpler parts of approximation argument done.
ldiedering May 11, 2024
9defded
Split the main file, part 1.
ldiedering May 11, 2024
f1966c1
Split main file, part 2.
ldiedering May 11, 2024
120cdf2
Added basic facts about partialFourierSum.
ldiedering May 11, 2024
803d7ff
Finished proof of Classical Carleson module Lemma 10.3
ldiedering May 12, 2024
94bfd44
Reshuffling sections
ldiedering May 15, 2024
5c7bfaf
Merge branch 'differentiable_f0_experiment' into proof_of_theorem_1_1
ldiedering May 15, 2024
4441f37
Proved lemma 10.11 (lower secant bound)
ldiedering May 15, 2024
588d2f5
Did much of the proof of lemma 10.14 (Hilbert kernel regularity).
ldiedering May 15, 2024
ea33da6
Proved Hilbert_kernel_regularity (almost)
ldiedering May 15, 2024
6b5bcf5
Reshuffled and added some definitions
ldiedering May 15, 2024
da62163
Various minor improvements
ldiedering May 16, 2024
a2edd24
Proved Lemma 10.10 (Dirichlet Kernel)
ldiedering May 18, 2024
6f75d5b
Proved helper lemma for control_approximation_effect
ldiedering May 19, 2024
560c025
Progress on many different parts of control_approximation_effect
ldiedering May 20, 2024
2a22814
Mathlib update and further work on control_approximation_effect
ldiedering May 20, 2024
0c48531
open Complex in Control_Approximation_Effect
ldiedering May 20, 2024
332b181
More sorry's in Control_Approximation_Effect
ldiedering May 21, 2024
5a53738
Cleanup of Carleson_on_the_real_line, part 1
ldiedering May 22, 2024
82a562c
Cleanup Carleson_on_the_real_line part 2
ldiedering May 22, 2024
76b5908
Cleanup, proved some minor lemmas
ldiedering May 22, 2024
ad122ec
small improvements of control_approximation_effect; no change to ENNR…
ldiedering May 22, 2024
23d6860
Minor exploration of ideas but still stuck.
ldiedering May 23, 2024
0c5f550
Minor additions in Basic
ldiedering May 23, 2024
4c3b00c
Added dirichlet_Hilbert_eq lemma
ldiedering May 28, 2024
78a6152
le_CarlesonOperatorReal' shoud be mostly working now
ldiedering May 28, 2024
bbc8b48
Reorganized proof of control_approximation_effect'
ldiedering May 28, 2024
8e81093
Rewrote proof of control_approximation_effect for ENNReal
ldiedering May 29, 2024
63ad820
Slightly generalized rcarleson' and other minor changes
ldiedering May 29, 2024
0647291
Improved a proof
ldiedering May 29, 2024
b6f6bcf
Filled in sorry's in Control_Approximation_Effect
ldiedering Jun 1, 2024
bff22d8
Further cleanup of Control_Approximation_Effect
ldiedering Jun 1, 2024
c6641de
Updated classical_carleson to current version of control_approximatio…
ldiedering Jun 1, 2024
341900c
Further Cleanup of Control_Approximation_Effect
ldiedering Jun 1, 2024
14b987d
Control_Approximation_Effect finally sorry-free :)
ldiedering Jun 1, 2024
ea60b6e
Cleanup CarlesonOperatorReal
ldiedering Jun 1, 2024
3ace239
Merge branch 'control_approximation_effect_ennreal_experiment'
ldiedering Jun 1, 2024
93fac8b
Removed arguments for piecewise constant approximation
ldiedering Jun 3, 2024
192cdbb
Minor correction in the proof of integer ball cover
ldiedering Jun 3, 2024
d1e58f1
Update blueprint section 10, add \leanok's
ldiedering Jun 8, 2024
4b8a654
Merge branch 'master' of https://github.com/ldiedering/carleson
ldiedering Jun 8, 2024
9eb6008
Merge branch 'development'
ldiedering Jun 8, 2024
c02be26
Corrected reference of Theorem 1.1
ldiedering Jun 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions Carleson/Theorem1_1/Approximation.lean
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ lemma uniformContinuous_iff_bounded [PseudoMetricSpace α] [PseudoMetricSpace β
. intro h ε εpos
obtain ⟨δ, δpos, _, hδ⟩ := h ε εpos
use δ

end section

/- TODO: might be generalized. -/
Expand Down Expand Up @@ -296,7 +295,7 @@ lemma int_sum_nat {β : Type} [AddCommGroup β] [TopologicalSpace β] [Continuou

/-TODO: Weaken statement to pointwise convergence to simplify proof?-/
lemma fourierConv_ofTwiceDifferentiable {f : ℝ → ℂ} (periodicf : Function.Periodic f (2 * Real.pi)) (fdiff : ContDiff ℝ 2 f) {ε : ℝ} (εpos : ε > 0) :
∃ N₀, ∀ N > N₀, ∀ x ∈ Set.Ico 0 (2 * Real.pi), Complex.abs (f x - partialFourierSum f N x) ≤ ε := by
∃ N₀, ∀ N > N₀, ∀ x ∈ Set.Icc 0 (2 * Real.pi), Complex.abs (f x - partialFourierSum f N x) ≤ ε := by
have fact_two_pi_pos : Fact (0 < 2 * Real.pi) := by
rw [fact_iff]
exact Real.two_pi_pos
Expand Down Expand Up @@ -343,11 +342,19 @@ lemma fourierConv_ofTwiceDifferentiable {f : ℝ → ℂ} (periodicf : Function.
simp only [ContinuousMap.coe_sum, sum_apply] at this
convert this.le using 2
congr 1
. rw [g_def]
simp only [ContinuousMap.coe_mk]
rw [AddCircle.liftIco_coe_apply]
rw [zero_add]
exact hx
. rw [g_def, ContinuousMap.coe_mk]
by_cases h : x = 2 * Real.pi
. conv => lhs; rw [h, ← zero_add (2 * Real.pi), periodicf]
have := AddCircle.coe_add_period (2 * Real.pi) 0
rw [zero_add] at this
rw [h, this, AddCircle.liftIco_coe_apply]
simp [Real.pi_pos]
. have : x ∈ Set.Ico 0 (2 * Real.pi) := by
use hx.1
apply lt_of_le_of_ne hx.2 h
rw [AddCircle.liftIco_coe_apply]
rw [zero_add]
exact this
. rw [partialFourierSum]
congr
ext n
Expand Down
83 changes: 52 additions & 31 deletions Carleson/Theorem1_1/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,17 @@ lemma partialFourierSum_uniformContinuous {f : ℝ → ℂ} {N : ℕ} : UniformC
sorry


/-Slightly different and stronger version of Lemma 10.11 (lower secant bound). -/
theorem strictConvexOn_cos_Icc : StrictConvexOn ℝ (Set.Icc (Real.pi / 2) (Real.pi + Real.pi / 2)) Real.cos := by
apply strictConvexOn_of_deriv2_pos (convex_Icc _ _) Real.continuousOn_cos fun x hx => ?_
rw [interior_Icc] at hx
simp [Real.cos_neg_of_pi_div_two_lt_of_lt hx.1 hx.2]

/- Lemma 10.11 (lower secant bound) from the paper. -/
lemma lower_secant_bound' {η : ℝ} {x : ℝ} (le_abs_x : η ≤ |x|) (abs_x_le : |x| ≤ 2 * Real.pi - η) :
η / 4 ≤ ‖1 - Complex.exp (Complex.I * x)‖ := by
(2 / Real.pi) * η ≤ ‖1 - Complex.exp (Complex.I * x)‖ := by
by_cases ηpos : η ≤ 0
. calc η / 4
_ ≤ 0 := by linarith
. calc (2 / Real.pi) * η
_ ≤ 0 := mul_nonpos_of_nonneg_of_nonpos (div_nonneg zero_le_two Real.pi_pos.le) ηpos
_ ≤ ‖1 - Complex.exp (Complex.I * x)‖ := by apply norm_nonneg
push_neg at ηpos
wlog x_nonneg : 0 ≤ x generalizing x
Expand All @@ -125,13 +130,7 @@ lemma lower_secant_bound' {η : ℝ} {x : ℝ} (le_abs_x : η ≤ |x|) (abs_x_l
rw [mul_sub, Complex.conj_ofReal, Complex.exp_sub, mul_comm Complex.I (2 * Real.pi), Complex.exp_two_pi_mul_I, ←inv_eq_one_div, ←Complex.exp_neg]
all_goals linarith
by_cases h : x ≤ Real.pi / 2
. calc η / 4
_ ≤ (2 / Real.pi) * η := by
rw [div_le_iff (by norm_num)]
field_simp
rw [le_div_iff Real.pi_pos, mul_comm 2, mul_assoc]
gcongr
linarith [Real.pi_le_four]
. calc (2 / Real.pi) * η
_ ≤ (2 / Real.pi) * x := by gcongr
_ = (1 - (2 / Real.pi) * x) * Real.sin 0 + ((2 / Real.pi) * x) * Real.sin (Real.pi / 2) := by simp
_ ≤ Real.sin ((1 - (2 / Real.pi) * x) * 0 + ((2 / Real.pi) * x) * (Real.pi / 2)) := by
Expand All @@ -156,30 +155,52 @@ lemma lower_secant_bound' {η : ℝ} {x : ℝ} (le_abs_x : η ≤ |x|) (abs_x_l
. simp [pow_two_nonneg]
. linarith [pow_two_nonneg (1 - Real.cos x), pow_two_nonneg (Real.sin x)]
. push_neg at h
calc η / 4
_ ≤ 1 := by
rw [div_le_iff (by norm_num), one_mul]
exact (le_abs_x.trans x_le_pi).trans Real.pi_le_four
_ ≤ |(1 - Complex.exp (Complex.I * ↑x)).re| := by
rw [mul_comm, Complex.exp_mul_I]
simp
rw [Complex.cos_ofReal_re, le_abs]
left
simp
apply Real.cos_nonpos_of_pi_div_two_le_of_le h.le
linarith
calc (2 / Real.pi) * η
_ ≤ (2 / Real.pi) * x := by gcongr
_ = 1 - ((1 - (2 / Real.pi) * (x - Real.pi / 2)) * Real.cos (Real.pi / 2) + ((2 / Real.pi) * (x - Real.pi / 2)) * Real.cos (Real.pi)) := by
field_simp
ring
_ ≤ 1 - (Real.cos ((1 - (2 / Real.pi) * (x - Real.pi / 2)) * (Real.pi / 2) + (((2 / Real.pi) * (x - Real.pi / 2)) * (Real.pi)))) := by
gcongr
apply (strictConvexOn_cos_Icc.convexOn).2 (by simp [Real.pi_nonneg])
. simp
constructor <;> linarith [Real.pi_nonneg]
. rw [sub_nonneg, mul_comm]
apply mul_le_of_nonneg_of_le_div (by norm_num) (div_nonneg (by norm_num) Real.pi_nonneg) (by simpa)
. exact mul_nonneg (div_nonneg (by norm_num) Real.pi_nonneg) (by linarith [h])
. simp
_ = 1 - Real.cos x := by
congr
field_simp
ring
_ ≤ Real.sqrt ((1 - Real.cos x) ^ 2) := by
rw [Real.sqrt_sq_eq_abs]
apply le_abs_self
_ ≤ ‖1 - Complex.exp (Complex.I * ↑x)‖ := by
rw [Complex.norm_eq_abs]
apply Complex.abs_re_le_abs
rw [mul_comm, Complex.exp_mul_I, Complex.norm_eq_abs, Complex.abs_eq_sqrt_sq_add_sq]
simp
rw [Complex.cos_ofReal_re, Complex.sin_ofReal_re]
apply (Real.sqrt_le_sqrt_iff _).mpr
. simp [pow_two_nonneg]
. linarith [pow_two_nonneg (1 - Real.cos x), pow_two_nonneg (Real.sin x)]

/- Lemma 10.11 (lower secant bound) from the paper. -/
lemma lower_secant_bound {η : ℝ} (ηpos : η > 0) {x : ℝ} (xIcc : x ∈ Set.Icc (-2 * Real.pi + η) (2 * Real.pi - η)) (xAbs : η ≤ |x|) :
η / 8 ≤ Complex.abs (1 - Complex.exp (Complex.I * x)) := by
calc η / 8
_ ≤ η / 4 := by

/-Slightly weaker version of Lemma 10.11 (lower secant bound) with simplified constant. -/
lemma lower_secant_bound {η : ℝ} {x : ℝ} (xIcc : x ∈ Set.Icc (-2 * Real.pi + η) (2 * Real.pi - η)) (xAbs : η ≤ |x|) :
η / 2 ≤ Complex.abs (1 - Complex.exp (Complex.I * x)) := by
by_cases ηpos : η < 0
. calc η / 2
_ ≤ 0 := by linarith
_ ≤ ‖1 - Complex.exp (Complex.I * x)‖ := by apply norm_nonneg
push_neg at ηpos
calc η / 2
_ ≤ (2 / Real.pi) * η := by
ring_nf
rw [mul_assoc]
gcongr
norm_num
field_simp
rw [div_le_div_iff (by norm_num) Real.pi_pos]
linarith [Real.pi_le_four]
_ ≤ ‖1 - Complex.exp (Complex.I * x)‖ := by
apply lower_secant_bound' xAbs
rw [abs_le, neg_sub', sub_neg_eq_add, neg_mul_eq_neg_mul]
Expand Down
4 changes: 2 additions & 2 deletions Carleson/Theorem1_1/Carleson_on_the_real_line.lean
Original file line number Diff line number Diff line change
Expand Up @@ -430,14 +430,14 @@ instance h6 : IsCZKernel 4 K where
intro x y
rw [Complex.norm_eq_abs, Real.vol, MeasureTheory.measureReal_def, Real.dist_eq, Real.volume_ball, ENNReal.toReal_ofReal (by linarith [abs_nonneg (x-y)])]
calc Complex.abs (K x y)
_ ≤ 2 ^ (4 : ℝ) / (2 * |x - y|) := by apply Hilbert_kernel_bound
_ ≤ 2 ^ (2 : ℝ) / (2 * |x - y|) := by apply Hilbert_kernel_bound
_ ≤ 2 ^ (4 : ℝ) ^ 3 / (2 * |x - y|) := by gcongr <;> norm_num
/- uses Hilbert_kernel_regularity -/
norm_sub_le := by
intro x y y' h
rw [Real.dist_eq, Real.dist_eq] at *
calc ‖K x y - K x y'‖
_ ≤ 2 ^ 10 * (1 / |x - y|) * (|y - y'| / |x - y|) := by
_ ≤ 2 ^ 8 * (1 / |x - y|) * (|y - y'| / |x - y|) := by
apply Hilbert_kernel_regularity
linarith [abs_nonneg (x-y)]
_ ≤ (|y - y'| / |x - y|) ^ (4 : ℝ)⁻¹ * (2 ^ (4 : ℝ) ^ 3 / Real.vol x y) := by
Expand Down
13 changes: 2 additions & 11 deletions Carleson/Theorem1_1/ClassicalCarleson.lean
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,7 @@ theorem classical_carleson {f : ℝ → ℂ}
_ ≤ ε' + (ε / 4) + (ε / 4) := by
gcongr
. exact hf₀ x
. by_cases h : x = 2 * Real.pi
. rw [h, ←zero_add (2 * Real.pi), periodic_f₀, partialFourierSum_periodic]
apply hN₀ N NgtN₀ 0
simp [Real.pi_pos]
. have : x ∈ Set.Ico 0 (2 * Real.pi) := by
simp
simp at hx
use hx.1.1
apply lt_of_le_of_ne hx.1.2 h
convert hN₀ N NgtN₀ x this
. exact hN₀ N NgtN₀ x hx.1
. have := hE x hx N
rw [hdef, partialFourierSum_sub (contDiff_f₀.continuous.intervalIntegrable 0 (2 * Real.pi)) (unicontf.continuous.intervalIntegrable 0 (2 * Real.pi))] at this
apply le_trans this
Expand All @@ -72,5 +63,5 @@ theorem classical_carleson {f : ℝ → ℂ}
rw [ε'def, div_div]
apply div_le_div_of_nonneg_left εpos.le (by norm_num)
rw [← div_le_iff' (by norm_num)]
apply le_trans' (lt_C_control_approximation_effect εpos).le (by norm_num)
apply le_trans' (lt_C_control_approximation_effect εpos).le (by linarith [Real.two_le_pi])
_ ≤ ε := by linarith
57 changes: 28 additions & 29 deletions Carleson/Theorem1_1/Control_Approximation_Effect.lean
Original file line number Diff line number Diff line change
Expand Up @@ -302,11 +302,11 @@ lemma le_CarlesonOperatorReal' {f : ℝ → ℂ} (hf : IntervalIntegrable f Meas
apply Measurable.of_uncurry_left
exact Hilbert_kernel_measurable
measurability
have boundedness₁ {y : ℝ} (h : r ≤ dist x y) : ‖(I * (-↑n * ↑x)).exp * K x y * (I * ↑n * ↑y).exp‖ ≤ (2 ^ (4 : ℝ) / (2 * r)) := by
have boundedness₁ {y : ℝ} (h : r ≤ dist x y) : ‖(I * (-↑n * ↑x)).exp * K x y * (I * ↑n * ↑y).exp‖ ≤ (2 ^ (2 : ℝ) / (2 * r)) := by
calc ‖(I * (-↑n * ↑x)).exp * K x y * (I * ↑n * ↑y).exp‖
_ = ‖(I * (-↑n * ↑x)).exp‖ * ‖K x y‖ * ‖(I * ↑n * ↑y).exp‖ := by
rw [norm_mul, norm_mul]
_ ≤ 1 * (2 ^ (4 : ℝ) / (2 * |x - y|)) * 1 := by
_ ≤ 1 * (2 ^ (2 : ℝ) / (2 * |x - y|)) * 1 := by
gcongr
. rw [norm_eq_abs, mul_comm]
norm_cast
Expand All @@ -315,7 +315,7 @@ lemma le_CarlesonOperatorReal' {f : ℝ → ℂ} (hf : IntervalIntegrable f Meas
. rw [norm_eq_abs, mul_assoc, mul_comm]
norm_cast
rw [abs_exp_ofReal_mul_I]
_ ≤ (2 ^ (4 : ℝ) / (2 * r)) := by
_ ≤ (2 ^ (2 : ℝ) / (2 * r)) := by
rw [one_mul, mul_one, ← Real.dist_eq]
gcongr
have integrable₁ := (integrable_annulus hx hf rpos.le rle1)
Expand Down Expand Up @@ -405,19 +405,19 @@ theorem rcarleson_exceptional_set_estimate_specific {δ : ℝ} (δpos : 0 < δ)
ring_nf


def C_control_approximation_effect (ε : ℝ) := (((C1_2 4 2 * (8 / (Real.pi * ε)) ^ (2 : ℝ)⁻¹)) + 8)
def C_control_approximation_effect (ε : ℝ) := (C1_2 4 2 * (8 / (Real.pi * ε)) ^ (2 : ℝ)⁻¹) + Real.pi

lemma lt_C_control_approximation_effect {ε : ℝ} (εpos : 0 < ε) : 8 < C_control_approximation_effect ε := by
lemma lt_C_control_approximation_effect {ε : ℝ} (εpos : 0 < ε) : Real.pi < C_control_approximation_effect ε := by
rw [C_control_approximation_effect]
apply lt_add_of_pos_of_le _ (by rfl)
apply mul_pos (C1_2_pos (by norm_num))
apply Real.rpow_pos_of_pos
apply div_pos (by norm_num)
apply mul_pos Real.pi_pos εpos

lemma C_control_approximation_effect_pos {ε : ℝ} (εpos : 0 < ε) : 0 < C_control_approximation_effect ε := lt_trans' (lt_C_control_approximation_effect εpos) (by norm_num)
lemma C_control_approximation_effect_pos {ε : ℝ} (εpos : 0 < ε) : 0 < C_control_approximation_effect ε := lt_trans' (lt_C_control_approximation_effect εpos) Real.pi_pos

lemma C_control_approximation_effect_eq {ε : ℝ} {δ : ℝ} (ε_nonneg : 0 ≤ ε) : C_control_approximation_effect ε * δ = ((δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹ * (2 / ε) ^ (2 : ℝ)⁻¹) / Real.pi) + 8 * δ := by
lemma C_control_approximation_effect_eq {ε : ℝ} {δ : ℝ} (ε_nonneg : 0 ≤ ε) : C_control_approximation_effect ε * δ = ((δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹ * (2 / ε) ^ (2 : ℝ)⁻¹) / Real.pi) + Real.pi * δ := by
symm
rw [C_control_approximation_effect, mul_comm, mul_div_right_comm, mul_comm δ, mul_assoc, mul_comm δ, ← mul_assoc, ← mul_assoc, ← add_mul]
congr 2
Expand Down Expand Up @@ -509,7 +509,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
rfl
intro _
norm_num
have le_operator_add : ∀ x ∈ E, ENNReal.ofReal ((ε' - 8 * δ) * (2 * Real.pi)) ≤ T' f x + T' ((starRingEnd ℂ) ∘ f) x := by
have le_operator_add : ∀ x ∈ E, ENNReal.ofReal ((ε' - Real.pi * δ) * (2 * Real.pi)) ≤ T' f x + T' ((starRingEnd ℂ) ∘ f) x := by
have h_intervalIntegrable' : IntervalIntegrable h MeasureTheory.volume 0 (2 * Real.pi) := by
apply h_intervalIntegrable.mono_set
rw [Set.uIcc_of_le (by linarith [Real.pi_pos]), Set.uIcc_of_le (by linarith [Real.pi_pos])]
Expand All @@ -520,9 +520,9 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
--set S := Set.Ioo (x - Real.pi) (x + Real.pi) with Sdef
obtain ⟨xIcc, N, hN⟩ := hx
rw [partialFourierSum_eq_conv_dirichletKernel' h_intervalIntegrable'] at hN
have : ENNReal.ofReal (8 * δ * (2 * Real.pi)) ≠ ⊤ := ENNReal.ofReal_ne_top
have : ENNReal.ofReal (Real.pi * δ * (2 * Real.pi)) ≠ ⊤ := ENNReal.ofReal_ne_top
rw [← (ENNReal.add_le_add_iff_right this)]
calc ENNReal.ofReal ((ε' - 8 * δ) * (2 * Real.pi)) + ENNReal.ofReal (8 * δ * (2 * Real.pi))
calc ENNReal.ofReal ((ε' - Real.pi * δ) * (2 * Real.pi)) + ENNReal.ofReal (Real.pi * δ * (2 * Real.pi))
_ = ENNReal.ofReal ((2 * Real.pi) * ε') := by
rw [← ENNReal.ofReal_add]
. congr
Expand All @@ -538,8 +538,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
apply Real.rpow_nonneg
linarith [Real.pi_pos]
. apply Real.rpow_nonneg (div_nonneg (by norm_num) hε.1.le)
. apply mul_nonneg _ Real.two_pi_pos.le
linarith
. apply mul_nonneg (mul_nonneg Real.pi_pos.le hδ.le) Real.two_pi_pos.le
_ ≤ ENNReal.ofReal ((2 * Real.pi) * abs (1 / (2 * Real.pi) * ∫ (y : ℝ) in (0 : ℝ)..(2 * Real.pi), h y * dirichletKernel' N (x - y))) := by gcongr
_ = ‖∫ (y : ℝ) in (0 : ℝ)..(2 * Real.pi), h y * dirichletKernel' N (x - y)‖₊ := by
rw [map_mul, map_div₀, ←mul_assoc]
Expand Down Expand Up @@ -587,7 +586,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
--apply abs.isAbsoluteValue.abv_add
norm_cast
apply nnnorm_add_le
_ ≤ (T' f x + T' ((starRingEnd ℂ) ∘ f) x) + ENNReal.ofReal (8 * δ * (2 * Real.pi)) := by
_ ≤ (T' f x + T' ((starRingEnd ℂ) ∘ f) x) + ENNReal.ofReal (Real.pi * δ * (2 * Real.pi)) := by
--Estimate the two parts
gcongr
. --first part
Expand Down Expand Up @@ -669,7 +668,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
apply NNReal.le_toNNReal_of_coe_le
rw [coe_nnnorm]
calc ‖∫ (y : ℝ) in (x - Real.pi)..(x + Real.pi), h y * (min |x - y| 1) * dirichletKernel' N (x - y)‖
_ ≤ (δ * 8) * |(x + Real.pi) - (x - Real.pi)| := by
_ ≤ (δ * Real.pi) * |(x + Real.pi) - (x - Real.pi)| := by
apply intervalIntegral.norm_integral_le_of_norm_le_const
intro y hy
rw [Set.uIoc_of_le (by linarith)] at hy
Expand Down Expand Up @@ -702,13 +701,13 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
norm_cast
rw [abs_exp_ofReal_mul_I, one_div]
_ = 2 * (min |z| 1 / ‖1 - exp (I * z)‖) := by ring
_ ≤ 2 * 4 := by
gcongr
_ ≤ 2 * (Real.pi / 2) := by
gcongr 2 * ?_
--. apply min_le_right
. by_cases h : (1 - exp (I * z)) = 0
. rw [h]
simp
simp
rw [div_le_iff', ←div_le_iff, ←norm_eq_abs]
. rw [h, norm_zero, div_zero]
linarith [Real.pi_pos]
rw [div_le_iff', ←div_le_iff, div_div_eq_mul_div, mul_div_assoc, mul_comm]
apply lower_secant_bound'
. apply min_le_left
. have : |z| ≤ Real.pi := by
Expand All @@ -717,10 +716,10 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
constructor <;> linarith [hy.1, hy.2]
rw [min_def]
split_ifs <;> linarith
. norm_num
. rwa [←norm_eq_abs, norm_pos_iff]
_ = 8 := by norm_num
_ = 8 * δ * (2 * Real.pi) := by
. linarith [Real.pi_pos]
. rwa [norm_pos_iff]
_ = Real.pi := by ring
_ = Real.pi * δ * (2 * Real.pi) := by
simp
rw [←two_mul, _root_.abs_of_nonneg Real.two_pi_pos.le]
ring
Expand All @@ -735,9 +734,9 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
_ < ⊤ := ENNReal.ofReal_lt_top
obtain ⟨E', E'subset, measurableSetE', E'measure, h⟩ := ENNReal.le_on_subset MeasureTheory.volume measurableSetE (CarlesonOperatorReal'_measurable f_measurable) (CarlesonOperatorReal'_measurable (Measurable.comp continuous_star.measurable f_measurable)) le_operator_add
have E'volume : MeasureTheory.volume E' < ⊤ := lt_of_le_of_lt (MeasureTheory.measure_mono E'subset) Evolume
have : ENNReal.ofReal (Real.pi * (ε' - 8 * δ)) * MeasureTheory.volume E' ≤ ENNReal.ofReal (δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹) * (MeasureTheory.volume E') ^ (2 : ℝ)⁻¹ := by
calc ENNReal.ofReal (Real.pi * (ε' - 8 * δ)) * MeasureTheory.volume E'
_ = ENNReal.ofReal ((ε' - 8 * δ) * (2 * Real.pi)) / 2 * MeasureTheory.volume E' := by
have : ENNReal.ofReal (Real.pi * (ε' - Real.pi * δ)) * MeasureTheory.volume E' ≤ ENNReal.ofReal (δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹) * (MeasureTheory.volume E') ^ (2 : ℝ)⁻¹ := by
calc ENNReal.ofReal (Real.pi * (ε' - Real.pi * δ)) * MeasureTheory.volume E'
_ = ENNReal.ofReal ((ε' - Real.pi * δ) * (2 * Real.pi)) / 2 * MeasureTheory.volume E' := by
congr
rw [← ENNReal.ofReal_ofNat, ← ENNReal.ofReal_div_of_pos (by norm_num)]
ring_nf
Expand All @@ -760,7 +759,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
apply mul_pos hδ (by rw [C1_2]; norm_num)
apply Real.rpow_pos_of_pos
linarith [Real.two_pi_pos]
have ε'_δ_expression_pos : 0 < Real.pi * (ε' - 8 * δ) := by
have ε'_δ_expression_pos : 0 < Real.pi * (ε' - Real.pi * δ) := by
rw [ε'def, C_control_approximation_effect_eq hε.1.le, add_sub_cancel_right, mul_div_cancel₀ _ Real.pi_pos.ne.symm]
apply mul_pos δ_mul_const_pos
apply Real.rpow_pos_of_pos
Expand All @@ -775,7 +774,7 @@ lemma control_approximation_effect' {ε : ℝ} (hε : 0 < ε ∧ ε ≤ 2 * Real
conv => lhs; rw [←Real.rpow_one (MeasureTheory.volume.real E')]
congr
norm_num
_ ≤ 2 * (δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹ / (Real.pi * (ε' - 8 * δ))) ^ (2 : ℝ) := by
_ ≤ 2 * (δ * C1_2 4 2 * (4 * Real.pi) ^ (2 : ℝ)⁻¹ / (Real.pi * (ε' - Real.pi * δ))) ^ (2 : ℝ) := by
gcongr
rw [Real.rpow_mul MeasureTheory.measureReal_nonneg]
gcongr
Expand Down
Loading
Loading