theorem
lift_multipliable_of_nonzero
{P : Type u_1}
(a : P → ℂ)
(ha : Multipliable a)
(h_a_nonzero : ∀ (p : P), a p ≠ 0)
(hA_nonzero' : ∀ (A : ℂ), HasProd a A → A ≠ 0)
:
Multipliable fun (p : P) => Units.mk0 (a p) ⋯
theorem
prod_of_ratios_simplified
{P : Type u_1}
(a b : P → ℂ)
(ha : Multipliable a)
(hb : Multipliable b)
(h_a_nonzero : ∀ (p : P), a p ≠ 0)
(h_b_nonzero : ∀ (p : P), b p ≠ 0)
(hA_nonzero' : ∀ (A : ℂ), HasProd a A → A ≠ 0)
(hB_nonzero' : ∀ (A : ℂ), HasProd b A → A ≠ 0)
:
theorem
prod_inequality
{P : Type u_1}
(a b : P → NNReal)
(ha : Multipliable a)
(hb : Multipliable b)
(hab : ∀ (p : P), a p ≤ b p)
:
theorem
multipliable_complex_abs_inv
{i : Type u_1}
(g : i → ℂ)
(h_mult : Multipliable fun (i : i) => (1 - g i)⁻¹)
(h_nonzero : ∀ (i : i), 1 - g i ≠ 0)
:
Multipliable fun (i : i) => ‖1 - g i‖⁻¹
theorem
multipliable_nnreal_coe
{i : Type u_1}
(f : i → NNReal)
(hf : Multipliable f)
:
Multipliable fun (i : i) => ↑(f i)
theorem
tendsto_finprod_coe_iff_tendsto_coe_finprod
{i : Type u_1}
(f : i → NNReal)
(a : NNReal)
:
Filter.Tendsto (fun (s : Finset i) => ∏ i ∈ s, ↑(f i)) Filter.atTop (nhds ↑a) ↔ Filter.Tendsto ((fun (x : NNReal) => ↑x) ∘ fun (s : Finset i) => ∏ i ∈ s, f i) Filter.atTop (nhds ↑a)
theorem
multipliable_real_to_nnreal
{i : Type u_1}
(f : i → ℝ)
(hpos : ∀ (i : i), 0 < f i)
(h_mult : Multipliable f)
:
Multipliable fun (i : i) => ⟨f i, ⋯⟩
Definition: Partial sum of zeta.
Equations
- zetaPartialSum s N = ∑ n ∈ Finset.range N, (↑n + 1) ^ (-s)
Instances For
theorem
helper_contdiff_differentiable_integrable
(f : ℝ → ℂ)
(hf : ContDiff ℝ 1 f)
(a b : ℝ)
:
(∀ t ∈ Set.Icc a b, DifferentiableAt ℝ f t) ∧ MeasureTheory.IntegrableOn (deriv f) (Set.Icc a b) MeasureTheory.volume
theorem
lem_partialSumIsZetaN
(s : ℂ)
(N : ℕ)
:
let f := fun (u : ℝ) => ↑u ^ (-s);
let a := fun (_n : ℕ) => 1;
zetaPartialSum s N = ∑ n ∈ Finset.range N, a n * f (↑n + 1)
Lemma: Partial sum equals ∑ a(n) f(n+1)
with a(n)=1
, f(u)=u^{-s}
.
theorem
differentiable_integrable_cpow_on_Icc
(s : ℂ)
(a b : ℝ)
(h0 : 0 < a)
(hle : a ≤ b)
:
(∀ t ∈ Set.Icc a b, DifferentiableAt ℝ (fun (u : ℝ) => ↑u ^ (-s)) t) ∧ MeasureTheory.IntegrableOn (deriv fun (u : ℝ) => ↑u ^ (-s)) (Set.Icc a b) MeasureTheory.volume
theorem
helper_continuousOn_cpow
(r : ℂ)
{a b : ℝ}
(ha : 0 < a)
(hab : a ≤ b)
:
ContinuousOn (fun (u : ℝ) => ↑u ^ r) (Set.Icc a b)
Helper: continuity of u ↦ (u:ℂ)^r
on Icc a b
when a>0
.
theorem
helper_intervalIntegrable_mul_cpow_id
(s : ℂ)
{a b : ℝ}
(ha : 1 ≤ a)
(hab : a ≤ b)
:
IntervalIntegrable (fun (u : ℝ) => ↑u * ↑u ^ (-s - 1)) MeasureTheory.volume a b
Helper: IntervalIntegrable
of (u:ℂ)*(u:ℂ)^(-s-1)
on [a,b]
when a≥1
.
theorem
helper_aestronglyMeasurable_kernel_Icc
(s : ℂ)
{a b : ℝ}
:
MeasureTheory.AEStronglyMeasurable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-s - 1))
(MeasureTheory.volume.restrict (Set.Icc a b))
Helper: a.e.-strong measurability for the fractional-part kernel on Icc
.
theorem
helper_intervalIntegrable_frac_kernel
(s : ℂ)
{a b : ℝ}
(ha : 1 ≤ a)
(hab : a ≤ b)
:
IntervalIntegrable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-s - 1)) MeasureTheory.volume a b
Helper: IntervalIntegrable
of the fractional-part kernel on [a,b]
when a≥1
.
theorem
tendsto_natCast_cpow_zero_of_neg_re
(w : ℂ)
(hw : w.re < 0)
:
Filter.Tendsto (fun (N : ℕ) => ↑N ^ w) Filter.atTop (nhds 0)
theorem
lem_limitTerm1
(s : ℂ)
(hs : 1 < s.re)
:
Filter.Tendsto (fun (N : ℕ) => ↑N ^ (1 - s)) Filter.atTop (nhds 0)
theorem
helper_integral_interval_sub_left
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : ℝ → E}
{a b c : ℝ}
(hab : IntervalIntegrable f MeasureTheory.volume a b)
(hac : IntervalIntegrable f MeasureTheory.volume a c)
:
Lemma: Integral convergence of the fractional-part kernel.
theorem
helper_tendsto_nat_rpow_neg
(ε : ℝ)
(hε : 0 < ε)
:
Filter.Tendsto (fun (m : ℕ) => ↑m ^ (-ε)) Filter.atTop (nhds 0)
theorem
helper_exists_limit_of_tail_bound
(a : ℕ → ℂ)
(b : ℕ → ℝ)
(hb_nonneg : ∀ (m : ℕ), 0 ≤ b m)
(hb_tendsto : Filter.Tendsto b Filter.atTop (nhds 0))
(hbound : ∀ᶠ (m : ℕ) (n : ℕ) in Filter.atTop, m ≤ n → ‖a n - a m‖ ≤ b m)
:
∃ (l : ℂ), Filter.Tendsto a Filter.atTop (nhds l)
theorem
helper_intervalIntegrable_rpow_neg
{ε a b : ℝ}
(hε : 0 < ε)
(ha : 1 ≤ a)
(hab : a ≤ b)
:
IntervalIntegrable (fun (u : ℝ) => u ^ (-1 - ε)) MeasureTheory.volume a b
theorem
helper_integrableOn_of_bound_Ioc
{m n : ℝ}
{f : ℝ → ℂ}
{g : ℝ → ℝ}
(hmeas : MeasureTheory.AEStronglyMeasurable f (MeasureTheory.volume.restrict (Set.Ioc m n)))
(hbound : ∀ᵐ (u : ℝ) ∂MeasureTheory.volume.restrict (Set.Ioc m n), ‖f u‖ ≤ g u)
(hg : MeasureTheory.IntegrableOn g (Set.Ioc m n) MeasureTheory.volume)
:
theorem
helper_aestronglyMeasurable_kernel_Ioc
(s : ℂ)
{m n : ℝ}
:
MeasureTheory.AEStronglyMeasurable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-s - 1))
(MeasureTheory.volume.restrict (Set.Ioc m n))
theorem
helper_integrableOn_rpow_neg_Ioc
{ε : ℝ}
(hε : 0 < ε)
{m n : ℝ}
(hm : 1 ≤ m)
(hmn : m ≤ n)
:
MeasureTheory.IntegrableOn (fun (u : ℝ) => u ^ (-1 - ε)) (Set.Ioc m n) MeasureTheory.volume
theorem
helper_intervalIntegrable_of_integrableOn_Ioc
{f : ℝ → ℂ}
{m n : ℝ}
(hmn : m ≤ n)
(hint : MeasureTheory.IntegrableOn f (Set.Ioc m n) MeasureTheory.volume)
:
theorem
helper_tendsto_const_mul_zero
(c : ℝ)
{f : ℕ → ℝ}
(h : Filter.Tendsto f Filter.atTop (nhds 0))
:
Filter.Tendsto (fun (n : ℕ) => c * f n) Filter.atTop (nhds 0)
theorem
helper_limit_norm_le_of_eventual_bound
{a : ℕ → ℂ}
{l : ℂ}
{B : ℝ}
(h : Filter.Tendsto a Filter.atTop (nhds l))
(hbound : ∀ᶠ (n : ℕ) in Filter.atTop, ‖a n‖ ≤ B)
:
theorem
helper_tendsto_zetaPartialSum_to_zeta
(s : ℂ)
(hs : 1 < s.re)
:
Filter.Tendsto (fun (N : ℕ) => zetaPartialSum s N) Filter.atTop (nhds (riemannZeta s))
Lemma: Zeta formula for Re(s) > 1
.
theorem
integrableOn_of_ae_bound
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : ℝ → E}
{g : ℝ → ℝ}
{s : Set ℝ}
(hfm : MeasureTheory.AEStronglyMeasurable f (MeasureTheory.volume.restrict s))
(hgint : MeasureTheory.IntegrableOn g s MeasureTheory.volume)
(hbound : ∀ᵐ (x : ℝ) ∂MeasureTheory.volume.restrict s, ‖f x‖ ≤ g x)
:
theorem
kernel_aestronglyMeasurable_on_Ioi
(s : ℂ)
(a : ℝ)
:
MeasureTheory.AEStronglyMeasurable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-s - 1))
(MeasureTheory.volume.restrict (Set.Ioi a))
theorem
helper_limit_scaled_cpow
(s : ℂ)
(hs : 1 < s.re)
(hsne : s ≠ 1)
:
Filter.Tendsto (fun (N : ℕ) => ↑N ^ (1 - s) / (1 - s)) Filter.atTop (nhds 0)
theorem
helper_tendsto_const_mul
{f : ℕ → ℂ}
{l : ℂ}
(c : ℂ)
(h : Filter.Tendsto f Filter.atTop (nhds l))
:
Filter.Tendsto (fun (n : ℕ) => c * f n) Filter.atTop (nhds (c * l))
theorem
helper_tendsto_add
{f g : ℕ → ℂ}
{a b : ℂ}
(hf : Filter.Tendsto f Filter.atTop (nhds a))
(hg : Filter.Tendsto g Filter.atTop (nhds b))
:
Filter.Tendsto (fun (n : ℕ) => f n + g n) Filter.atTop (nhds (a + b))
theorem
helper_tendsto_neg
{f : ℕ → ℂ}
{a : ℂ}
(hf : Filter.Tendsto f Filter.atTop (nhds a))
:
Filter.Tendsto (fun (n : ℕ) => -f n) Filter.atTop (nhds (-a))
theorem
helper_tendsto_sub
{f g : ℕ → ℂ}
{a b : ℂ}
(hf : Filter.Tendsto f Filter.atTop (nhds a))
(hg : Filter.Tendsto g Filter.atTop (nhds b))
:
Filter.Tendsto (fun (n : ℕ) => f n - g n) Filter.atTop (nhds (a - b))
Lemma: Zeta is analytic on ℂ \ {1}
.
theorem
open_mem_interior_of_isOpen
{X : Type u_1}
[TopologicalSpace X]
{U : Set X}
(hU : IsOpen U)
{x : X}
(hx : x ∈ U)
:
theorem
joinedIn_of_path_forall_mem
{s : Set ℂ}
{x y : ℂ}
(γ : Path x y)
(hγ : ∀ (t : ↑unitInterval), γ t ∈ s)
:
JoinedIn s x y
theorem
path_forall_mem_symm
{x y : ℂ}
{P : ℂ → Prop}
(γ : Path x y)
(h : ∀ (t : ↑unitInterval), P (γ t))
(t : ↑unitInterval)
:
P (γ.symm t)
theorem
integrableOn_t_mul_exp_neg
(ε : ℝ)
(hε : 0 < ε)
:
MeasureTheory.IntegrableOn (fun (t : ℝ) => t * Real.exp (-ε * t)) (Set.Ioi 0) MeasureTheory.volume
theorem
integrable_kernel_at_param
(s : ℂ)
(hs : 0 < s.re)
:
MeasureTheory.Integrable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-s - 1)) (MeasureTheory.volume.restrict (Set.Ioi 1))
theorem
hasDerivAt_integral_param_dominated_Ioi
(F F' : ℂ → ℝ → ℂ)
(s : ℂ)
(δ : ℝ)
(hδ : 0 < δ)
(hmeas : ∀ᶠ (z : ℂ) in nhds s, MeasureTheory.AEStronglyMeasurable (F z) (MeasureTheory.volume.restrict (Set.Ioi 1)))
(hFint : MeasureTheory.Integrable (F s) (MeasureTheory.volume.restrict (Set.Ioi 1)))
(hF'meas : MeasureTheory.AEStronglyMeasurable (F' s) (MeasureTheory.volume.restrict (Set.Ioi 1)))
(bound : ℝ → ℝ)
(hbound_int : MeasureTheory.Integrable bound (MeasureTheory.volume.restrict (Set.Ioi 1)))
(hbound : ∀ᵐ (u : ℝ) ∂MeasureTheory.volume.restrict (Set.Ioi 1), ∀ z ∈ Metric.ball s δ, ‖F' z u‖ ≤ bound u)
(hderiv :
∀ᵐ (u : ℝ) ∂MeasureTheory.volume.restrict (Set.Ioi 1), ∀ z ∈ Metric.ball s δ, HasDerivAt (fun (w : ℂ) => F w u) (F' z u) z)
:
theorem
mem_ball_of_mem_two_half_balls
{x z s : ℂ}
{δ : ℝ}
(hx : x ∈ Metric.ball z (δ / 2))
(hz : z ∈ Metric.ball s (δ / 2))
:
theorem
analyticAt_of_eventually_differentiableAt
{f : ℂ → ℂ}
{s : ℂ}
(h : ∀ᶠ (z : ℂ) in nhds s, DifferentiableAt ℂ f z)
:
AnalyticAt ℂ f s
theorem
kernel_integrable_param_of_re_pos
(z : ℂ)
(hz : 0 < z.re)
:
MeasureTheory.Integrable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-z - 1)) (MeasureTheory.volume.restrict (Set.Ioi 1))
theorem
integrable_kernel_at_param'
(z : ℂ)
(hz : 0 < z.re)
:
MeasureTheory.Integrable (fun (u : ℝ) => ↑(Int.fract u) * ↑u ^ (-z - 1)) (MeasureTheory.volume.restrict (Set.Ioi 1))
Equations
- logDerivZeta s = deriv riemannZeta s / riemannZeta s
Instances For
theorem
DiffAtWithinAt
{T : Set ℂ}
{g : ℂ → ℂ}
{s : ℂ}
(_hs : s ∈ T)
:
DifferentiableAt ℂ g s → DifferentiableWithinAt ℂ g T s
theorem
DiffWithinAtallOn
{T : Set ℂ}
{g : ℂ → ℂ}
:
(∀ s ∈ T, DifferentiableWithinAt ℂ g T s) → DifferentiableOn ℂ g T
theorem
DiffAtOn
{T : Set ℂ}
{g : ℂ → ℂ}
:
(∀ s ∈ T, DifferentiableAt ℂ g s) → DifferentiableOn ℂ g T
theorem
DiffOnanalOnNhd
{T : Set ℂ}
(hT : IsOpen T)
{g : ℂ → ℂ}
:
DifferentiableOn ℂ g T → AnalyticOnNhd ℂ g T
theorem
DiffAtallanalOnNhd
{T : Set ℂ}
(hT : IsOpen T)
{g : ℂ → ℂ}
:
(∀ s ∈ T, DifferentiableAt ℂ g s) → AnalyticOnNhd ℂ g T
theorem
zetaanalOnD1c
(t : ℝ)
(ht : |t| > 1)
:
AnalyticOnNhd ℂ riemannZeta (Metric.closedBall (3 / 2 + I * ↑t) 1)
theorem
zetaanalOnD1c_general
(x t : ℝ)
(ht : |t| > 1)
:
AnalyticOnNhd ℂ riemannZeta (Metric.closedBall (↑x + I * ↑t) 1)
theorem
fc_analytic_normalized
(c : ℂ)
(f : ℂ → ℂ)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
(h_nonzero : f c ≠ 0)
:
theorem
fc_zeros
(r : ℝ)
(h : r > 0)
(c : ℂ)
(f : ℂ → ℂ)
(h_nonzero : f c ≠ 0)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
:
theorem
AnalyticAt.comp_add_const
{f : ℂ → ℂ}
{z0 c : ℂ}
(hf : AnalyticAt ℂ f (z0 + c))
:
AnalyticAt ℂ (fun (z : ℂ) => f (z + c)) z0
theorem
AnalyticAt.of_comp_add_const
{f : ℂ → ℂ}
{z0 c : ℂ}
(hg : AnalyticAt ℂ (fun (z : ℂ) => f (z + c)) z0)
:
AnalyticAt ℂ f (z0 + c)
theorem
fc_m_order
(r : ℝ)
(h : r > 0)
(c : ℂ)
(f : ℂ → ℂ)
(h_nonzero : f c ≠ 0)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
{ρ' : ℂ}
(hρ' : ρ' ∈ zerosetKfRc r 0 fun (z : ℂ) => f (z + c) / f c)
:
theorem
DminusK
(r1 R1 : ℝ)
(hr1 : r1 > 0)
(hR1 : R1 > 0)
(c : ℂ)
(f : ℂ → ℂ)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
(h_nonzero : f c ≠ 0)
(z : ℂ)
:
(z ∈ Metric.closedBall 0 r1 \ zerosetKfRc R1 0 fun (w : ℂ) => f (w + c) / f c) ↔ z + c ∈ Metric.closedBall c r1 \ zerosetKfRc R1 c f
theorem
shifted_zeros_correspondence
(R1 : ℝ)
(hR1 : R1 > 0)
(c z : ℂ)
(f : ℂ → ℂ)
(h_nonzero : f c ≠ 0)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
(hfin_orig : (zerosetKfRc R1 c f).Finite)
(hfin_shift : (zerosetKfRc R1 0 fun (u : ℂ) => f (u + c) / f c).Finite)
:
theorem
final_ineq2
(B : ℝ)
(hB : 1 < B)
(r1 r R R1 : ℝ)
(hr1pos : 0 < r1)
(hr1_lt_r : r1 < r)
(hr_lt_R1 : r < R1)
(hR1_lt_R : R1 < R)
(hR : R < 1)
(c : ℂ)
(f : ℂ → ℂ)
(h_analytic : AnalyticOnNhd ℂ f (Metric.closedBall c 1))
(h_nonzero : f c ≠ 0)
(h_bound : ∀ z ∈ Metric.closedBall c R, ‖f z‖ < B)
(hfin : (zerosetKfRc R1 0 fun (z : ℂ) => f (z + c) / f c).Finite)
(z : ℂ)
:
(z ∈ Metric.closedBall 0 r1 \ zerosetKfRc R1 0 fun (z : ℂ) => f (z + c) / f c) →
‖deriv (fun (z : ℂ) => f (z + c) / f c) z / (f (z + c) / f c) - ∑ ρ ∈ hfin.toFinset, ↑(analyticOrderAt (fun (w : ℂ) => f (w + c) / f c) ρ).toNat / (z - ρ)‖ ≤ (16 * r ^ 2 / (r - r1) ^ 3 + 1 / ((R ^ 2 / R1 - R1) * Real.log (R / R1))) * Real.log (B / ‖f c‖)
theorem
log_Deriv_Expansion_Zeta
(t : ℝ)
(ht : |t| > 2)
(r1 r R1 R : ℝ)
(hr1_pos : 0 < r1)
(hr1_lt_r : r1 < r)
(hr_pos : 0 < r)
(hr_lt_R1 : r < R1)
(hR1_pos : 0 < R1)
(hR1_lt_R : R1 < R)
(hR_lt_1 : R < 1)
:
let c := 3 / 2 + I * ↑t;
∀ B > 1,
(∀ z ∈ Metric.closedBall c R, ‖riemannZeta z‖ < B) →
∀ (hfin : (zerosetKfRc R1 c riemannZeta).Finite),
∀ z ∈ Metric.closedBall c r1 \ zerosetKfRc R1 c riemannZeta,
‖logDerivZeta z - ∑ ρ ∈ hfin.toFinset, ↑(analyticOrderAt riemannZeta ρ).toNat / (z - ρ)‖ ≤ (16 * r ^ 2 / (r - r1) ^ 3 + 1 / ((R ^ 2 / R1 - R1) * Real.log (R / R1))) * Real.log (B / ‖riemannZeta c‖)
theorem
Zeta1_Zeta_Expand :
∃ A > 1,
∃ b > 1,
∀ (t : ℝ),
|t| > 2 →
∀ (r1 r R1 R : ℝ),
0 < r1 →
r1 < r →
0 < r →
r < R1 →
0 < R1 →
R1 < R →
R < 1 →
let c := 3 / 2 + I * ↑t;
∀ (hfin : (zerosetKfRc R1 c riemannZeta).Finite),
∀ z ∈ Metric.closedBall c r1 \ zerosetKfRc R1 c riemannZeta,
‖logDerivZeta z - ∑ ρ ∈ hfin.toFinset, ↑(analyticOrderAt riemannZeta ρ).toNat / (z - ρ)‖ ≤ (16 * r ^ 2 / (r - r1) ^ 3 + 1 / ((R ^ 2 / R1 - R1) * Real.log (R / R1))) * (Real.log |t| + Real.log b + A)
theorem
Zeta1_Zeta_Expansion
(r1 r : ℝ)
(hr1_pos : 0 < r1)
(hr1_lt_r : r1 < r)
(hr_lt_R1 : r < 5 / 6)
:
∃ C > 1,
∀ (t : ℝ),
|t| > 3 →
let c := 3 / 2 + I * ↑t;
∀ (hfin : (zerosetKfRc (5 / 6) c riemannZeta).Finite),
∀ z ∈ Metric.closedBall c r1 \ zerosetKfRc (5 / 6) c riemannZeta,
‖logDerivZeta z - ∑ ρ ∈ hfin.toFinset, ↑(analyticOrderAt riemannZeta ρ).toNat / (z - ρ)‖ ≤ C * (1 / (r - r1) ^ 3 + 1) * Real.log |t|