fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0
third_exception_rearrangement
Carleson.Discrete.ExceptionalSet · Carleson/Discrete/ExceptionalSet.lean:24 to 54
Source documentation
A rearrangement for Lemma 5.2.9 that does not require the tile structure.
Exact Lean statement
lemma third_exception_rearrangement :
(∑' n, ∑' k, if k ≤ n then ∑' (j : ℕ),
C5_2_9 X n * 2 ^ (9 * a - j : ℤ) * 2 ^ (n + k + 3) * volume G else 0) =
∑' k, 2 ^ (9 * a + 4 + 2 * k) * D ^ (1 - κ * Z * (k + 1)) * volume G *
∑' n, if k ≤ n then (2 * D ^ (-κ * Z) : ℝ≥0∞) ^ (n - k : ℝ) else 0Complete declaration
Lean source
Full Lean sourceLean 4
lemma third_exception_rearrangement : (∑' n, ∑' k, if k ≤ n then ∑' (j : ℕ), C5_2_9 X n * 2 ^ (9 * a - j : ℤ) * 2 ^ (n + k + 3) * volume G else 0) = ∑' k, 2 ^ (9 * a + 4 + 2 * k) * D ^ (1 - κ * Z * (k + 1)) * volume G * ∑' n, if k ≤ n then (2 * D ^ (-κ * Z) : ℝ≥0∞) ^ (n - k : ℝ) else 0 := by calc _ = ∑' n, ∑' k, if k ≤ n then C5_2_9 X n * 2 ^ (9 * a) * 2 ^ (n + k + 3) * volume G * ∑' (j : ℕ), 2 ^ (-j : ℤ) else 0 := by congr!; rw [← ENNReal.tsum_mul_left]; congr! 2 with j rw [← mul_rotate (2 ^ (-j : ℤ)), ← mul_assoc (2 ^ (-j : ℤ)), ← mul_assoc (2 ^ (-j : ℤ)), mul_rotate (2 ^ (-j : ℤ)), mul_assoc _ _ (2 ^ (-j : ℤ))]; congr rw [sub_eq_add_neg, ENNReal.zpow_add two_ne_zero (by simp)]; congr 1; norm_cast _ = ∑' k, ∑' n, if k ≤ n then C5_2_9 X n * 2 ^ (9 * a) * 2 ^ (n + k + 3) * volume G * 2 else 0 := by rw [ENNReal.tsum_comm]; congr!; exact ENNReal.sum_geometric_two_pow_neg_one _ = ∑' k, 2 ^ (9 * a + 4 + 2 * k) * D ^ (1 - κ * Z * (k + 1)) * volume G * ∑' n, if k ≤ n then (2 : ℝ≥0∞) ^ (n - k : ℝ) * D ^ (-κ * Z * (n - k)) else 0 := by congr! 2 with k; rw [← ENNReal.tsum_mul_left] congr! 2 with n; rw [mul_ite, mul_zero]; congr 1 have c1 : (C5_2_9 X n : ℝ≥0∞) = D ^ (1 - κ * Z * (k + 1)) * D ^ (-κ * Z * (n - k)) := by rw [C5_2_9, ENNReal.coe_rpow_of_ne_zero (by rw [defaultD]; positivity), ENNReal.coe_natCast, ← ENNReal.rpow_add _ _ (by rw [defaultD]; positivity) (by rw [defaultD]; simp)] congr; ring have c2 : (2 : ℝ≥0∞) ^ (n + k + 3) = 2 ^ (2 * k + 3) * 2 ^ (n - k : ℝ) := by rw [show (2 : ℝ≥0∞) ^ (2 * k + 3) = 2 ^ (2 * k + 3 : ℝ) by norm_cast, show (2 : ℝ≥0∞) ^ (n + k + 3) = 2 ^ (n + k + 3 : ℝ) by norm_cast, ← ENNReal.rpow_add _ _ two_ne_zero (by simp)] congr 1; ring rw [c1, c2]; ring _ = _ := by congr!; rw [ENNReal.rpow_mul, ENNReal.mul_rpow_of_ne_top (by simp) (by simp)]