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

TileStructure.Forest.union_𝓙₅

Carleson.ForestOperator.LargeSeparation Β· Carleson/ForestOperator/LargeSeparation.lean:129 to 178

Source documentation

Part of Lemma 7.5.1.

Exact Lean statement

lemma union_𝓙₅ (hu₁ : u₁ ∈ t) (huβ‚‚ : uβ‚‚ ∈ t) (hu : u₁ β‰  uβ‚‚) (h2u : π“˜ u₁ ≀ π“˜ uβ‚‚) :
    ⋃ J ∈ 𝓙₅ t u₁ uβ‚‚, (J : Set X) = π“˜ u₁

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma union_𝓙₅ (hu₁ : u₁ ∈ t) (huβ‚‚ : uβ‚‚ ∈ t) (hu : u₁ β‰  uβ‚‚) (h2u : π“˜ u₁ ≀ π“˜ uβ‚‚) :    ⋃ J ∈ 𝓙₅ t u₁ uβ‚‚, (J : Set X) = π“˜ u₁ := by  apply Set.Subset.antisymm  Β· intros x hx    simp only [mem_iUnion] at hx    rcases hx with ⟨cube, ⟨_, interval⟩, h⟩    exact Set.mem_of_mem_of_subset h interval.left  Β· intros x hx    have existsCube : x ∈ ⋃ J ∈ 𝓙 (t.𝔖₀ u₁ uβ‚‚), (J : Set X) := π“˜_subset_iUnion_𝓙_𝔖₀ hx    simp only [mem_iUnion, exists_prop] at existsCube    rcases existsCube with ⟨cube, cube_in_𝓙, xInCube⟩    simp only [mem_iUnion, exists_prop]    have notDisjoint := Set.not_disjoint_iff.mpr ⟨x, xInCube, hx⟩    have cubeIn𝓙₀ : cube ∈ 𝓙₀ (t.𝔖₀ u₁ uβ‚‚) := mem_of_mem_inter_left cube_in_𝓙    cases cubeIn𝓙₀ with    | inl west =>      refine ⟨cube, ?_, xInCube⟩      unfold 𝓙₅      rw [inter_def, mem_setOf_eq]      refine ⟨cube_in_𝓙, ?_⟩      simp only [mem_Iic, Grid.le_def]      have smaller := calc s cube        _ = -S := west        _ ≀ s (π“˜ u₁) := (mem_Icc.mp (scale_mem_Icc (i := π“˜ u₁))).left      refine ⟨?_, smaller⟩      cases GridStructure.fundamental_dyadic' smaller with      | inl subset => exact subset      | inr disjoint => exact False.elim (notDisjoint disjoint)    | inr east =>      obtain ⟨p, belongs⟩ := t.nonempty' hu₁      by_contra! contr      have white := calc (π“˜ p : Set X)        _ βŠ† π“˜ u₁ := (π“˜_le_π“˜ t hu₁ belongs).1        _ βŠ† cube := by          apply subset_of_notMem_Iic_of_not_disjoint cube          Β· have notIn : cube βˆ‰ t.𝓙₅ u₁ uβ‚‚ := fun a ↦ contr cube a xInCube            rw [𝓙₅, inter_def, Set.mem_setOf_eq, not_and_or] at notIn            exact Or.resolve_left notIn (Set.not_notMem.mpr cube_in_𝓙)          Β· exact notDisjoint        _ βŠ† ball (c cube) (4 * D ^ s cube) := by          exact Grid_subset_ball (i := cube)        _ βŠ† ball (c cube) (100 * D ^ (s cube + 1)) := by          intro y xy          rw [ball, mem_setOf_eq] at xy ⊒          exact gt_trans (calculation_16 (X := X) (s := s cube)) xy      have black : ¬↑(π“˜ p) βŠ† ball (c cube) (100 * D ^ (s cube + 1)) := by        have in_𝔖₀ := 𝔗_subset_𝔖₀ (hu₁ := hu₁) (huβ‚‚ := huβ‚‚) (hu := hu) (h2u := h2u)        rw [subset_def] at in_𝔖₀        exact east p (in_𝔖₀ p belongs)      contradiction