Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0

Kadiri.zeroImagDyadicShellMassBoundSource_of_count_bound

PrimeNumberTheoremAnd.IEANTN.KadiriZeroCounting · PrimeNumberTheoremAnd/IEANTN/KadiriZeroCounting.lean:1519 to 1543

Source documentation

A dyadic shell-count source gives the dyadic mass bound.

Exact Lean statement

theorem zeroImagDyadicShellMassBoundSource_of_count_bound
    (hsrc : zeroImagDyadicShellCountBoundSource) :
    zeroImagDyadicShellMassBoundSource

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem zeroImagDyadicShellMassBoundSource_of_count_bound    (hsrc : zeroImagDyadicShellCountBoundSource) :    zeroImagDyadicShellMassBoundSource := by  rcases hsrc with C, hC_nonneg, hcount  refine C, hC_nonneg, ?_  intro k  have hmass := zeroHeightDyadicShellMass_le_count_inv_sq k  have hcountk := hcount k  have hsq_nonneg : 0  (((2 : ) ^ k)⁻¹) ^ (2 : ) := sq_nonneg _  have hmul :      (Nat.card {rho : NontrivialZeros // zeroHeightDyadicShell k rho} : ) *          (((2 : ) ^ k)⁻¹) ^ (2 : )         (C * ((k + 1 : ) : ) * ((2 : ) ^ k)) *          (((2 : ) ^ k)⁻¹) ^ (2 : ) := by    exact mul_le_mul_of_nonneg_right hcountk hsq_nonneg  have hpow_ne : (2 : ) ^ k  0 := pow_ne_zero k (by norm_num)  have hcancel :      (C * ((k + 1 : ) : ) * ((2 : ) ^ k)) *          (((2 : ) ^ k)⁻¹) ^ (2 : ) =        C * ((k + 1 : ) : ) * ((2 : )⁻¹) ^ k := by    rw [ inv_pow]    field_simp [hpow_ne]    rw [mul_assoc,  mul_pow]    norm_num  exact hmass.trans (hcancel ▸ hmul)