fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
lintegral_carlesonSum_πβ_compl_le_sum_aux1
Carleson.Discrete.ForestComplement Β· Carleson/Discrete/ForestComplement.lean:947 to 1031
Mathematical statement
Exact Lean statement
lemma lintegral_carlesonSum_πβ_compl_le_sum_aux1 [ProofData a q K Οβ Οβ F G] {N : β} :
β x β€ N,
(((12 + 8 * Z) * x ^ 0 + (19 + 20 * Z) * x ^ 1 + (7 + 16 * Z) * x ^ 2 + (4 * Z) * x ^ 3) *
(2 : β) ^ (-((q - 1) / (8 * βa ^ 4) * x : β))) β€ 2 ^ (28 * a + 20) / (q - 1) ^ 4Complete declaration
Lean source
Full Lean sourceLean 4
lemma lintegral_carlesonSum_πβ_compl_le_sum_aux1 [ProofData a q K Οβ Οβ F G] {N : β} : β x β€ N, (((12 + 8 * Z) * x ^ 0 + (19 + 20 * Z) * x ^ 1 + (7 + 16 * Z) * x ^ 2 + (4 * Z) * x ^ 3) * (2 : β) ^ (-((q - 1) / (8 * βa ^ 4) * x : β))) β€ 2 ^ (28 * a + 20) / (q - 1) ^ 4 := by simp only [add_mul _ _ ((2 : β) ^ (_ : β)), Finset.sum_add_distrib] simp only [mul_assoc, β Finset.mul_sum] simp only [β mul_assoc] have : 0 < q - 1 := by linarith [one_lt_q X] have : 0 < a := a_pos X have : q β€ 2 := q_le_two X have : (4 : β) β€ a := mod_cast (four_le_a X) have P : 0 < (q - 1) / (8 * βa ^ 4) := by positivity have : 0.69 β€ Real.log 2 := le_trans (by norm_num) Real.log_two_gt_d9.le have : (1 : β) β€ Z / 2 ^ 48 := by rw [one_le_div (by positivity)] simp only [defaultZ, Nat.cast_pow, Nat.cast_ofNat] gcongr Β· exact one_le_two Β· linarith [four_le_a X] calc (12 + 8 * βZ) * β i β€ N, βi ^ 0 * (2 : β) ^ (-((q - 1) / (8 * a ^ 4) * i)) + (19 + 20 * βZ) * β i β€ N, βi ^ 1 * 2 ^ (-((q - 1) / (8 * a ^ 4) * i)) + (7 + 16 * βZ) * β i β€ N, βi ^ 2 * 2 ^ (-((q - 1) / (8 * a ^ 4) * i)) + (4 * βZ) * β i β€ N, βi ^ 3 * 2 ^ (-((q - 1) / (8 * a ^ 4) * i)) _ β€ (12 + 8 * βZ) * ((2 : β) ^ ((q - 1) / (8 * a ^ 4)) * 0 ! / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ (0 + 1)) + (19 + 20 * βZ) * ((2 : β) ^ ((q - 1) / (8 * a ^ 4)) * 1 ! / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ (1 + 1)) + (7 + 16 * βZ) * ((2 : β) ^ ((q - 1) / (8 * a ^ 4)) * 2 ! / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ (2 + 1)) + (4 * βZ) * ((2 : β) ^ ((q - 1) / (8 * a ^ 4)) * 3 ! / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ (3 + 1)) := by gcongr <;> apply sum_Iic_pow_mul_two_pow_neg_le P _ = (2 : β) ^ ((q - 1) / (8 * a ^ 4)) * ( (12 + 8 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) + (19 + 20 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 2 + (14 + 32 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 3 + (24 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 4) := by simp only [Nat.cast_ofNat, Nat.factorial, Nat.cast_one, mul_one, zero_add, pow_one, Nat.succ_eq_add_one, Nat.reduceAdd, Nat.reduceMul] ring _ β€ (2 : β) ^ (1 : β) * ( (12 + 8 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) + (19 + 20 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 2 + (14 + 32 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 3 + (24 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 4) := by gcongr Β· exact one_le_two Β· apply div_le_one_of_leβ _ (by positivity) have : 8 * (4 : β) ^ 4 β€ 8 * a ^ 4 := by gcongr linarith _ = (24 + 16 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) + (38 + 40 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 2 + (28 + 64 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 3 + (48 * βZ) / (Real.log 2 * ((q - 1) / (8 * a ^ 4))) ^ 4 := by simp only [Real.rpow_one] ring _ = ((8 * a ^ 4) / (q - 1)) ^ 4 * (((q - 1) / (8 * a ^ 4)) ^ 3 * (24 * 1 + 16 * βZ) / Real.log 2 + ((q - 1) / (8 * a ^ 4)) ^ 2 * (38 * 1 + 40 * βZ) / (Real.log 2) ^ 2 + ((q - 1) / (8 * a ^ 4)) * (28 * 1 + 64 * βZ) / (Real.log 2) ^ 3 + (48 * βZ) / (Real.log 2) ^ 4) := by field_simp _ β€ ((8 * a ^ 4) / (q - 1)) ^ 4 * (((2 - 1) / (8 * 4 ^ 4)) ^ 3 * (24 * (Z / 2 ^ 48) + 16 * βZ) / 0.69 + ((2 - 1) / (8 * 4 ^ 4)) ^ 2 * (38 * (Z / 2 ^ 48) + 40 * βZ) / 0.69 ^ 2 + ((2 - 1) / (8 * 4 ^ 4)) * (28 * (Z / 2 ^ 48) + 64 * βZ) / 0.69 ^ 3 + (48 * βZ) / 0.69 ^ 4) := by gcongr _ = a ^ 16 / (q - 1) ^ 4 * Z * (8 ^ 4 * (((2 - 1) / (8 * 4 ^ 4)) ^ 3 * (24 * (1 / 2 ^ 48) + 16) / 0.69 + ((2 - 1) / (8 * 4 ^ 4)) ^ 2 * (38 * (1 / 2 ^ 48) + 40) / 0.69 ^ 2 + ((2 - 1) / (8 * 4 ^ 4)) * (28 * (1 / 2 ^ 48) + 64) / 0.69 ^ 3 + 48 / 0.69 ^ 4)) := by rw [div_pow]; ring _ β€ a ^ 16 / (q - 1) ^ 4 * Z * 2 ^ 20 := by gcongr; norm_num _ β€ (2 ^ a) ^ 16 / (q - 1) ^ 4 * Z * 2 ^ 20 := by gcongr exact_mod_cast (Nat.lt_pow_self one_lt_two).le _ = (2 ^ (16 * a) * 2 ^ (12 * a) * 2 ^ 20) / (q - 1) ^ 4 := by simp [β pow_mul, mul_comm a] ring _ = 2 ^ (28 * a + 20) / (q - 1) ^ 4 := by simp only [β pow_add] congr lia