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

SelbergSieve.selbergWeights_mul_mu_nonneg

PrimeNumberTheoremAnd.Mathlib.NumberTheory.Sieve.Selberg · PrimeNumberTheoremAnd/Mathlib/NumberTheory/Sieve/Selberg.lean:96 to 114

Mathematical statement

Exact Lean statement

@[aesop safe]
theorem selbergWeights_mul_mu_nonneg (d : ℕ) (hdP : d ∣ P) :
    0 ≤ γ d * μ d

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[aesop safe]theorem selbergWeights_mul_mu_nonneg (d : ) (hdP : d ∣ P) :    0  γ d * μ d := by  dsimp only [selbergWeights]  rw [if_pos hdP, mul_assoc]  trans ((μ d :)^2 * (ν d)⁻¹ * g d * S⁻¹ * ∑ m  divisors P,          if (d * m) ^ 2  y  Coprime m d then g m else 0)  swap  · apply le_of_eq; ring  refine mul_nonneg (div_nonneg (mul_nonneg (mul_nonneg ?_ ?_) ?_) ?_) ?_  · apply sq_nonneg  · rw [inv_nonneg]    exact le_of_lt <| nu_pos_of_dvd_prodPrimes hdP  · exact le_of_lt <| selbergTerms_pos _ d hdP  · exact s.selbergBoundingSum_nonneg  apply sum_nonneg; intro m hm  split_ifs with h  · exact le_of_lt <| selbergTerms_pos _ m (dvd_of_mem_divisors hm)  · rfl