Documentation

PrimeNumberTheoremAnd.BrunTitchmarsh

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem BrunTitchmarsh.siftedSum_eq_card (x y z : ℝ) (hz : 1 ≤ z) :
    SelbergSieve.siftedSum = ↑{d ∈ Finset.Icc ⌈x⌉₊ ⌊x + y⌋₊ | ∀ (p : ℕ), Nat.Prime p → ↑p ≤ z → ¬p ∣ d}.card
    theorem BrunTitchmarsh.Ioc_filter_dvd_eq (d a b : ℕ) (hd : d ≠ 0) :
    {x ∈ Finset.Ioc a b | d ∣ x} = Finset.image (fun (x : ℕ) => x * d) (Finset.Ioc (a / d) (b / d))
    theorem BrunTitchmarsh.card_Ioc_filter_dvd (d a b : ℕ) (hd : d ≠ 0) :
    {x ∈ Finset.Ioc a b | d ∣ x}.card = b / d - a / d
    theorem BrunTitchmarsh.multSum_eq (x y z : ℝ) (hx : 0 < x) (hz : 1 ≤ z) (d : ℕ) (hd : d ≠ 0) :
    theorem BrunTitchmarsh.rem_eq (x y z : ℝ) (hx : 0 < x) (hz : 1 ≤ z) (d : ℕ) (hd : d ≠ 0) :
    SelbergSieve.rem d = ↑(⌊x + y⌋₊ / d - (⌈x⌉₊ - 1) / d) - (↑d)⁻¹ * y
    theorem BrunTitchmarsh.floor_approx (x : ℝ) (hx : 0 ≤ x) :
    ∃ (C : ℝ), |C| ≤ 1 ∧ ↑⌊x⌋₊ = x + C
    theorem BrunTitchmarsh.ceil_approx (x : ℝ) (hx : 0 ≤ x) :
    ∃ (C : ℝ), |C| ≤ 1 ∧ ↑⌈x⌉₊ = x + C
    theorem BrunTitchmarsh.nat_div_approx (a b : ℕ) :
    ∃ (C : ℝ), |C| ≤ 1 ∧ ↑(a / b) = ↑a / ↑b + C
    theorem BrunTitchmarsh.floor_div_approx (x : ℝ) (hx : 0 ≤ x) (d : ℕ) :
    ∃ (C : ℝ), |C| ≤ 2 ∧ ↑(⌊x⌋₊ / d) = x / ↑d + C
    theorem BrunTitchmarsh.abs_rem_le (x y z : ℝ) (hx : 0 < x) (hy : 0 < y) (hz : 1 ≤ z) {d : ℕ} (hd : d ≠ 0) :
    theorem BrunTitchmarsh.primeSieve_rem_sum_le (x y z : ℝ) (hx : 0 < x) (hy : 0 < y) (hz : 1 ≤ z) :
    theorem BrunTitchmarsh.siftedSum_le (x y z : ℝ) (hx : 0 < x) (hy : 0 < y) (hz : 1 < z) :
    theorem BrunTitchmarsh.primesBetween_le (x y z : ℝ) (hx : 0 < x) (hy : 0 < y) (hz : 1 < z) :
    ↑(primesBetween x (x + y)) ≤ 2 * y / Real.log z + 6 * z * (1 + Real.log z) ^ 3
    theorem BrunTitchmarsh.tmp (N : ℕ) :
    ↑(Finset.filter Nat.Prime (Finset.range N)).card ≤ 4 * (↑N / Real.log ↑N) + 6 * (↑N ^ (1 / 2) * (1 + 1 / 2 * Real.log ↑N) ^ 3)
    theorem BrunTitchmarsh.rpow_mul_rpow_log_isBigO_id_div_log (k : ℝ) {r : ℝ} (hr : r < 1) :
    (fun (x : ℝ) => x ^ r * Real.log x ^ k) =O[Filter.atTop] fun (x : ℝ) => x / Real.log x
    theorem BrunTitchmarsh.err_isBigO :
    (fun (x : ℝ) => x ^ (1 / 2) * (1 + 1 / 2 * Real.log x) ^ 3) =O[Filter.atTop] fun (x : ℝ) => x / Real.log x
    theorem BrunTitchmarsh.prime_or_pow (N n : ℕ) (hnN : n < N) (hnprime : IsPrimePow n) :
    Nat.Prime n ∨ ∃ (m : ℕ), ↑m < √↑N ∧ ∃ k ≤ Nat.log 2 N, n = m ^ k
    theorem BrunTitchmarsh.IsBigO.nat_Top_of_atTop (f g : ℕ → ℝ) (h : f =O[Filter.atTop] g) (h0 : ∀ (n : ℕ), g n = 0 → f n = 0) :
    theorem BrunTitchmarsh.pows_small_primes_le (N : ℕ) :
    ↑(Finset.image (fun (p : ℕ × ℕ) => p.1 ^ p.2) (Finset.Ico 1 ⌈√↑N⌉₊ ×ˢ Finset.range (Nat.log 2 N + 1))).card ≤ ↑N ^ (1 / 2) * (1 + Real.log ↑N / Real.log 2)
    theorem BrunTitchmarsh.card_pows_aux :
    (fun (N : ℕ) => ↑(Finset.image (fun (p : ℕ × ℕ) => p.1 ^ p.2) (Finset.Ico 1 ⌈√↑N⌉₊ ×ˢ Finset.range (Nat.log 2 N + 1))).card) =O[Filter.atTop] fun (N : ℕ) => ↑N / Real.log ↑N