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

Construction.Ω_disjoint

Carleson.TileExistence · Carleson/TileExistence.lean:1913 to 1934

Mathematical statement

Exact Lean statement

lemma Ω_disjoint {p p' : 𝔓 X} (hn : p ≠ p') (h𝓘 : 𝓘 p = 𝓘 p') : Disjoint (Ω p) (Ω p')

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma Ω_disjoint {p p' : 𝔓 X} (hn : p  p') (h𝓘 : 𝓘 p = 𝓘 p') : Disjoint (Ω p) (Ω p') := by  change p.1 = p'.1 at h𝓘; obtain I, y := p; obtain _, z := p'  subst h𝓘; dsimp only at hn z   replace hn : y  z := fun e  hn (congrArg (Sigma.mk I) e)  induction I using Grid.induction with  | base I maxI =>    unfold Ω; simp only [maxI, dite_true]    contrapose! hn; rw [not_disjoint_iff_nonempty_inter] at hn    exact disjoint_frequency_cubes hn  | ind I nmaxI ih =>    unfold Ω; simp only [nmaxI, dite_false]    have dj := (disjoint_frequency_cubes (f := y) (g := z)).mt hn    rw [ not_disjoint_iff_nonempty_inter, not_not] at dj    rw [disjoint_union_left]; constructor <;> (rw [disjoint_union_right]; constructor)    · have binc :  x, ball_{I} x.1 Ω₁ I, x := fun x         (ball_subset_ball (by norm_num)).trans (ball_subset_Ω₁ I, x)      exact (dj.mono_left (binc y)).mono_right (binc z)    · exact Ω_disjoint_aux nmaxI hn    · exact (Ω_disjoint_aux nmaxI hn.symm).symm    · rw [disjoint_iUnion₂_left]; intro a ma₁, ma₂      rw [disjoint_iUnion₂_right]; intro b mb₁, mb₂      exact ih a, ma₁ b, mb₁ (by simp [dj.ne_of_mem ma₂ mb₂])