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

ZetaNear1BndExact

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:2241 to 2298

Mathematical statement

Exact Lean statement

@[blueprint
  (title := "ZetaNear1BndExact")
  (statement := /--
  There exists a $c>0$ such that for all $1 < \sigma ≤ 2$,
  $$
  |\zeta(\sigma)| ≤ c/(\sigma-1).
  $$
  -/)
  (proof := /--
  Split into two cases, use Lemma \ref{ZetaNear1BndFilter} for $\sigma$ sufficiently small
  and continuity on a compact interval otherwise.
  -/)
  (latexEnv := "lemma")]
lemma ZetaNear1BndExact :
    ∃ (c : ℝ) (_ : 0 < c), ∀ (σ : ℝ) (_ : σ ∈ Ioc 1 2), ‖ζ σ‖ ≤ c / (σ - 1)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[blueprint  (title := "ZetaNear1BndExact")  (statement := /--  There exists a $c>0$ such that for all $1 < \sigma  2$,  $$  |\zeta(\sigma)|  c/(\sigma-1).  $$  -/)  (proof := /--  Split into two cases, use Lemma \ref{ZetaNear1BndFilter} for $\sigma$ sufficiently small  and continuity on a compact interval otherwise.  -/)  (latexEnv := "lemma")]lemma ZetaNear1BndExact :     (c : ) (_ : 0 < c),  (σ : ) (_ : σ  Ioc 1 2), ‖ζ σ‖  c /- 1) := by  have := ZetaNear1BndFilter  rw [Asymptotics.isBigO_iff] at this  obtain c, U, hU, V, hV, h := this  obtain T, hT, T_open, h1T := mem_nhds_iff.mp hU  obtain ε, εpos, hε := Metric.isOpen_iff.mp T_open 1 h1T  simp only [Metric.ball] at hε  replace hε : Ico 1 (1 + ε)  U := by    refine subset_trans (subset_trans ?_ hε) hT    intro x hx    simp only [mem_Ico] at hx    simp only [dist, abs_lt]    exact by linarith, by linarith  let W := Icc (1 + ε) 2  have W_compact : IsCompact {ofReal z | z  W} :=    IsCompact.image isCompact_Icc continuous_ofReal  have cont : ContinuousOn ζ {ofReal z | z  W} := by    apply HasDerivAt.continuousOn (f' := ζ')    intro σ hσ    exact (differentiableAt_riemannZeta (by contrapose! hσ; simp [W, hσ, εpos])).hasDerivAt  obtain C, hC := IsCompact.exists_bound_of_continuousOn W_compact cont  let C' := max (C + 1) 1  replace hC :  (σ : ), σ  W  ‖ζ σ‖ < C' := by    intro σ hσ    simp only [lt_max_iff, C']    have := hC σ    simp only [mem_setOf_eq, ofReal_inj, exists_eq_right] at this    exact Or.inl <| lt_of_le_of_lt (this hσ) (by norm_num)  have Cpos : 0 < C' := by simp [C']  use max (2 * C') c, (by simp [Cpos])  intro σ σ_ge, σ_le  by_cases hσ : σ  U ∩ V  · simp only [ h, mem_setOf_eq] at hσ    apply le_trans hσ ?_    norm_cast    have : 0  1 /- 1) := by apply one_div_nonneg.mpr; linarith    simp only [Real.norm_eq_abs, abs_eq_self.mpr this, mul_div, mul_one]    exact div_le_div₀ (by simp [Cpos.le]) (by simp) (by linarith) (by rfl)  · replace hσ : σ  W := by      simp only [mem_inter_iff, hV σ_ge, and_true] at hσ      simp only [mem_Icc, σ_le, and_true, W]      contrapose! hσ; exactσ_ge.le, hσ    apply le_trans (hC σ hσ).le ((le_div_iff₀ (by linarith)).mpr ?_)    rw [le_max_iff, mul_comm 2]; exact Or.inl <| mul_le_mul_of_nonneg_left (by linarith) Cpos.le