Bounds for the Selberg sieve #
This file proves a number of results to help bound Sieve.selbergSum
Main Results #
selbergBoundingSum_ge_sum_div
: Ifν
is completely multiplicative thenS ≥ ∑_{n ≤ √y}, ν n
boundingSum_ge_log
: Ifν n = 1 / n
thenS ≥ log y / 2
rem_sum_le_of_const
: IfR_d ≤ C
then the error term is at mostC * y * (1 + log y)^3
theorem
Sieve.prodDistinctPrimes_squarefree
(s : Finset ℕ)
(h : ∀ p ∈ s, Nat.Prime p)
:
Squarefree (∏ p ∈ s, p)
Instances For
theorem
Sieve.CompletelyMultiplicative.pmul
(f : ArithmeticFunction ℝ)
(g : ArithmeticFunction ℝ)
(hf : Sieve.CompletelyMultiplicative f)
(hg : Sieve.CompletelyMultiplicative g)
:
Sieve.CompletelyMultiplicative (f.pmul g)
theorem
Sieve.CompletelyMultiplicative.pdiv
{f : ArithmeticFunction ℝ}
{g : ArithmeticFunction ℝ}
(hf : Sieve.CompletelyMultiplicative f)
(hg : Sieve.CompletelyMultiplicative g)
:
Sieve.CompletelyMultiplicative (f.pdiv g)
theorem
Sieve.CompletelyMultiplicative.isMultiplicative
{f : ArithmeticFunction ℝ}
(hf : Sieve.CompletelyMultiplicative f)
:
f.IsMultiplicative
theorem
Sieve.CompletelyMultiplicative.apply_pow
(f : ArithmeticFunction ℝ)
(hf : Sieve.CompletelyMultiplicative f)
(a : ℕ)
(n : ℕ)
:
theorem
Sieve.prod_factors_one_div_compMult_ge
(M : ℕ)
(f : ArithmeticFunction ℝ)
(hf : Sieve.CompletelyMultiplicative f)
(hf_nonneg : ∀ (n : ℕ), 0 ≤ f n)
(d : ℕ)
(hd : Squarefree d)
(hf_size : ∀ (n : ℕ), Nat.Prime n → n ∣ d → f n < 1)
:
theorem
Sieve.prod_factors_sum_pow_compMult
(M : ℕ)
(hM : M ≠ 0)
(f : ArithmeticFunction ℝ)
(hf : Sieve.CompletelyMultiplicative f)
(d : ℕ)
(hd : Squarefree d)
:
∏ p ∈ d.primeFactors, ∑ n ∈ Finset.Icc 1 M, f (p ^ n) = ∑ m ∈ Finset.filter (fun (x : ℕ) => d ∣ x) (d ^ M).divisors, f m
theorem
Sieve.Nat.squarefree_dvd_pow
(a : ℕ)
(b : ℕ)
(N : ℕ)
(ha : Squarefree a)
(hab : a ∣ b ^ N)
:
a ∣ b
theorem
Sieve.selbergBoundingSum_ge_sum_div
(s : SelbergSieve)
(hP : ∀ (p : ℕ), Nat.Prime p → ↑p ≤ s.level → p ∣ s.prodPrimes)
(hnu : Sieve.CompletelyMultiplicative s.nu)
(hnu_nonneg : ∀ (n : ℕ), 0 ≤ s.nu n)
(hnu_lt : ∀ (p : ℕ), Nat.Prime p → p ∣ s.prodPrimes → s.nu p < 1)
:
s.selbergBoundingSum ≥ ∑ m ∈ Finset.Icc 1 ⌊√s.level⌋₊, s.nu m
theorem
Sieve.boundingSum_ge_sum
(s : SelbergSieve)
(hnu : s.nu = (↑ArithmeticFunction.zeta).pdiv ↑ArithmeticFunction.id)
(hP : ∀ (p : ℕ), Nat.Prime p → ↑p ≤ s.level → p ∣ s.prodPrimes)
:
theorem
Sieve.boundingSum_ge_log
(s : SelbergSieve)
(hnu : s.nu = (↑ArithmeticFunction.zeta).pdiv ↑ArithmeticFunction.id)
(hP : ∀ (p : ℕ), Nat.Prime p → ↑p ≤ s.level → p ∣ s.prodPrimes)
: