Documentation

PrimeNumberTheoremAnd.ZetaBounds

theorem div_cpow_eq_cpow_neg (a x s : ) :
a / x ^ s = a * x ^ (-s)
theorem one_div_cpow_eq_cpow_neg (x s : ) :
1 / x ^ s = x ^ (-s)
theorem div_rpow_eq_rpow_neg (a x s : ) (hx : 0 x) :
a / x ^ s = a * x ^ (-s)
theorem div_rpow_neg_eq_rpow_div {x y s : } (hx : 0 x) (hy : 0 y) :
x ^ (-s) / y ^ (-s) = (y / x) ^ s
theorem div_rpow_eq_rpow_div_neg {x y s : } (hx : 0 x) (hy : 0 y) :
x ^ s / y ^ s = (y / x) ^ (-s)
theorem ResidueOfTendsTo {f : } {p : } {U : Set } (hU : U nhds p) (hf : HolomorphicOn f (U \ {p})) {A : } (h_limit : Filter.Tendsto (fun (s : ) => (s - p) * f s) (nhdsWithin p {p}) (nhds A)) :
Vnhds p, BddAbove (norm (f - fun (s : ) => A * (s - p)⁻¹) '' (V \ {p}))
theorem analyticAt_riemannZeta {s : } (s_ne_one : s 1) :
theorem riemannZetaResidue :
Unhds 1, BddAbove (norm (riemannZeta - fun (s : ) => (s - 1)⁻¹) '' (U \ {1}))
theorem deriv_eqOn_of_eqOn_punctured (f g : ) (U : Set ) (p : ) (hU_open : IsOpen U) (h_eq : Set.EqOn f g (U \ {p})) :
Set.EqOn (deriv f) (deriv g) (U \ {p})
theorem analytic_deriv_bounded_near_point (f : ) {U : Set } {p : } (hU : IsOpen U) (hp : p U) (hf : HolomorphicOn f U) :
theorem derivative_const_plus_product {g : } (A p x : ) (hg : DifferentiableAt g x) :
deriv ((fun (x : ) => A) + g * fun (s : ) => s - p) x = deriv g x * (x - p) + g x
theorem deriv_inv_sub {x p : } (hp : x p) :
deriv (fun (z : ) => (z - p)⁻¹) x = -((x - p) ^ 2)⁻¹
theorem deriv_f_minus_A_inv_sub_clean (f : ) (A x p : ) (hf : DifferentiableAt f x) (hp : x p) :
deriv (f - fun (z : ) => A * (z - p)⁻¹) x = deriv f x + A * ((x - p) ^ 2)⁻¹
theorem nonZeroOfBddAbove {f : } {p : } {U : Set } (U_in_nhds : U nhds p) {A : } (A_ne_zero : A 0) (f_near_p : BddAbove (norm (f - fun (s : ) => A * (s - p)⁻¹) '' (U \ {p}))) :
Vnhds p, IsOpen V sV \ {p}, f s 0
theorem logDerivResidue' {f : } {p : } {U : Set } (U_is_open : IsOpen U) (non_zero : xU \ {p}, f x 0) (holc : HolomorphicOn f (U \ {p})) (U_in_nhds : U nhds p) {A : } (A_ne_zero : A 0) (f_near_p : BddAbove (norm (f - fun (s : ) => A * (s - p)⁻¹) '' (U \ {p}))) :
(deriv f * f⁻¹ + fun (s : ) => (s - p)⁻¹) =O[nhdsWithin p {p}] 1
theorem logDerivResidue {f : } {p : } {U : Set } (non_zero : xU \ {p}, f x 0) (holc : HolomorphicOn f (U \ {p})) (U_in_nhds : U nhds p) {A : } (A_ne_zero : A 0) (f_near_p : BddAbove (norm (f - fun (s : ) => A * (s - p)⁻¹) '' (U \ {p}))) :
(deriv f * f⁻¹ + fun (s : ) => (s - p)⁻¹) =O[nhdsWithin p {p}] 1
theorem BddAbove_to_IsBigO {f : } {p : } {U : Set } (hU : U nhds p) (bdd : BddAbove (norm f '' (U \ {p}))) :
theorem logDerivResidue'' {f : } {p : } {U : Set } (non_zero : xU \ {p}, f x 0) (holc : HolomorphicOn f (U \ {p})) (U_in_nhds : U nhds p) {A : } (A_ne_zero : A 0) (f_near_p : BddAbove (norm (f - fun (s : ) => A * (s - p)⁻¹) '' (U \ {p}))) :
Vnhds p, BddAbove (norm (deriv f * f⁻¹ + fun (s : ) => (s - p)⁻¹) '' (V \ {p}))
theorem ResidueMult {f g : } {p : } {U : Set } (g_holc : HolomorphicOn g U) (U_in_nhds : U nhds p) {A : } (f_near_p : (f - fun (s : ) => A * (s - p)⁻¹) =O[nhdsWithin p {p}] 1) :
(f * g - fun (s : ) => A * g p * (s - p)⁻¹) =O[nhdsWithin p {p}] 1
theorem riemannZetaLogDerivResidue :
Unhds 1, BddAbove (norm (-(deriv riemannZeta / riemannZeta) - fun (s : ) => (s - 1)⁻¹) '' (U \ {1}))
noncomputable def riemannZeta0 (N : ) (s : ) :
Equations
Instances For
    theorem riemannZeta0_apply (N : ) (s : ) :
    riemannZeta0 N s = nFinset.range (N + 1), 1 / n ^ s + (-N ^ (1 - s) / (1 - s) + -N ^ (-s) / 2 + s * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-(s + 1)))
    theorem Real.differentiableAt_cpow_const_of_ne (s : ) {x : } (xpos : 0 < x) :
    DifferentiableAt (fun (x : ) => x ^ s) x
    theorem Complex.one_div_cpow_eq {s : } {x : } (x_ne : x 0) :
    1 / x ^ s = x ^ (-s)
    theorem sum_eq_int_deriv {φ : } {a b : } (apos : 0 a) (a_lt_b : a < b) (φDiff : xSet.uIcc a b, HasDerivAt φ (deriv φ x) x) (derivφCont : ContinuousOn (deriv φ) (Set.uIcc a b)) :
    nFinset.Ioc a⌋₊ b⌋₊, φ n = ( (x : ) in a..b, φ x) + (b⌋₊ + 1 / 2 - b) * φ b - (a⌋₊ + 1 / 2 - a) * φ a - (x : ) in a..b, (x + 1 / 2 - x) * deriv φ x
    theorem xpos_of_uIcc {a b : } (ha : a Set.Ioo 0 b) {x : } (x_in : x Set.uIcc a b) :
    0 < x
    theorem ZetaSum_aux1₁ {a b : } {s : } (s_ne_one : s 1) (ha : a Set.Ioo 0 b) :
    (x : ) in a..b, 1 / x ^ s = (b ^ (1 - s) - a ^ (1 - s)) / (1 - s)
    theorem ZetaSum_aux1φDiff {s : } {x : } (xpos : 0 < x) :
    HasDerivAt (fun (t : ) => 1 / t ^ s) (deriv (fun (t : ) => 1 / t ^ s) x) x
    theorem ZetaSum_aux1φderiv {s : } (s_ne_zero : s 0) {x : } (xpos : 0 < x) :
    deriv (fun (t : ) => 1 / t ^ s) x = (fun (x : ) => -s * x ^ (-(s + 1))) x
    theorem ZetaSum_aux1derivφCont {s : } (s_ne_zero : s 0) {a b : } (ha : a Set.Ioo 0 b) :
    ContinuousOn (deriv fun (t : ) => 1 / t ^ s) (Set.uIcc a b)
    theorem ZetaSum_aux1 {a b : } {s : } (s_ne_one : s 1) (s_ne_zero : s 0) (ha : a Set.Ioo 0 b) :
    nFinset.Ioc a b, 1 / n ^ s = (b ^ (1 - s) - a ^ (1 - s)) / (1 - s) + 1 / 2 * (1 / b ^ s) - 1 / 2 * (1 / a ^ s) + s * (x : ) in a..b, (x + 1 / 2 - x) * x ^ (-(s + 1))
    theorem ZetaSum_aux1_1' {a b x : } (apos : 0 < a) (hx : x Set.Icc a b) :
    0 < x
    theorem ZetaSum_aux1_1 {a b x : } (apos : 0 < a) (a_lt_b : a < b) (hx : x Set.uIcc a b) :
    0 < x
    theorem ZetaSum_aux1_2 {a b c : } (apos : 0 < a) (a_lt_b : a < b) (h : c 0 0Set.uIcc a b) :
    (x : ) in a..b, 1 / x ^ (c + 1) = (a ^ (-c) - b ^ (-c)) / c
    theorem ZetaSum_aux1_3 (x : ) :
    x + 1 / 2 - x 1 / 2
    theorem ZetaSum_aux1_4' (x : ) (hx : 0 < x) (s : ) :
    (x + 1 / 2 - x) / x ^ (s + 1) = x + 1 / 2 - x / x ^ (s + 1).re
    theorem ZetaSum_aux1_4 {a b : } (apos : 0 < a) (a_lt_b : a < b) {s : } :
    (x : ) in a..b, (x + 1 / 2 - x) / x ^ (s + 1) = (x : ) in a..b, |x + 1 / 2 - x| / x ^ (s + 1).re
    theorem ZetaSum_aux1_5a {a b : } (apos : 0 < a) {s : } (x : ) (h : x Set.Icc a b) :
    |x + 1 / 2 - x| / x ^ (s.re + 1) 1 / x ^ (s.re + 1)
    theorem ZetaSum_aux1_5b {a b : } (apos : 0 < a) (a_lt_b : a < b) {s : } (σpos : 0 < s.re) :
    IntervalIntegrable (fun (u : ) => 1 / u ^ (s.re + 1)) MeasureTheory.volume a b
    theorem measurable_floor_add_half_sub :
    Measurable fun (u : ) => u + 1 / 2 - u
    theorem ZetaSum_aux1_5c {a b : } {s : } :
    have g := fun (u : ) => |u + 1 / 2 - u| / u ^ (s.re + 1); MeasureTheory.AEStronglyMeasurable g (MeasureTheory.volume.restrict (Set.uIoc a b))
    theorem ZetaSum_aux1_5d {a b : } (apos : 0 < a) (a_lt_b : a < b) {s : } (σpos : 0 < s.re) :
    IntervalIntegrable (fun (u : ) => |u + 1 / 2 - u| / u ^ (s.re + 1)) MeasureTheory.volume a b
    theorem ZetaSum_aux1_5 {a b : } (apos : 0 < a) (a_lt_b : a < b) {s : } (σpos : 0 < s.re) :
    (x : ) in a..b, |x + 1 / 2 - x| / x ^ (s.re + 1) (x : ) in a..b, 1 / x ^ (s.re + 1)
    theorem ZetaBnd_aux1a {a b : } (apos : 0 < a) (a_lt_b : a < b) {s : } (σpos : 0 < s.re) :
    (x : ) in a..b, (x + 1 / 2 - x) / x ^ (s + 1) (a ^ (-s.re) - b ^ (-s.re)) / s.re
    theorem Finset.Ioc_eq_Ico (M N : ) :
    Ioc N M = Ico (N + 1) (M + 1)
    theorem Finset.Ioc_eq_Icc (M N : ) :
    Ioc N M = Icc (N + 1) M
    theorem Finset.Icc_eq_Ico (M N : ) :
    Icc N M = Ico N (M + 1)
    theorem finsetSum_tendsto_tsum {N : } {f : } (hf : Summable f) :
    Filter.Tendsto (fun (k : ) => nFinset.Ico N k, f n) Filter.atTop (nhds (∑' (n : ), f (n + N)))
    theorem Complex.cpow_tendsto {s : } (s_re_gt : 1 < s.re) :
    Filter.Tendsto (fun (x : ) => x ^ (1 - s)) Filter.atTop (nhds 0)
    theorem Complex.cpow_inv_tendsto {s : } (hs : 0 < s.re) :
    Filter.Tendsto (fun (x : ) => (x ^ s)⁻¹) Filter.atTop (nhds 0)
    theorem ZetaSum_aux2a :
    ∃ (C : ), ∀ (x : ), x + 1 / 2 - x C
    theorem ZetaSum_aux3 {N : } {s : } (s_re_gt : 1 < s.re) :
    Filter.Tendsto (fun (k : ) => nFinset.Ioc N k, 1 / n ^ s) Filter.atTop (nhds (∑' (n : ), 1 / (n + N + 1) ^ s))
    theorem integrableOn_of_Zeta0_fun {N : } (N_pos : 0 < N) {s : } (s_re_gt : 0 < s.re) :
    MeasureTheory.IntegrableOn (fun (x : ) => (x + 1 / 2 - x) * x ^ (-(s + 1))) (Set.Ioi N) MeasureTheory.volume
    theorem ZetaSum_aux2 {N : } (N_pos : 0 < N) {s : } (s_re_gt : 1 < s.re) :
    ∑' (n : ), 1 / (n + N + 1) ^ s = -N ^ (1 - s) / (1 - s) - N ^ (-s) / 2 + s * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-(s + 1))
    theorem ZetaBnd_aux1b (N : ) (Npos : 1 N) {σ t : } (σpos : 0 < σ) :
    (x : ) in Set.Ioi N, (x + 1 / 2 - x) / x ^ (σ + t * Complex.I + 1) N ^ (-σ) / σ
    theorem ZetaBnd_aux1 (N : ) (Npos : 1 N) {σ t : } ( : σ Set.Ioc 0 2) (ht : 2 |t|) :
    (σ + t * Complex.I) * (x : ) in Set.Ioi N, (x + 1 / 2 - x) / x ^ (σ + t * Complex.I + 1) 2 * |t| * N ^ (-σ) / σ
    theorem ZetaBnd_aux1p (N : ) (Npos : 1 N) {σ : } ( : σ Set.Ioc 0 2) :
    (fun (t : ) => (σ + t * Complex.I) * (x : ) in Set.Ioi N, (x + 1 / 2 - x) / x ^ (σ + t * Complex.I + 1)) =O[Filter.principal {t : | 2 |t|}] fun (t : ) => |t| * N ^ (-σ) / σ
    theorem isOpen_aux :
    IsOpen {z : | z 1 0 < z.re}
    theorem integrable_log_over_pow {r : } (rneg : r < 0) {N : } (Npos : 0 < N) :
    theorem integrableOn_of_Zeta0_fun_log {N : } (Npos : 0 < N) {s : } (s_re_gt : 0 < s.re) :
    MeasureTheory.IntegrableOn (fun (x : ) => (x + 1 / 2 - x) * x ^ (-(s + 1)) * -(Real.log x)) (Set.Ioi N) MeasureTheory.volume
    theorem hasDerivAt_Zeta0Integral {N : } (Npos : 0 < N) {s : } (hs : s {s : | 0 < s.re}) :
    HasDerivAt (fun (z : ) => (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-z - 1)) ( (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-s - 1) * -(Real.log x)) s
    noncomputable def ζ₀' (N : ) (s : ) :
    Equations
    Instances For
      theorem HasDerivAt_neg_cpow_over2 {N : } (Npos : 0 < N) (s : ) :
      HasDerivAt (fun (x : ) => -N ^ (-x) / 2) (-(-(Real.log N) * N ^ (-s)) / 2) s
      theorem HasDerivAt_cpow_over_var (N : ) {z : } (z_ne_zero : z 0) :
      HasDerivAt (fun (z : ) => -N ^ z / z) (N ^ z / z ^ 2 - (Real.log N) * N ^ z / z) z
      theorem HasDerivAtZeta0 {N : } (Npos : 0 < N) {s : } (reS_pos : 0 < s.re) (s_ne_one : s 1) :
      theorem HolomorphicOn_riemannZeta0 {N : } (N_pos : 0 < N) :
      theorem Zeta0EqZeta {N : } (N_pos : 0 < N) {s : } (reS_pos : 0 < s.re) (s_ne_one : s 1) :
      theorem DerivZeta0EqDerivZeta {N : } (N_pos : 0 < N) {s : } (reS_pos : 0 < s.re) (s_ne_one : s 1) :
      theorem le_trans₄ {α : Type u_1} [Preorder α] {a b c d : α} :
      a bb cc da d
      theorem lt_trans₄ {α : Type u_1} [Preorder α] {a b c d : α} :
      a < bb < cc < da < d
      theorem norm_add₅_le {E : Type u_1} [SeminormedAddGroup E] (a b c d e : E) :
      theorem norm_add₆_le {E : Type u_1} [SeminormedAddGroup E] (a b c d e f : E) :
      theorem mul_le_mul₃ {α : Type u_1} {a b c d e f : α} [MulZeroClass α] [Preorder α] [PosMulMono α] [MulPosMono α] (h₁ : a b) (h₂ : c d) (h₃ : e f) (c0 : 0 c) (b0 : 0 b) (e0 : 0 e) :
      a * c * e b * d * f
      theorem ZetaBnd_aux2 {n : } {t A σ : } (Apos : 0 < A) (σpos : 0 < σ) (n_le_t : n |t|) (σ_ge : 1 - A / Real.log |t| σ) :
      n ^ (-(σ + t * Complex.I)) (↑n)⁻¹ * Real.exp A
      theorem logt_gt_one {t : } (t_ge : 3 t) :
      theorem UpperBnd_aux {A σ t : } (hA : A Set.Ioc 0 (1 / 2)) (t_gt : 3 < |t|) (σ_ge : 1 - A / Real.log |t| σ) :
      have N := |t|⌋₊; 0 < N N |t| 1 < Real.log |t| 1 - A < σ 0 < σ σ + t * Complex.I 1
      theorem UpperBnd_aux2 {A σ t : } (t_ge : 3 < |t|) (σ_ge : 1 - A / Real.log |t| σ) :
      |t| ^ (1 - σ) Real.exp A
      theorem riemannZeta0_zero_aux (N : ) (Npos : 0 < N) :
      xFinset.Ico 0 N, (↑x)⁻¹ = xFinset.Ico 1 N, (↑x)⁻¹
      theorem UpperBnd_aux3 {A C σ t : } (hA : A Set.Ioc 0 (1 / 2)) (σ_ge : 1 - A / Real.log |t| σ) (t_gt : 3 < |t|) (hC : 2 C) :
      have N := |t|⌋₊; nFinset.range (N + 1), n ^ (-(σ + t * Complex.I)) Real.exp A * C * Real.log |t|
      theorem Nat.self_div_floor_bound {t : } (t_ge : 1 |t|) :
      have N := |t|⌋₊; |t| / N Set.Icc 1 2
      theorem UpperBnd_aux5 {σ t : } (t_ge : 3 < |t|) (σ_le : σ 2) :
      (|t| / |t|⌋₊) ^ σ 4
      theorem UpperBnd_aux6 {σ t : } (t_ge : 3 < |t|) ( : σ Set.Ioc (1 / 2) 2) (neOne : σ + t * Complex.I 1) (Npos : 0 < |t|⌋₊) (N_le_t : |t|⌋₊ |t|) :
      |t|⌋₊ ^ (1 - σ) / 1 - (σ + t * Complex.I) |t| ^ (1 - σ) * 2 |t|⌋₊ ^ (-σ) / 2 |t| ^ (1 - σ) |t|⌋₊ ^ (-σ) / σ 8 * |t| ^ (-σ)
      theorem ZetaUpperBnd' {A σ t : } (hA : A Set.Ioc 0 (1 / 2)) (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have C := Real.exp A * (5 + 8 * 2); have N := |t|⌋₊; have s := σ + t * Complex.I; nFinset.range (N + 1), 1 / n ^ s + N ^ (1 - s) / (1 - s) + N ^ (-s) / 2 + s * (x : ) in Set.Ioi N, (x + 1 / 2 - x) / x ^ (s + 1) C * Real.log |t|
      theorem ZetaUpperBnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ t : ), 3 < |t|σ Set.Icc (1 - A / Real.log |t|) 2riemannZeta (σ + t * Complex.I) C * Real.log |t|
      theorem Real.log_natCast_monotone :
      Monotone fun (n : ) => log n
      theorem Finset.Icc0_eq (N : ) :
      Icc 0 N = {0} Icc 1 N
      theorem harmonic_eq_sum_Icc0_aux (N : ) :
      iFinset.Icc 0 N, (↑i)⁻¹ = iFinset.Icc 1 N, (↑i)⁻¹
      theorem harmonic_eq_sum_Icc0 (N : ) :
      iFinset.Icc 0 N, (↑i)⁻¹ = (harmonic N)
      theorem DerivUpperBnd_aux1 {A C σ t : } (hA : A Set.Ioc 0 (1 / 2)) (σ_ge : 1 - A / Real.log |t| σ) (t_gt : 3 < |t|) (hC : 2 C) :
      have N := |t|⌋₊; nFinset.range (N + 1), -1 / n ^ (σ + t * Complex.I) * (Real.log n) Real.exp A * C * Real.log |t| ^ 2
      theorem DerivUpperBnd_aux2 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; have s := σ + t * Complex.I; 0 < NN |t|s 11 / 2 < σ-N ^ (1 - s) / (1 - s) ^ 2 Real.exp A * 2 * (1 / 3)
      theorem DerivUpperBnd_aux3 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; have s := σ + t * Complex.I; 0 < NN |t|s 11 / 2 < σ(Real.log N) * N ^ (1 - s) / (1 - s) Real.exp A * 2 * Real.log |t|
      theorem DerivUpperBnd_aux4 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; have s := σ + t * Complex.I; 0 < NN |t|s 11 / 2 < σ(Real.log N) * N ^ (-s) / 2 Real.exp A * Real.log |t|
      theorem DerivUpperBnd_aux5 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; have s := σ + t * Complex.I; 0 < N1 / 2 < σ1 * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-s - 1) 1 / 3 * (2 * |t| * N ^ (-σ) / σ)
      theorem DerivUpperBnd_aux6 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; 0 < NN |t|σ + t * Complex.I 11 / 2 < σ2 * |t| * N ^ (-σ) / σ 2 * (8 * Real.exp A)
      theorem DerivUpperBnd_aux7_1 {x σ t : } (hx : 1 x) :
      have s := σ + t * Complex.I; (x + 1 / 2 - x) * x ^ (-s - 1) * -(Real.log x) = |x + 1 / 2 - x| * x ^ (-σ - 1) * Real.log x
      theorem DerivUpperBnd_aux7_2 {x σ : } (hx : 1 x) :
      |x + 1 / 2 - x| * x ^ (-σ - 1) * Real.log x x ^ (-σ - 1) * Real.log x
      theorem DerivUpperBnd_aux7_3 {x σ : } (xpos : 0 < x) (σnz : σ 0) :
      HasDerivAt (fun (t : ) => -(1 / σ ^ 2 * t ^ (-σ) + 1 / σ * t ^ (-σ) * Real.log t)) (x ^ (-σ - 1) * Real.log x) x
      theorem DerivUpperBnd_aux7_3' {a σ : } (apos : 0 < a) (σnz : σ 0) (x : ) :
      x Set.Ici aHasDerivAt (fun (t : ) => -(1 / σ ^ 2 * t ^ (-σ) + 1 / σ * t ^ (-σ) * Real.log t)) (x ^ (-σ - 1) * Real.log x) x
      theorem DerivUpperBnd_aux7_nonneg {a σ : } (ha : 1 a) (x : ) :
      x Set.Ioi a0 x ^ (-σ - 1) * Real.log x
      theorem DerivUpperBnd_aux7_tendsto {σ : } (σpos : 0 < σ) :
      Filter.Tendsto (fun (t : ) => -(1 / σ ^ 2 * t ^ (-σ) + 1 / σ * t ^ (-σ) * Real.log t)) Filter.atTop (nhds 0)
      theorem DerivUpperBnd_aux7_4 {a σ : } (σpos : 0 < σ) (ha : 1 a) :
      theorem DerivUpperBnd_aux7_5 {a σ : } (σpos : 0 < σ) (ha : 1 a) :
      MeasureTheory.IntegrableOn (fun (x : ) => |x + 1 / 2 - x| * x ^ (-σ - 1) * Real.log x) (Set.Ioi a) MeasureTheory.volume
      theorem DerivUpperBnd_aux7_integral_eq {a σ : } (ha : 1 a) (σpos : 0 < σ) :
      (x : ) in Set.Ioi a, x ^ (-σ - 1) * Real.log x = 1 / σ ^ 2 * a ^ (-σ) + 1 / σ * a ^ (-σ) * Real.log a
      theorem DerivUpperBnd_aux7 {A σ t : } (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have N := |t|⌋₊; have s := σ + t * Complex.I; 0 < NN |t|s 11 / 2 < σs * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-s - 1) * -(Real.log x) 6 * |t| * N ^ (-σ) / σ * Real.log |t|
      theorem ZetaDerivUpperBnd' {A σ t : } (hA : A Set.Ioc 0 (1 / 2)) (t_gt : 3 < |t|) ( : σ Set.Icc (1 - A / Real.log |t|) 2) :
      have C := Real.exp A * 59; have N := |t|⌋₊; have s := σ + t * Complex.I; nFinset.range (N + 1), -1 / n ^ s * (Real.log n) + -N ^ (1 - s) / (1 - s) ^ 2 + (Real.log N) * N ^ (1 - s) / (1 - s) + (Real.log N) * N ^ (-s) / 2 + 1 * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-s - 1) + s * (x : ) in Set.Ioi N, (x + 1 / 2 - x) * x ^ (-s - 1) * -(Real.log x) C * Real.log |t| ^ 2
      theorem ZetaDerivUpperBnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ t : ), 3 < |t|σ Set.Icc (1 - A / Real.log |t|) 2deriv riemannZeta (σ + t * Complex.I) C * Real.log |t| ^ 2
      theorem Tendsto_nhdsWithin_punctured_map_add {f : } (a x : ) (f_mono : StrictMono f) (f_iso : Isometry f) :
      Filter.Tendsto (fun (y : ) => f y + a) (nhdsWithin x (Set.Ioi x)) (nhdsWithin (f x + a) (Set.Ioi (f x + a)))
      theorem Tendsto_nhdsWithin_punctured_add (a x : ) :
      Filter.Tendsto (fun (y : ) => y + a) (nhdsWithin x (Set.Ioi x)) (nhdsWithin (x + a) (Set.Ioi (x + a)))
      theorem riemannZeta_isBigO_near_one_horizontal :
      (fun (x : ) => riemannZeta (1 + x)) =O[nhdsWithin 0 (Set.Ioi 0)] fun (x : ) => 1 / x
      theorem ZetaNear1BndFilter :
      (fun (σ : ) => riemannZeta σ) =O[nhdsWithin 1 (Set.Ioi 1)] fun (σ : ) => 1 / (σ - 1)
      theorem ZetaNear1BndExact :
      ∃ (c : ) (_ : 0 < c), σSet.Ioc 1 2, riemannZeta σ c / (σ - 1)
      theorem norm_zeta_product_ge_one {x : } (hx : 0 < x) (y : ) :
      riemannZeta (1 + x) ^ 3 * riemannZeta (1 + x + Complex.I * y) ^ 4 * riemannZeta (1 + x + 2 * Complex.I * y) 1

      For positive x and nonzero y we have that $|\zeta(x)^3 \cdot \zeta(x+iy)^4 \cdot \zeta(x+2iy)| \ge 1$.

      theorem ZetaLowerBound1_aux1 {σ t : } (this : 1 riemannZeta σ ^ 3 * riemannZeta (σ + Complex.I * t) ^ 4 * riemannZeta (σ + 2 * Complex.I * t)) :
      riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4) * riemannZeta (σ + t * Complex.I) 1
      theorem ZetaLowerBound1 {σ t : } (σ_gt : 1 < σ) :
      riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4) * riemannZeta (σ + t * Complex.I) 1
      theorem ZetaLowerBound2 {σ t : } (σ_gt : 1 < σ) :
      1 / (riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4)) riemannZeta (σ + t * Complex.I)
      theorem ZetaLowerBound3_aux1 (A : ) (ha : A Set.Ioc 0 (1 / 2)) (t : ) (ht_2 : 3 < |2 * t|) :
      0 < A / Real.log |2 * t|
      theorem ZetaLowerBound3_aux2 {C σ t : } (ζ_2t_bound : riemannZeta (σ + 2 * t * Complex.I) C * Real.log |2 * t|) :
      riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4) (C * Real.log |2 * t|) ^ (1 / 4)
      theorem ZetaLowerBound3_aux3 (C c_near : ) {σ : } (t : ) (σ_gt : 1 < σ) :
      c_near ^ (3 / 4) * ((-1 + σ) ^ (3 / 4))⁻¹ * C ^ (1 / 4) * Real.log |t * 2| ^ (1 / 4) = c_near ^ (3 / 4) * C ^ (1 / 4) * Real.log |t * 2| ^ (1 / 4) * (-1 + σ) ^ (-3 / 4)
      theorem ZetaLowerBound3_aux4 (C : ) (hC : 0 < C) (c_near : ) (hc_near : 0 < c_near) {σ : } (t : ) (ht : 3 < |t|) (σ_gt : 1 < σ) :
      0 < c_near ^ (3 / 4) * (σ - 1) ^ (-3 / 4) * C ^ (1 / 4) * Real.log |2 * t| ^ (1 / 4)
      theorem ZetaLowerBound3_aux5 {σ : } (t : ) (this : riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4) * riemannZeta (σ + t * Complex.I) 1) :
      0 < riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4)
      theorem ZetaLowerBound3 :
      c > 0, ∀ {σ : }, σ Set.Ioc 1 2∀ (t : ), 3 < |t|c * (σ - 1) ^ (3 / 4) / Real.log |t| ^ (1 / 4) riemannZeta (σ + t * Complex.I)
      theorem ZetaInvBound1 {σ t : } (σ_gt : 1 < σ) :
      1 / riemannZeta (σ + t * Complex.I) riemannZeta σ ^ (3 / 4) * riemannZeta (σ + 2 * t * Complex.I) ^ (1 / 4)
      theorem ZetaInvBound2 :
      C > 0, ∀ {σ : }, σ Set.Ioc 1 2∀ (t : ), 3 < |t|1 / riemannZeta (σ + t * Complex.I) C * (σ - 1) ^ (-3 / 4) * Real.log |t| ^ (1 / 4)
      theorem deriv_fun_re {t : } {f : } (diff : ∀ (σ : ), DifferentiableAt f (σ + t * Complex.I)) :
      (deriv fun {σ₂ : } => f (σ₂ + t * Complex.I)) = fun (σ : ) => deriv f (σ + t * Complex.I)
      theorem Zeta_eq_int_derivZeta {σ₁ σ₂ t : } (t_ne_zero : t 0) :
      (σ : ) in σ₁..σ₂, deriv riemannZeta (σ + t * Complex.I) = riemannZeta (σ₂ + t * Complex.I) - riemannZeta (σ₁ + t * Complex.I)
      theorem Zeta_diff_Bnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ₁ σ₂ t : ), 3 < |t|1 - A / Real.log |t| σ₁σ₂ 2σ₁ < σ₂riemannZeta (σ₂ + t * Complex.I) - riemannZeta (σ₁ + t * Complex.I) C * Real.log |t| ^ 2 * (σ₂ - σ₁)
      theorem ZetaInvBnd_aux' {t : } (logt_gt_one : 1 < Real.log |t|) :
      theorem ZetaInvBnd_aux {t : } (logt_gt_one : 1 < Real.log |t|) :
      theorem ZetaInvBnd_aux2 {A C₁ C₂ : } (Apos : 0 < A) (C₁pos : 0 < C₁) (C₂pos : 0 < C₂) (hA : A 1 / 2 * (C₁ / (C₂ * 2)) ^ 4) :
      0 < (C₁ * A ^ (3 / 4) - C₂ * 2 * A)⁻¹
      theorem ZetaInvBnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ t : ), 3 < |t|σ Set.Ico (1 - A / Real.log |t| ^ 9) (1 + A / Real.log |t| ^ 9)1 / riemannZeta (σ + t * Complex.I) C * Real.log |t| ^ 7
      theorem ZetaLowerBnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (c : ) (_ : 0 < c), ∀ (σ t : ), 3 < |t|σ Set.Ico (1 - A / Real.log |t| ^ 9) 1c / Real.log |t| ^ 7 riemannZeta (σ + t * Complex.I)
      theorem ZetaZeroFree :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)), ∀ (σ t : ), 3 < |t|σ Set.Ico (1 - A / Real.log |t| ^ 9) 1riemannZeta (σ + t * Complex.I) 0
      theorem LogDerivZetaBnd :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ t : ), 3 < |t|σ Set.Ico (1 - A / Real.log |t| ^ 9) (1 + A / Real.log |t| ^ 9)deriv riemannZeta (σ + t * Complex.I) / riemannZeta (σ + t * Complex.I) C * Real.log |t| ^ 9
      theorem ZetaNoZerosInBox (T : ) :
      ∃ (σ : ) (_ : σ < 1), ∀ (t : ), |t| Tσ'σ, riemannZeta (σ' + t * Complex.I) 0
      theorem LogDerivZetaHoloOn {S : Set } (s_ne_one : 1S) (nonzero : sS, riemannZeta s 0) :
      theorem LogDerivZetaHolcSmallT :
      ∃ (σ₂ : ) (_ : σ₂ < 1), HolomorphicOn (fun (s : ) => deriv riemannZeta s / riemannZeta s) (Set.uIcc σ₂ 2 ×ℂ Set.uIcc (-3) 3 \ {1})
      theorem LogDerivZetaHolcLargeT :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)), ∀ (T : ), 3 THolomorphicOn (fun (s : ) => deriv riemannZeta s / riemannZeta s) (Set.Icc (1 - A / Real.log T ^ 9) 2 ×ℂ Set.Icc (-T) T \ {1})
      theorem summable_complex_then_summable_real_part (f : ) (h : Summable f) :
      Summable fun (n : ) => (f n).re
      theorem dlog_riemannZeta_bdd_on_vertical_lines_generalized (σ₀ σ₁ t : ) (σ₀_gt_one : 1 < σ₀) (σ₀_lt_σ₁ : σ₀ σ₁) :
      -deriv riemannZeta (σ₁ + t * Complex.I) / riemannZeta (σ₁ + t * Complex.I) deriv riemannZeta σ₀ / riemannZeta σ₀
      theorem triv_bound_zeta :
      C0, ∀ (σ₀ t : ), 1 < σ₀-deriv riemannZeta (σ₀ + t * Complex.I) / riemannZeta (σ₀ + t * Complex.I) (σ₀ - 1)⁻¹ + C
      theorem LogDerivZetaBndUnif :
      ∃ (A : ) (_ : A Set.Ioc 0 (1 / 2)) (C : ) (_ : 0 < C), ∀ (σ t : ), 3 < |t|σ Set.Ici (1 - A / Real.log |t| ^ 9)deriv riemannZeta (σ + t * Complex.I) / riemannZeta (σ + t * Complex.I) C * Real.log |t| ^ 9