AlexKontorovich/PrimeNumberTheoremAnd
Source indexedlemma · leanprover/lean4:v4.32.0
Kadiri.riemannZeta_eventually_ne_zero_punctured_positiveHeightZero
PrimeNumberTheoremAnd.IEANTN.KadiriZeroCounting · PrimeNumberTheoremAnd/IEANTN/KadiriZeroCounting.lean:202 to 220
Mathematical statement
Exact Lean statement
lemma riemannZeta_eventually_ne_zero_punctured_positiveHeightZero {T : ℝ}
(rho : riemannZeta.zeroes_rect (.univ : Set ℝ) (.Ioo 0 T)) :
∀ᶠ z in nhdsWithin (rho : ℂ) ({(rho : ℂ)}ᶜ), riemannZeta z ≠ 0Complete declaration
Lean source
Full Lean sourceLean 4
lemma riemannZeta_eventually_ne_zero_punctured_positiveHeightZero {T : ℝ} (rho : riemannZeta.zeroes_rect (.univ : Set ℝ) (.Ioo 0 T)) : ∀ᶠ z in nhdsWithin (rho : ℂ) ({(rho : ℂ)}ᶜ), riemannZeta z ≠ 0 := by have hmem_compl_one : (rho : ℂ) ∈ ({1} : Set ℂ)ᶜ := by simpa [Set.mem_compl_iff] using positiveHeightZero_ne_one rho have hdisj : Disjoint (nhdsWithin (rho : ℂ) ({(rho : ℂ)}ᶜ)) (𝓟 (({1} : Set ℂ)ᶜ \ riemannZeta.zeroesᶜ)) := by exact (mem_codiscreteWithin.mp riemannZeta.zeroes_codiscreteWithin_compl_one) (rho : ℂ) hmem_compl_one have hnot_zeroes : (({1} : Set ℂ)ᶜ \ riemannZeta.zeroesᶜ)ᶜ ∈ nhdsWithin (rho : ℂ) ({(rho : ℂ)}ᶜ) := Filter.disjoint_principal_right.mp hdisj have heventually_compl_one : ∀ᶠ z in nhdsWithin (rho : ℂ) ({(rho : ℂ)}ᶜ), z ∈ ({1} : Set ℂ)ᶜ := by exact nhdsWithin_le_nhds (isOpen_compl_singleton.mem_nhds hmem_compl_one) filter_upwards [hnot_zeroes, heventually_compl_one] with z hznot hz_compl_one hzero have hz_zero : z ∈ riemannZeta.zeroes := by simpa [riemannZeta.zeroes] using hzero exact hznot ⟨hz_compl_one, by simpa using hz_zero⟩