import OAI.NumberTheory.DirichletL.RowCompletion.ThetaNonvanishingnamespace ElevenTwelfths
From the 11 / 12 Eisenstein--Möbius estimate to zeta nonvanishing
This file isolates the final analytic bridge. Its hypothesis is the smoothed weighted ideal sum produced by the sixth-power amplifier.
noncomputable sectionopen Filter Asymptoticsopen scoped BigOperators Topology ContDiffopen OAIopen OAI.ActualEisensteinCubicopen OAI.CanonicalRowCompletionopen OAI.CompactMellinBridgeopen OAI.ShortDraftHeckeBridge hiding Oopen OAI.SixthPowerAverageThe analytic-number-theory input needed by the final bridge.
For every smooth weight supported in the public dyadic interval [1 / 2, 1],
the Eisenstein ideal sum with the finite bad Euler factors removed and with
coefficient weightedMoebius = baseChangeWeight * totientDensity has
exponent sigma + ε.
def SmoothedWeightedMobiusBound
{q : ℕ} (chi : DirichletCharacter ℂ q)
(S : Finset (Ideal O)) (sigma : ℝ) : Prop :=
∀ (W : ℝ → ℂ), ContDiff ℝ ∞ W →
Function.support W ⊆ Set.Icc (1 / 2 : ℝ) 1 →
∀ epsilon : ℝ, 0 < epsilon →
(fun Z : ℝ ↦ ∑' I : Ideal O,
outsideWeight chi S I * W ((Ideal.absNorm I : ℝ) / Z)) =O[atTop]
(fun Z : ℝ ↦ Z ^ (sigma + epsilon))
Dilating a [1, 2] auxiliary weight by x ↦ 2x converts it to the
public [1 / 2, 1] convention. The simultaneous scale change Z ↦ 2Z
does not alter a power exponent.
theorem idealSum_isBigO_of_smoothedWeightedMobiusBound
{q : ℕ} (chi : DirichletCharacter ℂ q)
(S : Finset (Ideal O)) (sigma : ℝ)
(hbound : SmoothedWeightedMobiusBound chi S sigma)
(W : ℝ → ℂ) (hW : ContDiff ℝ ∞ W)
(hsupp : ∀ x, x ≤ 1 ∨ 2 ≤ x → W x = 0)
(epsilon : ℝ) (hepsilon : 0 < epsilon) :
(fun Z : ℝ ↦ ∑' I : Ideal O,
outsideWeight chi S I * W ((Ideal.absNorm I : ℝ) / Z)) =O[atTop]
(fun Z : ℝ ↦ Z ^ (sigma + epsilon)) := q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilon⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ U⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hUsupp : Function.support U ⊆ Set.Icc (1 / 2 : ℝ) 1 := by
intro x hx q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:x ∈ Function.support U⊢ x ∈ Set.Icc (1 / 2) 1
change W (2 * x) ≠ 0 at hx q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0⊢ x ∈ Set.Icc (1 / 2) 1
have hlower : 1 < 2 * x := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilon⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
by_contra h q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0h:¬1 < 2 * x⊢ False
exact hx (hsupp (2 * x) (Or.inl (le_of_not_gt h))) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * x⊢ x ∈ Set.Icc (1 / 2) 1
have hupper : 2 * x < 2 := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilon⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
by_contra h q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xh:¬2 * x < 2⊢ False
exact hx (hsupp (2 * x) (Or.inr (le_of_not_gt h))) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xhupper:2 * x < 2⊢ x ∈ Set.Icc (1 / 2) 1
constructor left q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xhupper:2 * x < 2⊢ 1 / 2 ≤ xright q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xhupper:2 * x < 2⊢ x ≤ 1 <;> left q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xhupper:2 * x < 2⊢ 1 / 2 ≤ xright q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ Ux:ℝhx:W (2 * x) ≠ 0hlower:1 < 2 * xhupper:2 * x < 2⊢ x ≤ 1 linarith q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hscaled := (hbound U hU hUsupp epsilon hepsilon).comp_tendsto
(tendsto_id.const_mul_atTop' (by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1⊢ 0 < 2 norm_num All goals completed! 🐙 : (0 : ℝ) < 2)) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hscaled' :
(fun Z : ℝ ↦ ∑' I : Ideal O,
outsideWeight chi S I * U ((Ideal.absNorm I : ℝ) / (2 * Z))) =O[atTop]
(fun Z : ℝ ↦ (2 * Z) ^ (sigma + epsilon)) := by
simpa only [Function.comp_def, id_eq] using hscaled q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hleft :
(fun Z : ℝ ↦ ∑' I : Ideal O,
outsideWeight chi S I * U ((Ideal.absNorm I : ℝ) / (2 * Z))) =ᶠ[atTop]
(fun Z : ℝ ↦ ∑' I : Ideal O,
outsideWeight chi S I * W ((Ideal.absNorm I : ℝ) / Z)) := by
filter_upwards [eventually_ge_atTop (1 : ℝ)] with Z hZ q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Z⊢ ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z)) =
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)
apply tsum_congr q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Z⊢ ∀ (b : Ideal O),
outsideWeight chi S b * U (↑(Ideal.absNorm b) / (2 * Z)) = outsideWeight chi S b * W (↑(Ideal.absNorm b) / Z)
intro I q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)Z:ℝhZ:1 ≤ ZI:Ideal O⊢ outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z)) = outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)
have harg : 2 * ((Ideal.absNorm I : ℝ) / (2 * Z)) =
(Ideal.absNorm I : ℝ) / Z := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilon⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hZ0 : Z ≠ 0 := ne_of_gt (lt_of_lt_of_le zero_lt_one hZ) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)Z:ℝhZ:1 ≤ ZI:Ideal OhZ0:Z ≠ 0⊢ 2 * (↑(Ideal.absNorm I) / (2 * Z)) = ↑(Ideal.absNorm I) / Z
field_simp [hZ0] q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)Z:ℝhZ:1 ≤ ZI:Ideal Oharg:2 * (↑(Ideal.absNorm I) / (2 * Z)) = ↑(Ideal.absNorm I) / Z⊢ outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z)) = outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)
simp only [U, harg] q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hright :
(fun Z : ℝ ↦ (2 * Z) ^ (sigma + epsilon)) =O[atTop]
(fun Z : ℝ ↦ Z ^ (sigma + epsilon)) := by
apply (isBigO_const_mul_self ((2 : ℝ) ^ (sigma + epsilon))
(fun Z : ℝ ↦ Z ^ (sigma + epsilon)) atTop).congr' hf q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)⊢ (fun x => 2 ^ (sigma + epsilon) * x ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => (2 * Z) ^ (sigma + epsilon)hg q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)⊢ (fun Z => Z ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => Z ^ (sigma + epsilon)
· hf q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)⊢ (fun x => 2 ^ (sigma + epsilon) * x ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => (2 * Z) ^ (sigma + epsilon) filter_upwards [eventually_ge_atTop (0 : ℝ)] with Z hZ q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)Z:ℝhZ:0 ≤ Z⊢ 2 ^ (sigma + epsilon) * Z ^ (sigma + epsilon) = (2 * Z) ^ (sigma + epsilon)
exact (Real.mul_rpow (by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)Z:ℝhZ:0 ≤ Z⊢ 0 ≤ 2 norm_num All goals completed! 🐙) hZ).symm
· hg q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)⊢ (fun Z => Z ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => Z ^ (sigma + epsilon) exact Filter.EventuallyEq.rfl q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonU:ℝ → ℂ := fun x => W (2 * x)hU:ContDiff ℝ ∞ UhUsupp:Function.support U ⊆ Set.Icc (1 / 2) 1hscaled:((fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / Z)) ∘ fun x => 2 * id x) =O[atTop]
((fun Z => Z ^ (sigma + epsilon)) ∘ fun x => 2 * id x)hscaled':(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =O[atTop] fun Z =>
(2 * Z) ^ (sigma + epsilon)hleft:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * U (↑(Ideal.absNorm I) / (2 * Z))) =ᶠ[atTop] fun Z =>
∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)hright:(fun Z => (2 * Z) ^ (sigma + epsilon)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)
exact (hscaled'.congr' hleft Filter.EventuallyEq.rfl).trans hright All goals completed! 🐙
Rewrite the ideal-sum estimate in the weightedCompactSum form consumed
by inverse Mellin continuation.
theorem weightedCompactSum_isBigO_of_smoothedWeightedMobiusBound
{q : ℕ} (chi : DirichletCharacter ℂ q)
(S : Finset (Ideal O)) (sigma : ℝ)
(hbound : SmoothedWeightedMobiusBound chi S sigma)
(W : ℝ → ℂ) (hW : ContDiff ℝ ∞ W)
(hsupp : ∀ x, x ≤ 1 ∨ 2 ≤ x → W x = 0)
(epsilon : ℝ) (hepsilon : 0 < epsilon) :
(fun Z : ℝ ↦ weightedCompactSum chi S W Z⁻¹) =O[atTop]
(fun Z : ℝ ↦ Z ^ (sigma + epsilon)) := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilon⊢ (fun Z => weightedCompactSum chi S W Z⁻¹) =O[atTop] fun Z => Z ^ (sigma + epsilon)
have hideal := idealSum_isBigO_of_smoothedWeightedMobiusBound
chi S sigma hbound W hW hsupp epsilon hepsilon q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => weightedCompactSum chi S W Z⁻¹) =O[atTop] fun Z => Z ^ (sigma + epsilon)
apply hideal.congr' hf q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =ᶠ[atTop] fun Z =>
weightedCompactSum chi S W Z⁻¹hg q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => Z ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => Z ^ (sigma + epsilon)
· hf q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =ᶠ[atTop] fun Z =>
weightedCompactSum chi S W Z⁻¹ filter_upwards [eventually_ge_atTop (1 : ℝ)] with Z hZ q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Z⊢ ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z) = weightedCompactSum chi S W Z⁻¹
symm q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Z⊢ weightedCompactSum chi S W Z⁻¹ = ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)
exact weightedCompactSum_eq_ideal_tsum chi S W Z 2 (by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Z⊢ 0 < Z linarith All goals completed! 🐙)
(fun x hx ↦ by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Zx:ℝhx:W x ≠ 0⊢ x ≤ 2
have h2 : x < 2 := by
by_contra h q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Zx:ℝhx:W x ≠ 0h:¬x < 2⊢ False
exact hx (hsupp x (Or.inr (le_of_not_gt h))) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)Z:ℝhZ:1 ≤ Zx:ℝhx:W x ≠ 0h2:x < 2⊢ x ≤ 2
exact h2.le All goals completed! 🐙)
· hg q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0epsilon:ℝhepsilon:0 < epsilonhideal:(fun Z => ∑' (I : Ideal O), outsideWeight chi S I * W (↑(Ideal.absNorm I) / Z)) =O[atTop] fun Z => Z ^ (sigma + epsilon)⊢ (fun Z => Z ^ (sigma + epsilon)) =ᶠ[atTop] fun Z => Z ^ (sigma + epsilon) exact Filter.EventuallyEq.rfl All goals completed! 🐙
The smoothed weighted Möbius estimate gives analytic continuation of the
inverse Mellin factor to re s > sigma.
theorem weightedCompactMellin_analytic_of_smoothedWeightedMobiusBound
{q : ℕ} (chi : DirichletCharacter ℂ q)
(S : Finset (Ideal O)) (sigma : ℝ)
(hbound : SmoothedWeightedMobiusBound chi S sigma)
(W : ℝ → ℂ) (hW : ContDiff ℝ ∞ W)
(hsupp : ∀ x, x ≤ 1 ∨ 2 ≤ x → W x = 0) :
AnalyticOnNhd ℂ
(fun s : ℂ ↦ mellin (fun Z : ℝ ↦ weightedCompactSum chi S W Z⁻¹) (-s))
{s : ℂ | sigma < s.re} := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0⊢ AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}
have hsum := weightedCompactSum_hasSum chi S W
(fun x hx ↦ hsupp x (Or.inr hx)) q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)⊢ AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}
have hlocal := weighted_sum_inv_locallyIntegrableOn_pos
(weightedCoeff chi S) W (weightedCompactSum chi S W) hW
(fun x hx ↦ hsupp x (Or.inr hx)) hsum q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volume⊢ AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}
have hzero := weighted_sum_zero_near_small_D
(weightedCoeff chi S) (weightedCoeff_zero chi S) W
(weightedCompactSum chi S W) (fun x hx ↦ hsupp x (Or.inr hx)) hsum q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0⊢ AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}
intro s hs q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhs:s ∈ {s | sigma < s.re}⊢ AnalyticAt ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) s
have hepsilon : 0 < (s.re - sigma) / 2 := by q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0⊢ AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}
change sigma < s.re at hs q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhs:sigma < s.re⊢ 0 < (s.re - sigma) / 2
linarith q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhs:s ∈ {s | sigma < s.re}hepsilon:0 < (s.re - sigma) / 2⊢ AnalyticAt ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) s
apply OAI.ShortDraftMellin.inverse_mellin_analytic
(fun Z : ℝ ↦ weightedCompactSum chi S W Z⁻¹)
(sigma + (s.re - sigma) / 2) hlocal
(weightedCompactSum_isBigO_of_smoothedWeightedMobiusBound
chi S sigma hbound W hW hsupp _ hepsilon) hzero s q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhs:s ∈ {s | sigma < s.re}hepsilon:0 < (s.re - sigma) / 2⊢ s ∈ {s_1 | sigma + (s.re - sigma) / 2 < s_1.re}
change sigma + (s.re - sigma) / 2 < s.re q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhs:s ∈ {s | sigma < s.re}hepsilon:0 < (s.re - sigma) / 2⊢ sigma + (s.re - sigma) / 2 < s.re
change sigma < s.re at hs q:ℕchi:DirichletCharacter ℂ qS:Finset (Ideal O)sigma:ℝhbound:SmoothedWeightedMobiusBound chi S sigmaW:ℝ → ℂhW:ContDiff ℝ ∞ Whsupp:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hsum:∀ (t : ℝ), 0 < t → HasSum (fun n => weightedCoeff chi S n * W (↑n * t)) (weightedCompactSum chi S W t)hlocal:MeasureTheory.LocallyIntegrableOn (fun D => weightedCompactSum chi S W D⁻¹) (Set.Ioi 0) MeasureTheory.volumehzero:(fun D => weightedCompactSum chi S W D⁻¹) =ᶠ[𝓝[>] 0] fun x => 0s:ℂhepsilon:0 < (s.re - sigma) / 2hs:sigma < s.re⊢ sigma + (s.re - sigma) / 2 < s.re
linarith All goals completed! 🐙
A direct per-character zero-free theorem from the sigma weighted
Eisenstein--Möbius estimate.
theorem dirichletL_ne_zero_of_smoothedWeightedMobiusBound
{q : ℕ} [NeZero q] (chi : DirichletCharacter ℂ q)
(S : Finset (Ideal O)) (hS : ∀ P ∈ S, Prime P)
(sigma : ℝ) (hsigma_pos : 0 < sigma) (hsigma : sigma < 1)
(hbound : SmoothedWeightedMobiusBound chi S sigma)
(z : ℂ) (hz : sigma < z.re) (hpole : ¬ (chi = 1 ∧ z = 1)) :
chi.LFunction z ≠ 0 := by q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)⊢ DirichletCharacter.LFunction chi z ≠ 0
by_cases hz1 : z.re < 1 pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1⊢ DirichletCharacter.LFunction chi z ≠ 0neg q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:¬z.re < 1⊢ DirichletCharacter.LFunction chi z ≠ 0
· pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1⊢ DirichletCharacter.LFunction chi z ≠ 0 let W : ℝ → ℂ := OAI.ConcreteCompactWeight.weight z pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight z⊢ DirichletCharacter.LFunction chi z ≠ 0
have hW : ContDiff ℝ ∞ W := OAI.ConcreteCompactWeight.weight_smooth z pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ W⊢ DirichletCharacter.LFunction chi z ≠ 0
have hWs : ∀ x, x ≤ 1 ∨ 2 ≤ x → W x = 0 :=
OAI.ConcreteCompactWeight.weight_support z pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0⊢ DirichletCharacter.LFunction chi z ≠ 0
have hM := weightedCompactMellin_analytic_of_smoothedWeightedMobiusBound
chi S sigma hbound W hW hWs pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}⊢ DirichletCharacter.LFunction chi z ≠ 0
have hE := finiteEulerFactor_analytic chi S hS sigma pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}⊢ DirichletCharacter.LFunction chi z ≠ 0
have hH : AnalyticOnNhd ℂ (OAI.SmoothMobiusCorrection.eulerCorrection chi S)
{s : ℂ | sigma < s.re} :=
(OAI.SmoothMobiusCorrection.eulerCorrection_analytic chi S).mono (by q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}⊢ {s | sigma < s.re} ⊆ {s | 0 < s.re}
intro s hs q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}s:ℂhs:s ∈ {s | sigma < s.re}⊢ s ∈ {s | 0 < s.re}
change 0 < s.re q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}s:ℂhs:s ∈ {s | sigma < s.re}⊢ 0 < s.re
change sigma < s.re at hs q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}s:ℂhs:sigma < s.re⊢ 0 < s.re
exact hsigma_pos.trans hs All goals completed! 🐙) pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}⊢ DirichletCharacter.LFunction chi z ≠ 0
have hWanalytic := compact_weight_mellin_analytic W hW hWs sigma pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}⊢ DirichletCharacter.LFunction chi z ≠ 0
have hnotboth : chi ≠ 1 ∨ baseChangeChar chi ≠ 1 := by
by_cases hchi : chi = 1 pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hchi:chi = 1⊢ chi ≠ 1 ∨ baseChangeChar chi ≠ 1neg q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hchi:¬chi = 1⊢ chi ≠ 1 ∨ baseChangeChar chi ≠ 1
· pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hchi:chi = 1⊢ chi ≠ 1 ∨ baseChangeChar chi ≠ 1 exact Or.inr (baseChangeChar_ne_one_of_one chi hchi) All goals completed! 🐙
· neg q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hchi:¬chi = 1⊢ chi ≠ 1 ∨ baseChangeChar chi ≠ 1 exact Or.inl hchi pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hnotboth:chi ≠ 1 ∨ baseChangeChar chi ≠ 1⊢ DirichletCharacter.LFunction chi z ≠ 0
have hzneq : z ≠ 1 := by
intro he q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hnotboth:chi ≠ 1 ∨ baseChangeChar chi ≠ 1he:z = 1⊢ False
subst z q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmahE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hnotboth:chi ≠ 1 ∨ baseChangeChar chi ≠ 1hz:sigma < Complex.re 1hpole:¬(chi = 1 ∧ 1 = 1)hz1:Complex.re 1 < 1W:ℝ → ℂ := ConcreteCompactWeight.weight 1hW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}⊢ False
norm_num at hz1 pos q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:z.re < 1W:ℝ → ℂ := ConcreteCompactWeight.weight zhW:ContDiff ℝ ∞ WhWs:∀ (x : ℝ), x ≤ 1 ∨ 2 ≤ x → W x = 0hM:AnalyticOnNhd ℂ (fun s => mellin (fun Z => weightedCompactSum chi S W Z⁻¹) (-s)) {s | sigma < s.re}hE:AnalyticOnNhd ℂ (finiteEulerFactor chi S) {s | sigma < s.re}hH:AnalyticOnNhd ℂ (SmoothMobiusCorrection.eulerCorrection chi S) {s | sigma < s.re}hWanalytic:AnalyticOnNhd ℂ (mellin W) {s | sigma < s.re}hnotboth:chi ≠ 1 ∨ baseChangeChar chi ≠ 1hzneq:z ≠ 1⊢ DirichletCharacter.LFunction chi z ≠ 0
exact (pair_zero_free_of_identity_gt_two chi (baseChangeChar chi) hnotboth
sigma hsigma
(fun s ↦ (finiteEulerFactor chi S s *
OAI.SmoothMobiusCorrection.eulerCorrection chi S s) *
mellin (fun Z : ℝ ↦ weightedCompactSum chi S W Z⁻¹) (-s))
(mellin W) ((hE.mul hH).mul hM) hWanalytic
(OAI.CanonicalRowCompletion.corrected_weighted_mellin_identity
chi S hS W hW hWs)
z hz hzneq (OAI.ConcreteCompactWeight.weight_mellin_ne_zero z)).1 All goals completed! 🐙
· neg q:ℕinst✝:NeZero qchi:DirichletCharacter ℂ qS:Finset (Ideal O)hS:∀ P ∈ S, Prime Psigma:ℝhsigma_pos:0 < sigmahsigma:sigma < 1hbound:SmoothedWeightedMobiusBound chi S sigmaz:ℂhz:sigma < z.rehpole:¬(chi = 1 ∧ z = 1)hz1:¬z.re < 1⊢ DirichletCharacter.LFunction chi z ≠ 0 exact OAI.ShortDraft.dirichlet_target_of_one_le_re
q chi z (le_of_not_gt hz1) hpole All goals completed! 🐙The final bridge at the requested exponent. The hypothesis is only the smoothed weighted Eisenstein--Möbius bound for the trivial character modulo one and one finite set of prime Euler factors.
theorem riemannZeta_ne_zero_of_elevenTwelfths_weightedMobiusBound
(S : Finset (Ideal O)) (hS : ∀ P ∈ S, Prime P)
(hbound : SmoothedWeightedMobiusBound
(1 : DirichletCharacter ℂ 1) S (11 / 12 : ℝ))
(z : ℂ) (hz : (11 / 12 : ℝ) < z.re) :
riemannZeta z ≠ 0 := by S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.re⊢ riemannZeta z ≠ 0
by_cases hz1 : z = 1 pos S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:z = 1⊢ riemannZeta z ≠ 0neg S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1⊢ riemannZeta z ≠ 0
· pos S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:z = 1⊢ riemannZeta z ≠ 0 simpa only [hz1] using riemannZeta_one_ne_zero All goals completed! 🐙
· neg S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1⊢ riemannZeta z ≠ 0 have hL := dirichletL_ne_zero_of_smoothedWeightedMobiusBound
(1 : DirichletCharacter ℂ 1) S hS (11 / 12 : ℝ) (by S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1⊢ 0 < 11 / 12 norm_num All goals completed! 🐙)
(by S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1⊢ 11 / 12 < 1 norm_num All goals completed! 🐙) hbound z hz (by S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1⊢ ¬(1 = 1 ∧ z = 1)
intro h S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1h:1 = 1 ∧ z = 1⊢ False
exact hz1 h.2 All goals completed! 🐙) neg S:Finset (Ideal O)hS:∀ P ∈ S, Prime Phbound:SmoothedWeightedMobiusBound 1 S (11 / 12)z:ℂhz:11 / 12 < z.rehz1:¬z = 1hL:DirichletCharacter.LFunction 1 z ≠ 0⊢ riemannZeta z ≠ 0
simpa only [DirichletCharacter.LFunction_modOne_eq] using hL All goals completed! 🐙endend ElevenTwelfths