Skip to main content
fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0

ae_tendsto_zero_of_distribution_le

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

Mathematical statement

Exact Lean statement

lemma ae_tendsto_zero_of_distribution_le {α : Type*} {m : MeasurableSpace α} {μ : Measure α}
  {f : α → ℂ} {F : ℕ → α → ℂ}
  (h : ∀ δ > (0 : NNReal), ∀ ε > (0 : NNReal), ∃ N₀,
    distribution (fun x ↦ ⨆ N > N₀, ‖f x - F N x‖ₑ) δ μ ≤ ε) :
    ∀ᵐ x ∂μ, Tendsto (F · x) atTop (𝓝 (f x))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma ae_tendsto_zero_of_distribution_le {α : Type*} {m : MeasurableSpace α} {μ : Measure α}  {f : α  ℂ} {F :   α  ℂ}  (h :  δ > (0 : NNReal),  ε > (0 : NNReal),  N₀,    distribution (fun x  ⨆ N > N₀, ‖f x - F N x‖ₑ) δ μ  ε) :    ᵐ x ∂μ, Tendsto (F · x) atTop (𝓝 (f x)) := by  let δ (k : ) :  := 1 / (k + 1) --arbitrary sequence tending to zero  have δconv : Tendsto δ atTop (𝓝 0) := tendsto_one_div_add_atTop_nhds_zero_nat  have δpos (k : ) : 0 < δ k := by apply div_pos zero_lt_one (by linarith)  -- ENNReal version to be comparable to volumes  let δ' (k : ) := ENNReal.ofReal (δ k)  have δ'conv : Tendsto δ' atTop (𝓝 0) := by    rw [ ofReal_zero]    exact tendsto_ofReal δconv  set ε := fun k n  (1 / 2) ^ n * 2⁻¹ * δ k with εdef  have εpos (k n : ) : 0 < ε k n := by positivity  have εsmall (k : ) {e : } (epos : 0 < e) :  n, ε k n < e := by    have : Tendsto (ε k) atTop (𝓝 0) := by      rw [εdef]      simp_rw [mul_assoc]      rw [ zero_mul (2⁻¹ * δ k)]      apply Filter.Tendsto.mul_const      exact tendsto_pow_atTop_nhds_zero_of_lt_one (by linarith) (by linarith)    rw [Metric.tendsto_atTop] at this    rcases (this e epos) with n, hn    use n    convert (hn n (by simp))    simp_rw [dist_zero_right, norm_eq_abs, abs_of_nonneg (εpos k n).le]  have δ'_eq {k : } : δ' k = ∑' n, ENNReal.ofReal (ε k n) := by    rw [εdef]    conv => rhs; pattern ENNReal.ofReal _; rw [ofReal_mul' (δpos k).le,      ofReal_mul' (by norm_num), ofReal_pow (by norm_num)]    rw [ENNReal.tsum_mul_right, ENNReal.tsum_mul_right, ENNReal.tsum_geometric,       ofReal_one,  ofReal_sub,  ofReal_inv_of_pos (by norm_num),       ofReal_mul' (by norm_num)]    conv => pattern ENNReal.ofReal _; ring_nf; rw [ofReal_one]    · rw [one_mul]    norm_num  have h' :  (δ: NNReal),  (ε : NNReal),  N₀, 0 < δ  0 < ε       distribution (fun x  ⨆ N > N₀, ‖f x - F N x‖ₑ) δ μ  ε := by    intro δ ε    by_cases δpos : 0 < δ    · by_cases εpos : 0 < ε      · rcases h δ δpos ε εpos with N₀, hN₀        use N₀        intros        apply hN₀      · simp [εpos]    · simp [δpos]  choose N₀s hN₀s using h'  set Eε := fun ε  superlevelSet (fun x  ⨆ N > N₀s ε ε, ‖f x - F N x‖ₑ) ε  have Eεmeasure {ε : NNReal} (εpos : 0 < ε) : μ (Eε ε)  ε := by    unfold Eε    rw [ distribution_eq_measure_superlevelSet]    exact hN₀s _ _ εpos εpos  -- Define exceptional sets parameterized by δ.  let Eδ (k : ) := ⋃ (n : ), Eε (ε k n).toNNReal  have Eδmeasure (k : ) : μ (Eδ k)  δ' k := by    apply le_trans (measure_iUnion_le _)    rw [δ'_eq]    exact ENNReal.tsum_le_tsum (fun n  Eεmeasure (by simp [εpos k n]))  -- Define final exceptional set.  let E := ⋂ (k : ), Eδ k  -- Show that it has the desired property.  have hE :  x  E, Tendsto (F · x) atTop (𝓝 (f x)) := by    intro x hx    unfold E at hx    simp only [Set.mem_iInter, not_forall] at hx    rcases hx with k, hk    unfold Eδ at hk    simp only [Set.mem_iUnion, not_exists] at hk    rw [Metric.tendsto_atTop']    intro e epos    rcases (εsmall k epos) with n, lt_e    use N₀s (ε k n).toNNReal (ε k n).toNNReal    intro N hN    rw [dist_comm, dist_eq_norm]    apply lt_e.trans_le'    have := hk n    unfold Eε superlevelSet at this    simp only [gt_iff_lt, enorm_eq_self, Set.mem_setOf_eq, not_lt, iSup_le_iff,      enorm_le_coe] at this    have := this N hN    rw [ toNNReal_le_toNNReal_iff (εpos _ _).le]    apply this.trans'    simp  -- Show that is has measure zero.  have Emeasure : μ E  0 := by    have :  k, μ E  δ' k := by      intro k      apply le_trans' (Eδmeasure k)      apply measure_mono      apply Set.iInter_subset    exact ge_of_tendsto' δ'conv this  -- Use results to prove the statement.  apply le_antisymm _ zero_le  apply le_trans' Emeasure  apply measure_mono  intro x hx  simp only [Set.mem_compl_iff, Set.mem_setOf_eq] at hx  contrapose! hx  exact hE x hx