fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
TileStructure.Forest.moderate_scale_change
Carleson.ForestOperator.LargeSeparation Β· Carleson/ForestOperator/LargeSeparation.lean:206 to 233
Source documentation
Lemma 7.5.3 (stated somewhat differently).
Exact Lean statement
lemma moderate_scale_change (hJ : J β πβ
t uβ uβ) (hJ' : J' β πβ
t uβ uβ)
(hd : Β¬Disjoint (ball (c J) (8 * D ^ s J)) (ball (c J') (8 * D ^ s J'))) :
s J - 1 β€ s J'Complete declaration
Lean source
Full Lean sourceLean 4
lemma moderate_scale_change (hJ : J β πβ
t uβ uβ) (hJ' : J' β πβ
t uβ uβ) (hd : Β¬Disjoint (ball (c J) (8 * D ^ s J)) (ball (c J') (8 * D ^ s J'))) : s J - 1 β€ s J' := by by_contra! hs have fa : β p β t.πβ uβ uβ, Β¬β(π p) β ball (c J) (100 * D ^ (s J + 1)) := hJ.1.1.resolve_left (by linarith [(scale_mem_Icc (i := J')).1]) apply absurd fa; push Not obtain β¨J'', sJ'', lJ''β© : β J'', s J'' = s J' + 1 β§ J' β€ J'' := by refine Grid.exists_supercube (s J' + 1) β¨by lia, ?_β© rw [lt_sub_iff_add_lt] at hs; exact hs.le.trans scale_mem_Icc.2 obtain β¨p, mp, spβ© : β p β t.πβ uβ uβ, β(π p) β ball (c J'') (100 * D ^ (s J' + 1 + 1)) := by have : J'' β πβ (t.πβ uβ uβ) := bigger_than_π_is_not_in_πβ lJ'' (by linarith) hJ'.1 rw [πβ, mem_setOf_eq, sJ''] at this; push Not at this; exact this.2 use p, mp, sp.trans (ball_subset_ball' ?_) calc _ β€ 100 * D ^ (s J' + 1 + 1) + (dist (c J'') (c J') + dist (c J) (c J')) := add_le_add_right (dist_triangle_right ..) _ _ β€ 100 * D ^ (s J' + 1 + 1) + (4 * D ^ s J'' + 8 * D ^ s J + 8 * D ^ s J') := by rw [add_assoc (4 * _)]; gcongr Β· exact (mem_ball'.mp (Grid_subset_ball (lJ''.1 Grid.c_mem_Grid))).le Β· exact (dist_lt_of_not_disjoint_ball hd).le _ β€ 100 * D ^ s J + (4 * D ^ s J + 8 * D ^ s J + 8 * D ^ s J) := by gcongr; exacts [one_le_realD a, by lia, one_le_realD a, by lia, one_le_realD a, by lia] _ β€ _ := by rw [β add_mul, β add_mul, β add_mul, zpow_add_oneβ (by simp), mul_comm _ (D : β), β mul_assoc] gcongr; trans 100 * 4 Β· norm_num Β· gcongr; exact four_le_realD X