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

Mertens.E₂p.abs_le

PrimeNumberTheoremAnd.IEANTN.Mertens · PrimeNumberTheoremAnd/IEANTN/Mertens.lean:2064 to 2102

Mathematical statement

Exact Lean statement

@[blueprint
  "Mertens-second-error-prime-abs-le"
  (title := "Bound for second error (prime form)")
  (statement := /-- For any $x \geq 2$, one has
$$ |E_{2,p}(x)| \leq \frac{\log 4 + 6 + E_1}{\log x}.$$
-/)
  (proof := /-- Similar to Lemma \ref{Mertens-second-error-prime-eq}.
  -/)
  (latexEnv := "corollary")
  (discussion := 1326)]
theorem E₂p.abs_le {x : ℝ} (hx : 2 ≤ x) :
    |E₂p x| ≤ (log 4 + 6 + E₁) / log x

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  "Mertens-second-error-prime-abs-le"  (title := "Bound for second error (prime form)")  (statement := /-- For any $x \geq 2$, one has$$ |E_{2,p}(x)| \leq \frac{\log 4 + 6 + E_1}{\log x}.$$-/)  (proof := /-- Similar to Lemma \ref{Mertens-second-error-prime-eq}.  -/)  (latexEnv := "corollary")  (discussion := 1326)]theorem E₂p.abs_le {x : } (hx : 2  x) :    |E₂p x|  (log 4 + 6 + E₁) / log x := by    have : 0 < log x := by apply log_pos; linarith    rw [E₂p.eq hx, abs_le']    constructor    · grw [E₁p.le (by linarith)]      have : ∫ t in Set.Ioi x, E₁p t / (t * log t^2)  (- 2 - E₁) / log x := calc        _  ∫ t in Set.Ioi x, (-2 - E₁) / (t * log t^2) := by          apply MeasureTheory.setIntegral_mono_on (integrable_const_div_mul_log_sq (-2 - E₁) hx)            (integrable_E₁p_div_mul_log_sq hx) (by measurability)          intro y hy; simp at hy          have : 1 < y := by linarith          have : 0 < log y := log_pos this          gcongr; exact E₁p.ge (by linarith)        _ = _ := integ_div_mul_log_sq (-2 - E₁) hx      grw [this]      grind    grw [E₁p.ge (by linarith)]    have : ∫ t in Set.Ioi x, E₁p t / (t * log t^2)  (log 4 + 4) / log x := calc        _  ∫ t in Set.Ioi x, (log 4 + 4) / (t * log t^2) := by          apply MeasureTheory.setIntegral_mono_on (integrable_E₁p_div_mul_log_sq hx)            (integrable_const_div_mul_log_sq (log 4 + 4) hx) (by measurability)          intro y hy; simp at hy          have : 1 < y := by linarith          have : 0 < log y := log_pos this          gcongr; exact E₁p.le (by linarith)        _ = _ := integ_div_mul_log_sq (log 4 + 4) hx    grw [this]    grind