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

top_tiles

Carleson.Discrete.ExceptionalSet ยท Carleson/Discrete/ExceptionalSet.lean:477 to 514

Source documentation

Lemma 5.2.7

Exact Lean statement

lemma top_tiles : โˆ‘ m with m โˆˆ ๐” (X := X) k n, volume (๐“˜ m : Set X) โ‰ค
    2 ^ (n + k + 3) * volume G

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma top_tiles : โˆ‘ m with m โˆˆ ๐” (X := X) k n, volume (๐“˜ m : Set X) โ‰ค    2 ^ (n + k + 3) * volume G := by  set M := ๐” (X := X) k n  let Mc := M.toFinset.card  calc    _ = โˆซโป t in Ioc 0 (Mc * 2 ^ (n + 1) : โ„), layervol (X := X) k n t := top_tiles_aux    _ = โˆ‘ l โˆˆ Finset.range Mc,        โˆซโป t in Ioc ((l : โ„) * 2 ^ (n + 1)) ((l + 1 : โ„•) * 2 ^ (n + 1)),          layervol (X := X) k n t := by      rw [Finset.range_eq_Ico, show (0 : โ„) = (0 : โ„•) * 2 ^ (n + 1) by simp]      exact lintegral_Ioc_partition (by positivity)    _ โ‰ค โˆ‘ l โˆˆ Finset.range Mc,        (((l + 1) * 2 ^ (n + 1) - l * 2 ^ (n + 1) : โ„•)) *          layervol (X := X) k n ((l * 2 ^ (n + 1) : โ„•) + 1) := by      convert! Finset.sum_le_sum fun _ _ โ†ฆ lintegral_Ioc_layervol_le <;> simp    _ = 2 ^ (n + 1) * โˆ‘ l โˆˆ Finset.range Mc, layervol (X := X) k n (l * 2 ^ (n + 1) + 1 : โ„•) := by      rw [Finset.mul_sum]; congr! 2      ยท rw [โ† Nat.mul_sub_right_distrib]; simp      ยท congr; simp    _ = 2 ^ (n + 1) * โˆ‘ l โˆˆ Finset.range Mc, volume (setA (X := X) l k n) := by      unfold layervol setA stackSize; congr! 3; ext x      rw [mem_setOf, mem_setOf, indicator_sum_eq_natCast, Nat.cast_le]      exact Nat.add_one_le_iff    _ โ‰ค 2 ^ (n + 1) * โˆ‘ l โˆˆ Finset.range Mc, 2 ^ (k + 1 - l : โ„ค) * volume G :=      mul_le_mul_right (Finset.sum_le_sum fun _ _ โ†ฆ john_nirenberg) _    _ โ‰ค 2 ^ (n + 1) * โˆ‘' (l : โ„•), 2 ^ (k + 1 - l : โ„ค) * volume G :=      mul_le_mul_right (ENNReal.sum_le_tsum _) _    _ = 2 ^ (n + 1) * (volume G * 2 ^ (k + 1) * 2) := by      conv_lhs =>        enter [2, 1, l]        rw [sub_eq_add_neg, ENNReal.zpow_add (by simp) (by simp), โ† mul_rotate]      rw [ENNReal.tsum_mul_left]; congr 3      ยท norm_cast      ยท exact ENNReal.sum_geometric_two_pow_neg_one    _ = _ := by      nth_rw 3 [โ† pow_one 2]      rw [mul_rotate, โ† pow_add, โ† mul_assoc, โ† pow_add,        show n + 1 + (k + 1 + 1) = n + k + 3 by lia]