Documentation

LeanPool.PartialRegularity.Extension

Irregular primes and Bernoulli numbers (extension) #

This file proves a variant of the main result with an explicit constant: the count of odd primes p ≤ X that are not M_α(p)-regular is bounded by 10 · X / (log X)^(2α).

A prime p is m-regular if it has no Bernoulli numerator divisor in range.

Equations
Instances For
    noncomputable def LeanPool.PartialRegularity.Extension.MAlpha (α : ) (p : ) :

    The cutoff M_α(p) = ⌊sqrt p / (log p)^α⌋.

    Equations
    Instances For

      The set of irregular primes up to X for the cutoff M_α.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        A uniform upper bound for the relevant M_α(p) values with p ≤ X.

        Equations
        Instances For
          noncomputable def LeanPool.PartialRegularity.Extension.AK (α : ) (X k : ) :

          Primes counted at a fixed Bernoulli index k in the double-counting argument.

          Equations
          Instances For

            The explicit constant used for the Bernoulli-factor counting bound.

            Equations
            Instances For
              theorem LeanPool.PartialRegularity.Extension.sorted_primes_get_ge (l : List ) (hsort : l.SortedLT) (hge2 : xl, 2 x) (i : Fin l.length) :
              i + 2 l.get i
              theorem LeanPool.PartialRegularity.Extension.rat_num_natAbs_le_of_abs_le_and_den_dvd {q : } {M D : } (hM : |q| M) (hD : q.den D) (hpos : 0 < D) :
              q.num.natAbs M * D
              theorem LeanPool.PartialRegularity.Extension.two_mul_factorial_sq_le_pow (k : ) (hk : 1 k) :
              2 * (2 * k + 1).factorial ^ 2 (2 * k + 1) ^ (4 * k + 3)
              theorem LeanPool.PartialRegularity.Extension.sum_bernoulli_eq_neg_mul (k : ) (hk : 2 k) :
              jFinset.range (2 * k), ((2 * k + 1).choose j) * bernoulli j = -↑(2 * k + 1) * bernoulli (2 * k)
              theorem LeanPool.PartialRegularity.Extension.den_sum_dvd_of_each_den_dvd {n : } {f : } {D : } (_hD : 0 < D) (hf : j < n, (f j).den D) :
              (∑ jFinset.range n, f j).den D
              theorem LeanPool.PartialRegularity.Extension.term_vanishes_for_odd_gt_one (k j : ) (hj_odd : Odd j) (hj_gt : 1 < j) :
              ((2 * k + 1).choose j) * bernoulli j = 0
              theorem LeanPool.PartialRegularity.Extension.term_even_den_dvd (k m : ) (_hk : 2 k) (_hm_ge : 1 m) (hm_lt : m < k) (ih : (bernoulli (2 * m)).den (2 * m + 1).factorial) :
              (((2 * k + 1).choose (2 * m)) * bernoulli (2 * m)).den (2 * k).factorial
              theorem LeanPool.PartialRegularity.Extension.each_term_den_dvd_factorial (k : ) (hk : 2 k) (ih : ∀ (m : ), 1 mm < k(bernoulli (2 * m)).den (2 * m + 1).factorial) (j : ) (hj : j < 2 * k) :
              (((2 * k + 1).choose j) * bernoulli j).den (2 * k).factorial
              theorem LeanPool.PartialRegularity.Extension.den_mul_factor_bernoulli_dvd_factorial (k : ) (hk : 2 k) (ih : ∀ (m : ), 1 mm < k(bernoulli (2 * m)).den (2 * m + 1).factorial) :
              (↑(2 * k + 1) * bernoulli (2 * k)).den (2 * k).factorial
              theorem LeanPool.PartialRegularity.Extension.bernoulli_den_dvd_factorial_step (k : ) (hk : 2 k) (ih : ∀ (m : ), 1 mm < k(bernoulli (2 * m)).den (2 * m + 1).factorial) :
              (bernoulli (2 * k)).den (2 * k + 1).factorial
              theorem LeanPool.PartialRegularity.Extension.denom_ge_one (k : ) (_hk : 1 k) :
              1 2 ^ (2 * k - 1) * Real.pi ^ (2 * k)
              theorem LeanPool.PartialRegularity.Extension.bernoulli_eq_zeta_formula (k : ) (hk : 1 k) :
              (bernoulli (2 * k)) = ((-1) ^ (k + 1) * (2 * k).factorial * ∑' (n : ), 1 / n ^ (2 * k)) / (2 ^ (2 * k - 1) * Real.pi ^ (2 * k))
              theorem LeanPool.PartialRegularity.Extension.bernoulli_abs_le_formula (k : ) (hk : 1 k) :
              |(bernoulli (2 * k))| (2 * k).factorial * (Real.pi ^ 2 / 6) / (2 ^ (2 * k - 1) * Real.pi ^ (2 * k))
              theorem LeanPool.PartialRegularity.Extension.formula_le_two_mul_factorial (k : ) (hk : 1 k) :
              (2 * k).factorial * (Real.pi ^ 2 / 6) / (2 ^ (2 * k - 1) * Real.pi ^ (2 * k)) 2 * (2 * k).factorial
              theorem LeanPool.PartialRegularity.Extension.rpow_div_log_monotoneOn (α : ) ( : 0 < α) :
              MonotoneOn (fun (x : ) => x ^ (1 / (2 * α)) / Real.log x) {x : | Real.exp (2 * α) x}
              theorem LeanPool.PartialRegularity.Extension.rpow_div_log_pow_eq_sqrt_div_log_pow (α : ) ( : 0 < α) (x : ) (hx : 0 < x) (hlogx_pos : 0 < Real.log x) :
              (x ^ (1 / (2 * α)) / Real.log x) ^ α = x / Real.log x ^ α
              theorem LeanPool.PartialRegularity.Extension.sqrt_div_log_le_of_le_of_large (α : ) ( : 0 < α) (p X : ) (hp_large : Real.exp (2 * α) p) (hpX : p X) :
              p / Real.log p ^ α X / Real.log X ^ α
              theorem LeanPool.PartialRegularity.Extension.small_values_bounded (α : ) (T : ) :
              ∃ (C : ), p < T, p / Real.log p ^ α C
              theorem LeanPool.PartialRegularity.Extension.sqrt_div_log_eventually_le (α : ) ( : 0 < α) :
              ∀ᶠ (X : ) in Filter.atTop, pX, p / Real.log p ^ α X / Real.log X ^ α
              theorem LeanPool.PartialRegularity.Extension.two_sq_eq (α : ) (X : ) (hX : 1 < X) :
              2 * (X / Real.log X ^ α) ^ 2 = 2 * X / Real.log X ^ (2 * α)
              theorem LeanPool.PartialRegularity.Extension.K_max_sup_sq_bound (α : ) ( : 0 < α) :
              ∀ᶠ (X : ) in Filter.atTop, (KMaxSup α X) ^ 2 2 * X / Real.log X ^ (2 * α)
              theorem LeanPool.PartialRegularity.Extension.irregularPrimes_isBigO (α : ) ( : 1 / 2 < α) :
              (fun (X : ) => (irregularPrimesUpTo α X).ncard) =O[Filter.atTop] fun (X : ) => X / Real.log X ^ (2 * α)