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

Ramanujan.sq_pi_lt

PrimeNumberTheoremAnd.IEANTN.Ramanujan.Ramanujan · PrimeNumberTheoremAnd/IEANTN/Ramanujan/Ramanujan.lean:28 to 70

Mathematical statement

Exact Lean statement

@[blueprint
  "ramanujan-criterion-1"
  (title := "Criterion for Ramanujan's inequality, substep 1")
  (statement := /--
Let $M_a \in \mathbb{R}$  and suppose that for $x>x_a$ we have
$$ \pi(x) < x \sum_{k=0}^{4} \frac{k!}{\log^{k+1}x}+\frac{M_a x}{\log^6 x}.$$
Then for $x > x_a$ we have
\begin{equation} \label{pipi}
\pi^2(x)  <  x^2 \Big\{ \frac{1}{\log^2 x}+ \frac{2}{\log^3 x}+ \frac{5}{\log^4 x}+ \frac{16}{\log^5 x}+ \frac{64}{\log^6 x} + \frac{\epsilon_{M_a}(x)}{\log^7 x} \Big\}
\end{equation}
%
where
$$\epsilon_{M_a} (x) = 72 + 2 M_a + \frac{2M_a+132}{\log x} + \frac{4M_a+288}{\log^2 x} + \frac{12 M_a+576}{\log^3 x}+\frac{48M_a}{\log^4 x} + \frac{M_a^2}{\log^5 x}.$$
(cf. \cite[Lemma 2.1]{dudek-platt})
-/)
  (proof := /-- Direct calculation -/)
  (latexEnv := "sublemma")
  (discussion := 983)]
theorem sq_pi_lt (M_a x_a : ℝ) (hupper : ∀ x > x_a, pi x < x * ∑ k ∈ Finset.range 5, (k.factorial / log x ^ (k + 1)) + (M_a * x / log x ^ 6)) :
    ∀ x > x_a, pi x ^ 2 < x ^ 2 * (1 / log x ^ 2 + 2 / log x ^ 3 + 5 / log x ^ 4 + 16 / log x ^ 5 + 64 / log x ^ 6 + ε M_a x / log x ^ 7)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  "ramanujan-criterion-1"  (title := "Criterion for Ramanujan's inequality, substep 1")  (statement := /--Let $M_a \in \mathbb{R}$  and suppose that for $x>x_a$ we have$$ \pi(x) < x \sum_{k=0}^{4} \frac{k!}{\log^{k+1}x}+\frac{M_a x}{\log^6 x}.$$Then for $x > x_a$ we have\begin{equation} \label{pipi}\pi^2(x)  <  x^2 \Big\{ \frac{1}{\log^2 x}+ \frac{2}{\log^3 x}+ \frac{5}{\log^4 x}+ \frac{16}{\log^5 x}+ \frac{64}{\log^6 x} + \frac{\epsilon_{M_a}(x)}{\log^7 x} \Big\}\end{equation}%where$$\epsilon_{M_a} (x) = 72 + 2 M_a + \frac{2M_a+132}{\log x} + \frac{4M_a+288}{\log^2 x} + \frac{12 M_a+576}{\log^3 x}+\frac{48M_a}{\log^4 x} + \frac{M_a^2}{\log^5 x}.$$(cf. \cite[Lemma 2.1]{dudek-platt})-/)  (proof := /-- Direct calculation -/)  (latexEnv := "sublemma")  (discussion := 983)]theorem sq_pi_lt (M_a x_a : ) (hupper :  x > x_a, pi x < x * ∑ k  Finset.range 5, (k.factorial / log x ^ (k + 1)) + (M_a * x / log x ^ 6)) :     x > x_a, pi x ^ 2 < x ^ 2 * (1 / log x ^ 2 + 2 / log x ^ 3 + 5 / log x ^ 4 + 16 / log x ^ 5 + 64 / log x ^ 6 + ε M_a x / log x ^ 7) := by  intro x hx  have sq_algebra (M l : ) : ((Nat.factorial 0 : ) / l ^ 1 + (Nat.factorial 1 : ) / l ^ 2 + (Nat.factorial 2 : ) / l ^ 3 + (Nat.factorial 3 : ) / l ^ 4 + (Nat.factorial 4 : ) / l ^ 5 + M / l ^ 6) ^ 2    = 1 / l ^ 2 + 2 / l ^ 3 + 5 / l ^ 4 + 16 / l ^ 5 + 64 / l ^ 6 + (72 + 2 * M + (2 * M + 132) / l + (4 * M + 288) / l ^ 2 + (12 * M + 576) / l ^ 3 + (48 * M) / l ^ 4 + M ^ 2 / l ^ 5) / l ^ 7 := by    ring  have h_nonneg_pi : 0  pi x := by    unfold _root_.pi    exact_mod_cast Nat.zero_le (⌊x⌋₊.primeCounting)  have h_pos_rhs : 0 < x * ∑ k  Finset.range 5, (k.factorial / log x ^ (k + 1)) + (M_a * x / log x ^ 6) := by    linarith [h_nonneg_pi, hupper x hx]  have h_sum_eq : ∑ k  Finset.range 5, (k.factorial / log x ^ (k + 1)) = (Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 := by    simp [Finset.sum_range_succ, Nat.factorial]  have h_main1 : ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6) ^ 2 = 1 / log x ^ 2 + 2 / log x ^ 3 + 5 / log x ^ 4 + 16 / log x ^ 5 + 64 / log x ^ 6 + ε M_a x / log x ^ 7 := by    simpa [ε] using sq_algebra M_a (log x)  have h_eq : x * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6) = x * ∑ k  Finset.range 5, (k.factorial / log x ^ (k + 1)) + (M_a * x / log x ^ 6) := by    rw [h_sum_eq]; ring  have h1'' : pi x < x * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6) := by    simpa only [h_eq] using hupper x hx  have h_pos1 : 0 < x * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6) := by    simpa only [h_eq] using h_pos_rhs  have h2 : pi x ^ 2 < (x * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6)) ^ 2 :=    sq_lt_sq.mpr (by simpa only [abs_of_nonneg h_nonneg_pi, abs_of_pos h_pos1] using h1'')  have h4 : (x * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6)) ^ 2 = x ^ 2 * ((Nat.factorial 0 : ) / log x ^ 1 + (Nat.factorial 1 : ) / log x ^ 2 + (Nat.factorial 2 : ) / log x ^ 3 + (Nat.factorial 3 : ) / log x ^ 4 + (Nat.factorial 4 : ) / log x ^ 5 + M_a / log x ^ 6) ^ 2 := by ring  simpa only [h4, h_main1] using h2