Skip to main content
All packages

fpvandoorn/carleson

carleson

A formalized proof of Carleson's theorem in Lean

Therefore indexed 781 complete source declarations from the exact package revision. Individual authorship and independent verification remain unset.

Research project101 GitHub starsApache-2.038 indexed versionsRepositoryFull history on Reservoir

Head version

74ef907d6bdb

74ef907d6bdb60797b88655bc16e3032fb835fdc

Toolchain
leanprover/lean4:v4.32.0
Revision date
23 Jul 2026
Dependencies
10
Versions
38

External build observation

Exact head commit and toolchain

No Reservoir build observation was found for this exact commit and toolchain. This is not evidence of failure.

Pin this source in lakefile.lean

require carleson from git "https://github.com/fpvandoorn/carleson.git" @ "74ef907d6bdb60797b88655bc16e3032fb835fdc"

Source declarations

781 indexed proofs

Package history

Showing 61 to 80 of 781 declarations.

lemma

fourierCoeffOn_add

Open the record for the exact Lean statement and complete source.

Carleson.Classical.Basic · Carleson/Classical/Basic.lean:136

lemma

lower_secant_bound'

Open the record for the exact Lean statement and complete source.

Carleson.Classical.Basic · Carleson/Classical/Basic.lean:260

lemma

lower_secant_bound

Open the record for the exact Lean statement and complete source.

Carleson.Classical.Basic · Carleson/Classical/Basic.lean:306

theorem

exceptional_set_carleson

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHunt · Carleson/Classical/CarlesonHunt.lean:23

theorem

carleson_hunt_real

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHunt · Carleson/Classical/CarlesonHunt.lean:146

theorem

carleson_hunt_two_pi

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHunt · Carleson/Classical/CarlesonHunt.lean:181

theorem

carleson_hunt'

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHunt · Carleson/Classical/CarlesonHunt.lean:236

lemma

ae_tendsto_zero_of_distribution_le

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHuntBasic · Carleson/Classical/CarlesonHuntBasic.lean:15

lemma

Function.Periodic.ae_of_ae_restrict

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonHuntBasic · Carleson/Classical/CarlesonHuntBasic.lean:121

lemma

oscillation_control

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOnTheRealLineBasic · Carleson/Classical/CarlesonOnTheRealLineBasic.lean:157

lemma

integer_ball_cover

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOnTheRealLineBasic · Carleson/Classical/CarlesonOnTheRealLineBasic.lean:219

lemma

rcarleson_general

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOnTheRealLineContinuous · Carleson/Classical/CarlesonOnTheRealLineContinuous.lean:17

lemma

annulus_real_eq

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOperatorReal · Carleson/Classical/CarlesonOperatorReal.lean:20

lemma

sup_eq_sup_dense_of_continuous

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOperatorReal · Carleson/Classical/CarlesonOperatorReal.lean:42

lemma

carlesonOperatorReal_measurable

Open the record for the exact Lean statement and complete source.

Carleson.Classical.CarlesonOperatorReal · Carleson/Classical/CarlesonOperatorReal.lean:76

lemma

carlesonOperatorReal_mul

Rationals are countable after conversion to reals, too. -/ private lemma Qᵣ_countable : Countable Qᵣ := propext Set.countable_coe_iff ▸ congr_arg Set.Countable Set.image_univ ▸ Set.countable_range Rat.cast

local notation "T" => carlesonOperatorReal K

lemma carlesonOperatorReal_measurable {f : ℝ → ℂ} (meas_f : AEStronglyMeasurable f) (hf : ∀ x, IntegrableOn f (Set.Ioo x (x + 2))) : Measurable (T f) := by wlog f_measurable : Measurable f · rcases meas_f with ⟨g, hg, hfg⟩ convert this (f := g) hg.aestronglyMeasurable _ hg.measurable using 1 · unfold carlesonOperatorReal congr with x congr with n congr with r congr with _ congr with _ congr 1 apply integral_congr_ae apply Filter.EventuallyEq.restrict filter_upwards [hfg] intro y hy congr intro x exact (integrableOn_congr_fun_ae hfg.restrict).mp (hf x) apply Measurable.iSup intro n set F : ℝ → ℝ → ℝ → ℂ := fun x r y ↦ {y | dist x y ∈ Set.Ioo r 1}.indicator (fun t ↦ f t * K x t * (Complex.I * ↑n * ↑t).exp) y with Fdef set G : ℝ → ℝ → ENNReal := fun x r ↦ ‖∫ (y : ℝ), F x r y‖ₑ with Gdef have hFG : (fun x ↦ ⨆ r, ⨆ (_ : 0 < r), ⨆ (_ : r < 1), ‖∫ (y : ℝ) in {y | dist x y ∈ Set.Ioo r 1}, f y * K x y * (Complex.I * ↑n * ↑y).exp‖ₑ) = fun x ↦ ⨆ (r : ℝ) (_ : r ∈ Set.Ioo 0 1), G x r := by ext congr with r simp_rw [iSup_and', ← Set.mem_Ioo, Gdef, Fdef] congr rw [← integral_indicator annulus_measurableSet] rw [hFG] have hGr : (⨆ (r ∈ Set.Ioo 0 1), G · r) = (⨆ (r ∈ (Set.Ioo 0 1) ∩ Qᵣ), G · r) := by ext x rw [sup_eq_sup_dense_of_continuous Qᵣ isOpen_Ioo Qᵣ_dense] refine fun r ⟨hr, ⟩ ↦ (((EReal.continuous_coe_ennreal_iff.mp (EReal.continuous_coe_iff.mpr (continuous_iff_le_induced.mpr fun _ ↦ id))).continuousAt).comp (ContinuousAt.nnnorm ?) ).continuousWithinAt set S := Set.Ioo (r / 2) (2 * r) with Sdef set bound := fun y ↦ ‖F x (r / 2) y‖ with bound_def have h_bound : ∀ᶠ (s : ℝ) in nhds r, ∀ᵐ (a : ℝ), ‖F x s a‖ ≤ bound a := by rw [eventually_nhds_iff] use S constructor · intro s ⟨_, ⟩ apply Filter.Eventually.of_forall intro y rw [bound_def, Fdef, norm_indicator_eq_indicator_norm] simp only rw [norm_indicator_eq_indicator_norm] apply Set.indicator_le_indicator_of_subset · intro y ⟨, ⟩ constructor <;> linarith · intro y apply norm_nonneg constructor · apply isOpen_Ioo · rw [Sdef] constructor <;> linarith apply continuousAt_of_dominated _ h_bound · rw [bound_def, Fdef] conv => pattern ‖‖; rw [norm_indicator_eq_indicator_norm] rw [integrable_indicator_iff annulus_measurableSet] have bound_on_set : ∀ᵐ a ∂(volume.restrict {y | dist x y ∈ Set.Ioo (r / 2) 1}), ‖K x a * (Complex.I * (↑n * ↑a)).exp‖ ≤ ‖2 ^ (2 : ℝ) / (2 * (r / 2))‖ := by rw [ae_restrict_iff' annulus_measurableSet] filter_upwards with a ha rw [norm_mul, mul_comm Complex.I] norm_cast rw [Complex.norm_exp_ofReal_mul_I, mul_one] rw [Real.norm_eq_abs, abs_of_nonneg (by apply div_nonneg (by norm_num); linarith)] calc _ _ ≤ 2 ^ (2 : ℝ) / (2 * |x - a|) := Hilbert_kernel_bound _ ≤ 4 / (2 * (r / 2)) := by gcongr · linarith · rw [← Real.dist_eq] exact ha.1.le simp_rw [Complex.norm_mul] at bound_on_set simp_rw [Complex.norm_mul, mul_assoc] unfold IntegrableOn apply Integrable.mul_bdd _ (by fun_prop) (by simpa only [norm_mul, norm_norm]) apply Integrable.norm rw [annulus_real_eq (by linarith [hr]), ← IntegrableOn] apply IntegrableOn.mono_set (hf (x - 1)) intro y grind · have contOn1 : ∀ (y : ℝ), ContinuousOn (F x · y) (Set.Iio (dist x y)) := by intro y rw [continuousOn_iff_continuous_restrict] apply continuous_of_const simp only [Set.restrict_apply, Subtype.forall] intro s hs t ht rw [Fdef] simp only [Set.mem_Ioo] by_cases! h : dist x y < 1 · rw [Set.indicator_apply, ite_cond_eq_true, Set.indicator_apply, ite_cond_eq_true] · simpa using ⟨ht, h⟩ · simpa using ⟨hs, h⟩ · rw [Set.indicator_apply, ite_cond_eq_false, Set.indicator_apply, ite_cond_eq_false] all_goals simpa using fun _ ↦ h have contOn2 : ∀ (y : ℝ), ContinuousOn (fun s ↦ F x s y) (Set.Ioi (min (dist x y) 1)) := by intro y rw [continuousOn_iff_continuous_restrict] apply continuous_of_const simp only [Set.restrict_apply, Subtype.forall] intro s hs t ht rw [Fdef] simp only [Set.mem_Ioo] rw [Set.indicator_apply, ite_cond_eq_false, Set.indicator_apply, ite_cond_eq_false] · rw [Set.mem_Ioi, min_lt_iff] at ht simp only [Set.mem_setOf_eq, eq_iff_iff, iff_false, not_and, not_lt] intro h rcases ht with h' | h' · exfalso exact (lt_self_iff_false _).mp (h'.trans h) · exact (h'.trans h).le · rw [Set.mem_Ioi, min_lt_iff] at hs simp only [Set.mem_setOf_eq, eq_iff_iff, iff_false, not_and, not_lt] intro h rcases hs with h' | h' · exfalso exact (lt_self_iff_false _).mp (h'.trans h) · exact (h'.trans h).le have contOn : ∀ y, ∀ t ≠ dist x y, ContinuousAt (F x · y) t := by intro y t ht by_cases! h : t < dist x y · exact_mod_cast (contOn1 y).continuousAt (Iio_mem_nhds h) · exact ContinuousOn.continuousAt (contOn2 y) (Ioi_mem_nhds ((min_le_left _ _).trans_lt (lt_of_le_of_ne h ht.symm))) have subset_finite : {y | ¬ContinuousAt (F x · y) r} ⊆ ({x - r, x + r} : Finset ℝ) := by intro y hy have hxy : dist x y = r := by contrapose! hy rw [Set.mem_setOf_eq, not_not] exact contOn y r hy.symm rw [Real.dist_eq, abs_eq hr.le] at hxy simp only [Finset.coe_insert, Finset.coe_singleton, Set.mem_insert_iff, Set.mem_singleton_iff] cases hxy · left; linarith · right; linarith rw [ae_iff] exact measure_mono_null subset_finite (Finset.measure_zero _ ) · filter_upwards with r apply AEStronglyMeasurable.indicator _ annulus_measurableSet apply AEStronglyMeasurable.mul · apply AEStronglyMeasurable.mul meas_f (by fun_prop) · fun_prop rw [hGr] refine Measurable.biSup _ (Set.Countable.mono Set.inter_subset_right Qᵣ_countable) (fun r _ ↦ ?) apply measurable_coe_nnreal_ennreal.comp (measurable_nnnorm.comp _) rw [← stronglyMeasurable_iff_measurable] apply StronglyMeasurable.integral_prod_right rw [stronglyMeasurable_iff_measurable, Fdef] exact (measurable_mul_kernel f_measurable).indicator (measurable_dist measurableSet_Ioo)

--TODO: Refactor the measurability proof to use the following.

/- import Mathlib.MeasureTheory.Measure.MeasureSpace import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic

open TopologicalSpace MeasureTheory Set

variable {α β : Type*} [MeasurableSpace α] [MeasurableSpace β] {ι : Type*} [LinearOrder ι] [TopologicalSpace ι] [OrderTopology ι] [DenselyOrdered ι] [SecondCountableTopology ι] {f : ι → α → β} [ConditionallyCompleteLattice β] [TopologicalSpace β] [OrderTopology β] [SecondCountableTopology β] [BorelSpace β]

-- lemma Measurable_iSup_gt {s : Set ι} [OrdConnected s] -- (h1f : ∀ x i, ContinuousWithinAt (f · x) s i) -- (h2f : ∀ i, Measurable (f i)) : -- Measurable (⨆ i ∈ s, f i ·) := by -- use SecondCountableTopology to rewrite the sup as a sup over the countable dense set (or similar) -- then use measurable_iSup

Carleson.Classical.CarlesonOperatorReal · Carleson/Classical/CarlesonOperatorReal.lean:262

theorem

exceptional_set_carleson'

Open the record for the exact Lean statement and complete source.

Carleson.Classical.ClassicalCarleson · Carleson/Classical/ClassicalCarleson.lean:28

theorem

classical_carleson

Open the record for the exact Lean statement and complete source.

Carleson.Classical.ClassicalCarleson · Carleson/Classical/ClassicalCarleson.lean:131

Static source extraction only. Package code was not executed. Every result keeps its complete declaration, exact file and line range, commit, toolchain, license file, and content hash.