LeanPool.SelbergSieve4.Applications.PrimeCountingUpperBound #
theorem
PrimeUpperBound.prodDistinctPrimes_squarefree
(s : Finset ℕ)
(h : ∀ p ∈ s, Nat.Prime p)
:
Squarefree (∏ p ∈ s, p)
theorem
PrimeUpperBound.zeta_lt_self_of_prime
(p : ℕ)
:
Nat.Prime p → ↑ArithmeticFunction.zeta p < ↑p
Selberg sieve specialized to primes at most the real level y.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
PrimeUpperBound.prime_subset
(N : ℕ)
(y : ℝ)
:
Finset.filter Nat.Prime (Finset.range (N + 1)) ⊆ {d ∈ Finset.range (N + 1) | ∀ (p : ℕ), Nat.Prime p → ↑p ≤ y → ¬p ∣ d} ∪ Finset.Icc 1 ⌊y⌋₊
Predicate asserting that an arithmetic function is completely multiplicative.
Equations
Instances For
theorem
PrimeUpperBound.CompletelyMultiplicative.pmul
(f g : ArithmeticFunction ℝ)
(hf : CompletelyMultiplicative f)
(hg : CompletelyMultiplicative g)
:
CompletelyMultiplicative (f.pmul g)
theorem
PrimeUpperBound.CompletelyMultiplicative.pdiv
{f g : ArithmeticFunction ℝ}
(hf : CompletelyMultiplicative f)
(hg : CompletelyMultiplicative g)
:
CompletelyMultiplicative (f.pdiv g)
theorem
PrimeUpperBound.CompletelyMultiplicative.apply_pow
(f : ArithmeticFunction ℝ)
(hf : CompletelyMultiplicative f)
(a n : ℕ)
:
theorem
PrimeUpperBound.prod_factors_one_div_compMult_ge
(M : ℕ)
(f : ArithmeticFunction ℝ)
(hf : CompletelyMultiplicative f)
(hf_nonneg : ∀ (n : ℕ), 0 ≤ f n)
(d : ℕ)
(hd : Squarefree d)
(hf_size : ∀ (n : ℕ), Nat.Prime n → n ∣ d → f n < 1)
:
theorem
PrimeUpperBound.prod_factors_sum_pow_compMult
(M : ℕ)
(hM : M ≠ 0)
(f : ArithmeticFunction ℝ)
(hf : CompletelyMultiplicative f)
(d : ℕ)
(hd : Squarefree d)
:
theorem
PrimeUpperBound.selbergBoundingSum_ge_sum_div
(s : SelbergSieve)
(hP : ∀ (p : ℕ), Nat.Prime p → ↑p ≤ s.level → p ∣ s.prodPrimes)
(hnu : CompletelyMultiplicative s.nu)
(hnu_nonneg : ∀ (n : ℕ), 0 ≤ s.nu n)
(hnu_lt : ∀ (p : ℕ), Nat.Prime p → p ∣ s.prodPrimes → s.nu p < 1)
:
theorem
PrimeUpperBound.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
PrimeUpperBound.boundingSum_ge_log
(s : SelbergSieve)
(hnu : s.nu = (↑ArithmeticFunction.zeta).pdiv ↑ArithmeticFunction.id)
(hP : ∀ (p : ℕ), Nat.Prime p → ↑p ≤ s.level → p ∣ s.prodPrimes)
:
theorem
PrimeUpperBound.primeSieve_rem_sum_le
(N : ℕ)
(y : ℝ)
(hy : 1 ≤ y)
:
(∑ d ∈ (primeSieve N y hy).prodPrimes.divisors,
if ↑d ≤ y then 3 ^ ArithmeticFunction.cardDistinctFactors d * |(primeSieve N y hy).rem d| else 0) ≤ ↑2 * y * (1 + Real.log y) ^ 3