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

Grid.dist_strictMono

Carleson.GridStructure · Carleson/GridStructure.lean:397 to 431

Source documentation

Stronger version of Lemma 2.1.2.

Exact Lean statement

lemma dist_strictMono {I J : Grid X} (hpq : I < J) {f g : Θ X} :
    dist_{I} f g ≤ C2_1_2 a * dist_{J} f g

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma dist_strictMono {I J : Grid X} (hpq : I < J) {f g : Θ X} :    dist_{I} f g  C2_1_2 a * dist_{J} f g := by  calc    _  dist_{c I, 4 * D ^ s I} f g :=      cdist_mono (ball_subset_ball (by simp_rw [div_eq_inv_mul, defaultD]; gcongr; norm_num))    _  2 ^ (-𝕔 * (a : )) * dist_{c I, 4 * D ^ (s I + 1)} f g := by      rw [ div_le_iff₀' (by positivity), neg_mul, Real.rpow_neg zero_le_two, div_inv_eq_mul, mul_comm]      convert! le_cdist_iterate (x := c I) (r := 4 * D ^ s I) (by positivity) f g (𝕔 * a) using 1      · norm_cast      · apply dist_congr rfl        have : (defaultA a : ) ^ (𝕔 * a) = D := by          simp only [defaultD, Nat.cast_pow, Nat.cast_ofNat]          rw [ pow_mul]; congr 1; ring        rw [this, zpow_add_one₀ (realD_pos a).ne']; ring    _  2 ^ (-𝕔 * (a : )) * dist_{c I, 4 * D ^ s J} f g := by      gcongr      have : s I < s J := (Grid.lt_def.mp hpq).2      apply cdist_mono      gcongr      · exact one_le_realD _      · lia    _  2 ^ (-𝕔 * (a : )) * dist_{c J, 8 * D ^ s J} f g := by      gcongr      have : c I  ball (c J) (4 * D ^ s J) :=        mem_of_mem_of_subset c_mem_Grid ((Grid.lt_def.mp hpq).1.trans Grid_subset_ball)      rw [mem_ball] at this      exact cdist_mono (ball_subset_ball' (by linarith))    _  2 ^ (-𝕔 * (a : ) + 5 * a) * dist_{J} f g := by      rw [Real.rpow_add zero_lt_two, mul_assoc]      gcongr      rw [show (2 : ) ^ (5 * (a : )) = (defaultA a) ^ 5 by norm_cast; ring]      convert! cdist_le_iterate _ f g 5 using 1      · exact dist_congr rfl (by ring)      · have := one_le_realD a; positivity    _ = _ := by congr 1; rw [C2_1_2,  add_mul]