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

ball_covering

Carleson.TwoSidedCarleson.WeakCalderonZygmund · Carleson/TwoSidedCarleson/WeakCalderonZygmund.lean:428 to 465

Source documentation

Lemma 10.2.4.

Exact Lean statement

theorem ball_covering (hO : IsOpen O ∧ O ≠ univ) :
    ∃ (c : ℕ → X) (r : ℕ → ℝ), (univ.PairwiseDisjoint fun i ↦ ball (c i) (r i)) ∧
      ⋃ i, ball (c i) (3 * r i) = O ∧ (∀ i, 0 < r i → ¬Disjoint (ball (c i) (7 * r i)) Oᶜ) ∧
      ∀ x ∈ O, {i | x ∈ ball (c i) (3 * r i)}.encard ≤ (2 ^ (6 * a) : ℕ)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem ball_covering (hO : IsOpen O  O  univ) :     (c :   X) (r :   ), (univ.PairwiseDisjoint fun i  ball (c i) (r i))       ⋃ i, ball (c i) (3 * r i) = O  ( i, 0 < r i  ¬Disjoint (ball (c i) (7 * r i)) Oᶜ)        x  O, {i | x  ball (c i) (3 * r i)}.encard  (2 ^ (6 * a) : ) := by  obtain U, r', countU, pdU, U₃, U₇, Ubi := ball_covering' hO  obtain fU | iU := U.finite_or_infinite  · exact ball_covering_finite hO fU pdU U₃ U₇ Ubi  · let e := (countable_infinite_iff_nonempty_denumerable.mp countU, iU).some.eqv    let c (i : ) : X := (e.symm i).1    let r (i : ) :  := r' (c i)    refine c, r, fun i mi j mj hn  ?_, ?_, fun i hi  ?_, fun x mx  ?_    · have hic : c i  U := by simp [c]      have hjc : c j  U := by simp [c]      apply pdU hic hjc; simp_rw [c]; contrapose! hn      rwa [SetCoe.ext_iff, e.symm.apply_eq_iff_eq] at hn    · rw [ U₃]; apply subset_antisymm      · refine iUnion_subset fun i  ?_        unfold r; convert subset_iUnion₂ (c i) _        · rfl        · simp_rw [c, Subtype.coe_prop]      · refine iUnion₂_subset fun x mx  ?_        let i := e x, mx; convert subset_iUnion _ i        simp_rw [r, c, i, Equiv.symm_apply_apply]    · unfold r at hi       have mi : c i  U := by simp_rw [c, Subtype.coe_prop]      exact U₇ _ mi    · calc        _ = {u  U | x  ball u (3 * r' u)}.encard := by          set A := {i | x  ball (c i) (3 * r i)}          set B := {u  U | x  ball u (3 * r' u)}          let f (i : A) : B := e.symm i, by            refine Subtype.coe_prop _, ?_            have := i.2; simp_rw [A, mem_setOf_eq, r, c] at this; exact this          let g (u : B) : A := e u.1, u.2.1, by            simp_rw [A, r, c, mem_setOf_eq, Equiv.symm_apply_apply, u.2.2]          let eqv : A ≃ B := f, g, fun i  by simp [f, g], fun u  by simp [f, g]          exact encard_congr eqv        _  _ := Ubi x mx