fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
TileStructure.Forest.limited_scale_impact_second_estimate
Carleson.ForestOperator.LargeSeparation Β· Carleson/ForestOperator/LargeSeparation.lean:909 to 970
Source documentation
Part of Lemma 7.5.6.
Exact Lean statement
lemma limited_scale_impact_second_estimate (hp : p β t uβ \ πβ t uβ uβ) (hJ : J β πβ
t uβ uβ)
(h : Β¬Disjoint (ball (π p) (8 * D ^ π° p)) (ball (c J) (8β»ΒΉ * D ^ s J))) :
π° p β€ s J + 3Complete declaration
Lean source
Full Lean sourceLean 4
lemma limited_scale_impact_second_estimate (hp : p β t uβ \ πβ t uβ uβ) (hJ : J β πβ
t uβ uβ) (h : Β¬Disjoint (ball (π p) (8 * D ^ π° p)) (ball (c J) (8β»ΒΉ * D ^ s J))) : π° p β€ s J + 3 := by by_contra! three have β¨J', belongs, plusOneβ© : β J', J β€ J' β§ s J' = s J + 1 := Grid.exists_scale_succ (by change s J < π° p; linarith) have β¨p', β¨_, distanceβ©, hundredβ© : β p' β t.πβ uβ uβ, β(π p') β ball (c J') (100 * D ^ (s J + 2)) := by rw [β one_add_one_eq_two, β add_assoc, β plusOne] have J'Touchesπβ : J' β πβ (t.πβ uβ uβ) := bigger_than_π_is_not_in_πβ (le := belongs) (sle := by linarith [plusOne]) (A_in := hJ.1) rw [πβ, Set.notMem_setOf_iff] at J'Touchesπβ push Not at J'Touchesπβ exact J'Touchesπβ.right apply calculation_9 (X := X) apply one_le_of_le_mul_rightβ (b := 2 ^ ((Z : β) * n / 2)) (by positivity) have DIsPos := realD_pos a calc 2 ^ ((Z : β) * (n : β) / 2) _ β€ dist_{π p'} (π¬ uβ) (π¬ uβ) := by exact distance _ β€ dist_{c J', 100 * D ^ (s J + 2)} (π¬ uβ) (π¬ uβ) := by apply cdist_mono intros x hx exact hundred (ball_subset_Grid hx) _ β€ 2 ^ ((-π : β) * a) * dist_{c J', 100 * D^(s J + 3)} (π¬ uβ) (π¬ uβ) := by apply calculation_8 rw [mul_comm, calculation_6 a (s J), calculation_7 a (s J)] exact_mod_cast le_cdist_iterate (k := π * a) (f := π¬ uβ) (g := π¬ uβ) (hr := by positivity) _ β€ 2 ^ ((-π : β) * a) * dist_{π p, 10 * D^(π° p)} (π¬ uβ) (π¬ uβ) := by gcongr apply cdist_mono simp only [not_disjoint_iff] at h rcases h with β¨middleX, lt_2, lt_3β© have lt_4 := Grid.dist_c_le_of_subset belongs.left intros x lt_1 calc dist x (π p) _ β€ dist x (c J') + dist (c J') (c J) + dist (c J) middleX + dist middleX (π p) := by exact dist_triangle5 x (c J') (c J) middleX (π p) _ < 10 * D ^ π° p := by simp only [mem_ball] at lt_3 rw [dist_comm] at lt_3 lt_4 exact calculation_4 (lt_1 := lt_1) (lt_2 := lt_2) (lt_3 := lt_3) (lt_4 := lt_4) (three := three) (plusOne := plusOne) (X := X) _ β€ 2 ^ ((-(π - 6) : β) * a) * dist_{π p} (π¬ uβ) (π¬ uβ) := by apply calculation_5 have bigger : 0 < (D : β) ^ π° p / 4 := by positivity calc dist_{π p, 10 * D^(π° p)} (π¬ uβ) (π¬ uβ) _ β€ dist_{π p, 2 ^ 6 * (D ^ π° p / 4)} (π¬ uβ) (π¬ uβ) := by apply cdist_mono apply ball_subset_ball ring_nf linarith _ β€ (2 ^ (a : β)) ^ (6 : β) * dist_{π p, (D ^ π° p / 4)} (π¬ uβ) (π¬ uβ) := mod_cast cdist_le_iterate (f := (π¬ uβ)) (g := (π¬ uβ)) (r := (D ^ (π° p)) / 4) (k := 6) (x := π p) bigger _ β€ 2 ^ ((-(π - 6) : β) * a) * 2 ^ ((Z : β) * n / 2) := by rcases hp with β¨tile, notInπββ© unfold πβ at notInπβ simp only [mem_setOf_eq, not_or, not_and, sep_union, mem_union] at notInπβ gcongr apply le_of_not_ge exact notInπβ.2 tile