fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
forest_inner
Carleson.Discrete.ForestUnion Β· Carleson/Discrete/ForestUnion.lean:433 to 482
Source documentation
Lemma 5.4.7, verifying (2.0.37)
Exact Lean statement
lemma forest_inner (hu : u β πβ k n j) (hp : p β πβ k n j u) :
ball (π p) (8 * D ^ π° p) β π uComplete declaration
Lean source
Full Lean sourceLean 4
lemma forest_inner (hu : u β πβ k n j) (hp : p β πβ k n j u) : ball (π p) (8 * D ^ π° p) β π u := by have pβ := (πβ_subset_ββ.trans ββ_subset_ββ
|>.trans ββ
_subset_ββ) hp have pβ := (ββ_subset_ββ.trans ββ_subset_ββ |>.trans ββ_subset_ββ) pβ obtain β¨q, mq, lq, sqβ© := exists_le_add_scale_of_mem_layersBelow pβ obtain β¨-, u'', mu'', nu'', slβ© := ββ_def.mp (maxLayer_subset mq) replace nu'' : π q < π u'' := lt_of_le_of_ne sl.1 nu'' have s2 : smul 2 p β€ smul 2 q := wiggle_order_11_10 lq (C5_3_3_le (X := X).trans (by norm_num)) have s2' : smul 2 p β€ smul 1 u'' := s2.trans sl have s10 : smul 10 p β€ smul 1 u'' := smul_mono s2' le_rfl (by norm_num) simp_rw [πβ, mem_inter_iff, mem_iUnionβ, mem_iUnion] at hp obtain β¨pβ, u', mu', ru', pu'β© := hp have ur : URel k n j u' u'' := Or.inr β¨p, pu', s10β© have hu'' : u'' β πβ k n j := by rw [πβ, mem_setOf, not_disjoint_iff] exact β¨mu'', β¨p, β¨pβ, (lq.1.trans_lt nu'').ne, s2'β©, pββ©β© have ru'' : URel k n j u u'' := equivalenceOn_urel.trans (πβ_subset_πβ hu) mu' hu'' ru' ur have qlu : π q < π u := URel.eq (πβ_subset_πβ hu) hu'' ru'' βΈ nu'' have squ : π° q < π° u := (Grid.lt_def.mp qlu).2 have spu : π° p β€ π° u - (Z * (n + 1) : β) - 1 := by lia have β¨I, sI, plI, Iluβ© : β I, s I = π° u - (Z * (n + 1) : β) - 1 β§ π p β€ I β§ I β€ π u := by apply Grid.exists_sandwiched (lq.1.trans qlu.le) (π° u - (Z * (n + 1) : β) - 1) refine β¨spu, ?_β© change _ β€ π° u lia have bI : I β π n u := by have pβ
:= ββ_subset_ββ
pβ rw [ββ
_def] at pβ
; replace pβ
:= pβ
.2; contrapose! pβ
use u, (πβ_subset_πβ.trans πβ_subset_πβ) hu, plI.1.trans (subset_biUnion_of_mem pβ
) rw [π, mem_setOf, not_and] at bI; specialize bI Ilu rw [not_and, not_not] at bI; specialize bI (by lia); rw [β sI] at spu rcases spu.eq_or_lt with h | h Β· have hI : π p = I := by apply eq_of_le_of_not_lt plI; rw [Grid.lt_def, not_and_or, not_lt]; exact Or.inr h.symm.le rwa [β hI] at bI Β· apply subset_trans (ball_subset_ball' _) bI have ds : c (π p) β ball (c I) (4 * D ^ s I) := (plI.1.trans Grid_subset_ball) Grid.c_mem_Grid rw [mem_ball] at ds calc _ β€ 4 * D * (D : β) ^ π° p + 4 * D ^ s I := by gcongr Β· linarith [four_le_realD X] Β· exact ds.le _ = 4 * D ^ (π° p + 1) + 4 * D ^ s I := by rw [mul_assoc]; congr; rw [mul_comm, β zpow_add_oneβ (realD_pos _).ne'] _ β€ 4 * D ^ s I + 4 * D ^ s I := by gcongr Β· exact one_le_realD a Β· lia _ = _ := by ring