Skip to content

Commit a2d6dcd

Browse files
authored
Cleanup base folder (except Psi.lean) (#476)
More cleanup, this time the base folder. Main focus was to ensure all ToMathlib elements were caught, and to fix (whitespace) style of the statements. In some files the proofs can be further optimized as well but IMO that does not have the priority at this moment. The reason to omit `Psi.lean` is because it contains a lot of stuff formalized using `norm` instead of `enorm` and it might be better to refactor into `enorm` entirely (as the `enorm` versions are used downstream). And that seemed like a task better put in a separate PR.
1 parent 7192b7e commit a2d6dcd

File tree

9 files changed

+307
-381
lines changed

9 files changed

+307
-381
lines changed

Carleson.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ import Carleson.ToMathlib.RealInterpolation.LorentzInterpolation
8585
import Carleson.ToMathlib.RealInterpolation.Main
8686
import Carleson.ToMathlib.RealInterpolation.Minkowski
8787
import Carleson.ToMathlib.RealInterpolation.Misc
88+
import Carleson.ToMathlib.Topology.Algebra.Support
8889
import Carleson.ToMathlib.Topology.Instances.AddCircle.Defs
8990
import Carleson.ToMathlib.WeakType
9091
import Carleson.TwoSidedCarleson.Basic

Carleson/FinitaryCarleson.lean

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ lemma exists_Grid {x : X} (hx : x ∈ G) {s : ℤ} (hs : s ∈ (Icc (σ₁ x) (
6363
simpa only [mem_iUnion, exists_prop] using Grid_subset_biUnion s s_mem x_mem_topCube
6464

6565
/-- Lemma 4.0.3 -/
66-
theorem tile_sum_operator {G' : Set X} {f : X → ℂ}
67-
{x : X} (hx : x ∈ G \ G') : ∑ (p : 𝔓 X), carlesonOn p f x =
66+
theorem tile_sum_operator {G' : Set X} {f : X → ℂ} {x : X} (hx : x ∈ G \ G') :
67+
∑ (p : 𝔓 X), carlesonOn p f x =
6868
∑ s ∈ Icc (σ₁ x) (σ₂ x), ∫ y, Ks s x y * f y * exp (I * (Q x y - Q x x)) := by
6969
classical
7070
rw [𝔓_biUnion, Finset.sum_biUnion]; swap
@@ -101,6 +101,7 @@ def C2_0_1 (a : ℕ) (q : ℝ≥0) : ℝ≥0 := C2_0_2 a q
101101
lemma C2_0_1_pos [TileStructure Q D κ S o] : C2_0_1 a nnq > 0 := C2_0_2_pos
102102

103103
variable (X) in
104+
/-- Proposition 2.0.1 -/
104105
theorem finitary_carleson : ∃ G', MeasurableSet G' ∧ 2 * volume G' ≤ volume G ∧
105106
∀ f : X → ℂ, Measurable f → (∀ x, ‖f x‖ ≤ F.indicator 1 x) →
106107
∫⁻ x in G \ G', ‖∑ s ∈ Icc (σ₁ x) (σ₂ x), ∫ y, Ks s x y * f y * exp (I * Q x y)‖ₑ ≤

Carleson/Forest.lean

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,6 @@ variable [TileStructure Q D κ S o] {u u' p p' : 𝔓 X} {f g : Θ X}
1111
{C C' : Set (𝔓 X)} {x x' : X}
1212

1313
namespace TileStructure
14-
-- variable (X) in
15-
-- structure Tree where
16-
-- carrier : Set (𝔓 X)
17-
-- nonempty : Nonempty carrier
18-
-- ordConnected : OrdConnected carrier -- (2.0.33)
19-
20-
-- attribute [coe] Tree.carrier
21-
-- instance : CoeTC (Tree X) (Set (𝔓 X)) where coe := Tree.carrier
22-
-- -- instance : CoeTC (Tree X) (Finset (𝔓 X)) where coe := Tree.carrier
23-
-- -- instance : CoeTC (Tree X) (Set (𝔓 X)) where coe p := ((p : Finset (𝔓 X)) : Set (𝔓 X))
24-
-- instance : Membership (𝔓 X) (Tree X) := ⟨fun x p => x ∈ (p : Set _)⟩
25-
-- instance : Preorder (Tree X) := Preorder.lift Tree.carrier
2614

2715
variable (X) in
2816
/-- An `n`-forest -/

Carleson/GridStructure.lean

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ variable {𝕜 : Type*} [_root_.RCLike 𝕜]
1010

1111
variable (X) in
1212
/-- A grid structure on `X`.
13-
I expect we prefer `coeGrid : Grid → Set X` over `Grid : Set (Set X)`
13+
We prefer `coeGrid : Grid → Set X` over `Grid : Set (Set X)`
1414
Note: the `s` in this paper is `-s` of Christ's paper.
1515
-/
1616
class GridStructure {A : outParam ℝ≥0} [PseudoMetricSpace X] [DoublingMeasure X A]
@@ -63,12 +63,6 @@ instance : Fintype (Grid X) := GridStructure.fintype_Grid
6363
instance : Coe (Grid X) (Set X) := ⟨GridStructure.coeGrid⟩
6464
instance : Membership X (Grid X) := ⟨fun i x ↦ x ∈ (i : Set X)⟩
6565
instance : PartialOrder (Grid X) := PartialOrder.lift _ GridStructure.inj
66-
/- These should probably not/only rarely be used. I comment them out for now,
67-
so that we don't accidentally use it. We can put it back if useful after all. -/
68-
-- instance : HasSubset (Grid X) := ⟨fun i j ↦ (i : Set X) ⊆ (j : Set X)⟩
69-
-- instance : HasSSubset (Grid X) := ⟨fun i j ↦ (i : Set X) ⊂ (j : Set X)⟩
70-
-- @[simp] lemma Grid.subset_def : i ⊆ j ↔ (i : Set X) ⊆ (j : Set X) := .rfl
71-
-- @[simp] lemma Grid.ssubset_def : i ⊂ j ↔ (i : Set X) ⊂ (j : Set X) := .rfl
7266

7367
/- not sure whether these should be simp lemmas, but that might be required if we want to
7468
conveniently rewrite/simp with Set-lemmas -/
@@ -138,12 +132,6 @@ lemma volume_coeGrid_pos (hD : 0 < D) : 0 < volume (i : Set X) := by
138132
lemma volume_coeGrid_lt_top : volume (i : Set X) < ⊤ :=
139133
measure_lt_top_of_subset Grid_subset_ball measure_ball_ne_top
140134

141-
/- lemma volumeNNReal_coeGrid_pos (hD : 0 < D) : 0 < volume.nnreal (i : Set X) := by
142-
rw [lt_iff_le_and_ne]
143-
refine ⟨zero_le _, ?_
144-
rw [ne_eq, eq_comm, measureNNReal_eq_zero_iff]
145-
exact ne_of_gt (volume_coeGrid_pos hD) -/
146-
147135
namespace Grid
148136

149137
protected lemma inj : Injective (fun i : Grid X ↦ ((i : Set X), s i)) := GridStructure.inj

Carleson/HolderVanDerCorput.lean

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Carleson.TileStructure
2+
import Carleson.ToMathlib.Topology.Algebra.Support
23

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

@@ -133,16 +134,16 @@ lemma integral_mul_holderApprox {R t : ℝ} (hR : 0 < R) (ht : 0 < t) (ϕ : X
133134
apply ne_of_gt
134135
exact integral_cutoff_pos hR ht
135136

136-
-- This surely exists in mathlib; how is it named?
137-
lemma foo {φ : X → ℂ} (hf : ∫ x, φ x ≠ 0) : ∃ z, φ z ≠ 0 := by
138-
by_contra! h
139-
exact hf (by simp [h])
140-
141137
lemma support_holderApprox_subset_aux {z : X} {R R' t : ℝ} (hR : 0 < R)
142138
{ϕ : X → ℂ} (hϕ : ϕ.support ⊆ ball z R') (ht : t ∈ Ioc (0 : ℝ) 1) :
143139
support (holderApprox R t ϕ) ⊆ ball z (R + R') := by
144140
intro x hx
145-
choose y hy using foo (left_ne_zero_of_mul hx)
141+
have : ∃ z, cutoff R t x z * ϕ z ≠ 0 := by
142+
suffices ∫ y, cutoff R t x y * ϕ y ≠ 0 by
143+
by_contra! h
144+
exact this (by simp only [h, integral_zero])
145+
apply left_ne_zero_of_mul hx
146+
choose y hy using this
146147
have : x ∈ ball y (t * R) := by
147148
apply aux_8_0_4 hR ht.1
148149
rw [cutoff_comm]
@@ -163,19 +164,6 @@ lemma support_holderApprox_subset {z : X} {R t : ℝ} (hR : 0 < R)
163164
convert support_holderApprox_subset_aux hR hϕ ht using 2
164165
ring
165166

166-
/- unused
167-
lemma tsupport_holderApprox_subset {z : X} {R t : ℝ} (hR : 0 < R)
168-
{ϕ : X → ℂ} (hϕ : tsupport ϕ ⊆ ball z R) (ht : t ∈ Ioc (0 : ℝ) 1) :
169-
tsupport (holderApprox R t ϕ) ⊆ ball z (2 * R) := by
170-
rcases exists_pos_lt_subset_ball hR (isClosed_tsupport ϕ) hϕ with ⟨R', R'_pos, hR'⟩
171-
have A : support (holderApprox R t ϕ) ⊆ ball z (R + R') :=
172-
support_holderApprox_subset_aux hR ((subset_tsupport _).trans hR') ht
173-
have : tsupport (holderApprox R t ϕ) ⊆ closedBall z (R + R') :=
174-
(closure_mono A).trans closure_ball_subset_closedBall
175-
apply this.trans (closedBall_subset_ball ?_)
176-
linarith [R'_pos.2]
177-
-/
178-
179167
open Filter
180168

181169
/-- Part of Lemma 8.0.1: Equation (8.0.1).
@@ -289,7 +277,7 @@ lemma norm_holderApprox_sub_le_aux {z : X} {R t : ℝ} (hR : 0 < R) (ht : 0 < t)
289277
‖holderApprox R t ϕ x' - holderApprox R t ϕ x‖ ≤
290278
2⁻¹ * 2 ^ (4 * a) * t ^ (-1 - a : ℝ) * C * dist x x' / (2 * R) := by
291279
have M : (2⁻¹ * volume.real (ball x (2⁻¹ * t * R))) *
292-
‖holderApprox R t ϕ x' - holderApprox R t ϕ x‖ ≤
280+
‖holderApprox R t ϕ x' - holderApprox R t ϕ x‖ ≤
293281
2 * C * ∫ y, |cutoff R t x y - cutoff R t x' y| :=
294282
calc
295283
(2⁻¹ * volume.real (ball x (2⁻¹ * t * R))) * ‖holderApprox R t ϕ x' - holderApprox R t ϕ x‖
@@ -408,7 +396,7 @@ lemma norm_holderApprox_sub_le {z : X} {R t : ℝ} (hR : 0 < R) (ht : 0 < t) (h'
408396
{C : ℝ≥0} {ϕ : X → ℂ} (hc : Continuous ϕ) (hϕ : ϕ.support ⊆ ball z R)
409397
(hC : ∀ x, ‖ϕ x‖ ≤ C) {x x' : X} :
410398
‖holderApprox R t ϕ x - holderApprox R t ϕ x'‖ ≤
411-
2⁻¹ * 2 ^ (4 * a) * t ^ (-1 - a : ℝ) * C * dist x x' / (2 * R) := by
399+
2⁻¹ * 2 ^ (4 * a) * t ^ (-1 - a : ℝ) * C * dist x x' / (2 * R) := by
412400
rcases lt_or_ge (dist x x') R with hx | hx
413401
· rw [norm_sub_rev]
414402
exact norm_holderApprox_sub_le_aux hR ht h't hc hϕ hC hx
@@ -444,8 +432,7 @@ lemma lipschitzWith_holderApprox {z : X} {R t : ℝ} (hR : 0 < R) (ht : 0 < t) (
444432
ring
445433

446434
lemma iLipENorm_holderApprox' {z : X} {R t : ℝ} (ht : 0 < t) (h't : t ≤ 1)
447-
{C : ℝ≥0} {ϕ : X → ℂ} (hc : Continuous ϕ) (hϕ : ϕ.support ⊆ ball z R)
448-
(hC : ∀ x, ‖ϕ x‖ ≤ C) :
435+
{C : ℝ≥0} {ϕ : X → ℂ} (hc : Continuous ϕ) (hϕ : ϕ.support ⊆ ball z R) (hC : ∀ x, ‖ϕ x‖ ≤ C) :
449436
iLipENorm (holderApprox R t ϕ) z (2 * R) ≤
450437
2 ^ (4 * a) * (ENNReal.ofReal t) ^ (-1 - a : ℝ) * C := by
451438
let C' : ℝ≥0 := 2 ^ (4 * a) * (t.toNNReal) ^ (-1 - a : ℝ) * C
@@ -502,19 +489,6 @@ lemma iLipENorm_holderApprox_le {z : X} {R t : ℝ} (ht : 0 < t) (h't : t ≤ 1)
502489
/-- The constant occurring in Proposition 2.0.5. -/
503490
def C2_0_5 (a : ℝ) : ℝ≥0 := 2 ^ (7 * a)
504491

505-
section DivisionMonoid
506-
507-
variable {α β : Type*} [TopologicalSpace α] [DivisionMonoid β]
508-
variable {f f' : α → β}
509-
510-
/- PR after HasCompactMulSupport.inv' -/
511-
512-
@[to_additive]
513-
theorem HasCompactMulSupport.div (hf : HasCompactMulSupport f) (hf' : HasCompactMulSupport f') :
514-
HasCompactMulSupport (f / f') := hf.comp₂_left hf' (div_one 1)
515-
516-
end DivisionMonoid
517-
518492
--NOTE (MI) : there was a missing minus sign in the exponent.
519493
/-- Proposition 2.0.5. -/
520494
theorem holder_van_der_corput {z : X} {R : ℝ} {ϕ : X → ℂ}

Carleson/Operators.lean

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ def carlesonOn (p : 𝔓 X) (f : X → ℂ) : X → ℂ :=
3636
indicator (E p)
3737
fun x ↦ ∫ y, exp (I * (Q x y - Q x x)) * K x y * ψ (D ^ (- 𝔰 p) * dist x y) * f y
3838

39-
-- not used anywhere and deprecated for `AEStronglyMeasurable.carlesonOn`
39+
/- Deprecated for `AEStronglyMeasurable.carlesonOn`
40+
Used through `measurable_carlesonSum` in `Antichain.AntichainOperator` and `ForestOperator.Forests`
41+
with nontrivial rework in order to move from `Measurable` to `AEStronglyMeasurable`. -/
4042
lemma measurable_carlesonOn {p : 𝔓 X} {f : X → ℂ} (measf : Measurable f) :
4143
Measurable (carlesonOn p f) := by
4244
refine (StronglyMeasurable.integral_prod_right ?_).measurable.indicator measurableSet_E
@@ -230,7 +232,6 @@ variable [MetricSpace X] [ProofData a q K σ₁ σ₂ F G] [TileStructure Q D κ
230232
/-- The definition of `Tₚ*g(x)`, defined above Lemma 7.4.1 -/
231233
def adjointCarleson (p : 𝔓 X) (f : X → ℂ) (x : X) : ℂ :=
232234
∫ y in E p, conj (Ks (𝔰 p) y x) * exp (.I * (Q y y - Q y x)) * f y
233-
-- todo: consider changing to `(E p).indicator 1 y`
234235

235236
open scoped Classical in
236237
/-- The definition of `T_ℭ*g(x)`, defined at the bottom of Section 7.4 -/
@@ -461,15 +462,6 @@ lemma adjointCarlesonSum_adjoint
461462
exact hg.adjointCarleson.conj
462463
_ = _ := by congr!; rw [← Finset.sum_mul, ← map_sum]; rfl
463464

464-
/- XXX: this version is not used, and may not be useful in general
465-
lemma integrable_adjointCarlesonSum' (u : 𝔓 X) {f : X → ℂ} (hf : AEStronglyMeasurable f volume)
466-
(hf' : IsBounded (range f)) (hf'' : HasCompactSupport f) :
467-
Integrable (adjointCarlesonSum (t.𝔗 u) f ·) := by
468-
obtain ⟨M, hM⟩ := hf'.exists_norm_le
469-
have : BoundedCompactSupport f :=
470-
⟨memLp_top_of_bound hf M <| by filter_upwards with x using hM _ (mem_range_self x), hf''⟩
471-
exact integrable_finset_sum _ fun i hi ↦ this.adjointCarleson (p := i).integrable -/
472-
473465
lemma integrable_adjointCarlesonSum (s : Set (𝔓 X)) {f : X → ℂ} (hf : BoundedCompactSupport f) :
474466
Integrable (adjointCarlesonSum s f ·) :=
475467
integrable_finset_sum _ fun i _ ↦ hf.adjointCarleson (p := i).integrable

0 commit comments

Comments
 (0)