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

Erdos392.Params.initial.balance_medium_prime_le

PrimeNumberTheoremAnd.IEANTN.Erdos392 · PrimeNumberTheoremAnd/IEANTN/Erdos392.lean:1154 to 1174

Mathematical statement

Exact Lean statement

@[blueprint
  "initial-factorization-medium-prime-le"
  (statement := /-- A medium prime $\sqrt{n} < p ≤ n/L$ can be in surplus by at most $M$.-/)
  (proof := /-- Routine computation using Legendre's formula.-/)
  (latexEnv := "sublemma")]
theorem Params.initial.balance_medium_prime_le (P : Params) {p : ℕ} (hp : p > Real.sqrt P.n) :
    P.initial.balance p ≤ P.M

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  "initial-factorization-medium-prime-le"  (statement := /-- A medium prime $\sqrt{n} < p ≤ n/L$ can be in surplus by at most $M$.-/)  (proof := /-- Routine computation using Legendre's formula.-/)  (latexEnv := "sublemma")]theorem Params.initial.balance_medium_prime_le (P : Params) {p : } (hp : p > Real.sqrt P.n) :    P.initial.balance p  P.M := by  by_cases hprime : p.Prime  · have : (P.initial.a.map (·.factorization p)).sum  P.n / p + P.M := by      calc (P.initial.a.map (·.factorization p)).sum        _  P.M * (Finset.filter (p ∣ ·) (.Ico (P.n - P.n / P.M) P.n)).card :=            sum_valuation_le_M_mul_interval_count P hp        _  P.M * ((P.n / P.M + p - 1) / p) := mul_le_mul_left _ <| by            convert count_multiples_le (P.n - P.n / P.M) P.n p hprime.pos using 1            rw [Nat.sub_sub_self (div_le_self _ _)]        _  P.n / p + P.M := by          have := count_bound_aux P.n P.M p          grind    simp only [Factorization.balance, Factorization.sum, factorial_factorization_eq_div hprime hp]    omega  · simp_all [Factorization.balance, Factorization.sum]