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

TileStructure.Forest.gtc_integral_bound

Carleson.ForestOperator.LargeSeparation Β· Carleson/ForestOperator/LargeSeparation.lean:1197 to 1225

Mathematical statement

Exact Lean statement

lemma gtc_integral_bound {k : β„€} {β„­ : Set (𝔓 X)}
    (hs : βˆ€ p ∈ β„­, Β¬Disjoint (ball (𝔠 p) (8 * D ^ 𝔰 p)) (ball (c J) (16 * D ^ s J)) β†’ s J ≀ 𝔰 p) :
    βˆ‘ p ∈ β„­ with Β¬Disjoint (ball (𝔠 p) (8 * D ^ 𝔰 p)) (ball (c J) (16 * D ^ s J)) ∧ 𝔰 p = k,
      ∫⁻ x in E p, β€–f xβ€–β‚‘ ≀
    ∫⁻ x in ball (c J) (32 * D ^ k), β€–f xβ€–β‚‘

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma gtc_integral_bound {k : β„€} {β„­ : Set (𝔓 X)}    (hs : βˆ€ p ∈ β„­, Β¬Disjoint (ball (𝔠 p) (8 * D ^ 𝔰 p)) (ball (c J) (16 * D ^ s J)) β†’ s J ≀ 𝔰 p) :    βˆ‘ p ∈ β„­ with Β¬Disjoint (ball (𝔠 p) (8 * D ^ 𝔰 p)) (ball (c J) (16 * D ^ s J)) ∧ 𝔰 p = k,      ∫⁻ x in E p, β€–f xβ€–β‚‘ ≀    ∫⁻ x in ball (c J) (32 * D ^ k), β€–f xβ€–β‚‘ := by  set V := β„­.toFinset.filter      (fun p ↦ Β¬Disjoint (ball (𝔠 p) (8 * D ^ 𝔰 p)) (ball (c J) (16 * D ^ s J)) ∧ 𝔰 p = k)  calc    _ = ∫⁻ x in ⋃ p ∈ V, E p, β€–f xβ€–β‚‘ := by      refine (lintegral_biUnion_finset (fun p₁ mp₁ pβ‚‚ mpβ‚‚ hn ↦ ?_)        (fun _ _ ↦ measurableSet_E) _).symm      contrapose! hn; obtain ⟨x, mx₁ : x ∈ E p₁, mxβ‚‚ : x ∈ E pβ‚‚βŸ© := not_disjoint_iff.mp hn      rw [E, mem_setOf] at mx₁ mxβ‚‚      simp_rw [Finset.mem_coe, V, Finset.mem_filter, mem_toFinset] at mp₁ mpβ‚‚      have i_eq := mpβ‚‚.2.2 β–Έ mp₁.2.2      replace i_eq : π“˜ p₁ = π“˜ pβ‚‚ :=        (eq_or_disjoint i_eq).resolve_right (not_disjoint_iff.mpr ⟨x, mx₁.1, mxβ‚‚.1⟩)      by_contra! h      exact absurd (disjoint_Ξ© h i_eq) (not_disjoint_iff.mpr ⟨Q x, mx₁.2.1, mxβ‚‚.2.1⟩)    _ ≀ _ := by      refine lintegral_mono_set (iUnionβ‚‚_subset fun p mp ↦ ?_)      simp_rw [V, Finset.mem_filter, mem_toFinset] at mp; specialize hs p mp.1 mp.2.1      refine (E_subset_π“˜.trans Grid_subset_ball).trans (ball_subset_ball' ?_)      rw [← mp.2.2]; change (4 : ℝ) * D ^ 𝔰 p + dist (𝔠 p) (c J) ≀ _      calc        _ ≀ (4 : ℝ) * D ^ 𝔰 p + 8 * D ^ 𝔰 p + 16 * D ^ s J := by          rw [add_assoc]; gcongr; exact (dist_lt_of_not_disjoint_ball mp.2.1).le        _ ≀ (4 : ℝ) * D ^ 𝔰 p + 8 * D ^ 𝔰 p + 16 * D ^ 𝔰 p := by gcongr; exact one_le_realD a        _ ≀ _ := by rw [← add_mul, ← add_mul]; gcongr; norm_num