fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
tree_count
Carleson.Discrete.ExceptionalSet Β· Carleson/Discrete/ExceptionalSet.lean:660 to 679
Source documentation
Lemma 5.2.8
Exact Lean statement
lemma tree_count :
stackSize (πβ k n j) x β€ (2 : β) ^ (9 * a - j : β€) * stackSize (π k n) xComplete declaration
Lean source
Full Lean sourceLean 4
lemma tree_count : stackSize (πβ k n j) x β€ (2 : β) ^ (9 * a - j : β€) * stackSize (π k n) x := by classical -- When calculating the LHS, we need only sum over those `u` for which `x β π u`. have : β u β univ.filter (Β· β πβ (X := X) k n j), (π u : Set X).indicator (1 : X β β) x = β u β (πβ k n j).toFinset.filter (x β π Β·), (π u : Set X).indicator (1 : X β β) x := by rw [filter_mem_univ_eq_toFinset (πβ k n j), sum_filter] exact sum_congr rfl <| fun u _ β¦ by simp [Membership.mem] rw [stackSize_real, this] -- Use inequality (5.2.20) to bound the LHS by a double sum, then interchange the sums. apply le_trans (sum_le_sum indicator_le) simp_rw [β mul_sum, stackSize_real, mem_coe, filter_univ_mem, interchange, sum_const] let _ : PosMulReflectLE β := inferInstance -- perf: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/performance.20example.20with.20type-class.20inference -- Replace the cardinality of `π` with the upper bound proven in `card_πm_le`, and simplify. apply le_of_le_of_eq <| (mul_le_mul_iff_rightβ (zpow_pos two_pos _)).mpr <| sum_le_sum <| fun _ _ β¦ smul_le_smul_of_nonneg_right card_πm_le <| Set.indicator_apply_nonneg (by simp) simp_rw [β smul_sum, nsmul_eq_mul, β mul_assoc, filter_mem_univ_eq_toFinset (π k n), defaultA] rw [sub_eq_add_neg, zpow_addβ two_ne_zero, β pow_mul, mul_comm 9, mul_comm (2 ^ _)] norm_cast