Skip to main content
All packages

AlexKontorovich/PrimeNumberTheoremAnd

PrimeNumberTheoremAnd

Blueprint for the PNT+ Project

Therefore indexed 1,644 complete source declarations from the exact package revision. Individual authorship and independent verification remain unset.

Research project325 GitHub starsApache-2.09 indexed versionsRepositoryFull history on Reservoir

Head version

a93551347dce

a93551347dce924b1db75d40218841bf085a465f

Toolchain
leanprover/lean4:v4.32.0
Revision date
22 Jul 2026
Dependencies
13
Versions
9

External build observation

Exact head commit and toolchain

No Reservoir build observation was found for this exact commit and toolchain. This is not evidence of failure.

Pin this source in lakefile.lean

require PrimeNumberTheoremAnd from git "https://github.com/AlexKontorovich/PrimeNumberTheoremAnd.git" @ "a93551347dce924b1db75d40218841bf085a465f"

Source declarations

1,644 indexed proofs

Package history

Showing 1,581 to 1,600 of 1,644 declarations.

theorem

ResidueOfTendsTo

We record here some prelimiaries about the zeta function and general holomorphic functions.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:41

theorem

analytic_deriv_bounded_near_point

From \texttt{riemannZeta_residue_one} (in Mathlib), we know that (s1)ζ(s)(s-1)\zeta(s) goes to 11 as s1s\to1. Now apply Theorem \ref{ResidueOfTendsTo}. (This can also be done using ζ0\zeta_0 below, which is expressed as 1/(s1)1/(s-1) plus things that are holomorphic for (s)>0\Re(s)>0...) -/)] theorem riemannZetaResidue : ∃ U ∈ 𝓝 1, BddAbove (norm ∘ (ζ - (fun s ↦ (s - 1)⁻¹)) '' (U \ {1})) := by have zeta_holc : HolomorphicOn ζ (univ \ {1}) := by intro y hy exact DifferentiableAt.differentiableWithinAt <| differentiableAt_riemannZeta hy.2 convert ResidueOfTendsTo univ_mem zeta_holc riemannZeta_residue_one using 6 simp

-- Main theorem: if functions agree on a punctured set, their derivatives agree there too theorem deriv_eqOn_of_eqOn_punctured (f g : ℂ → ℂ) (U : Set ℂ) (p : ℂ) (hU_open : IsOpen U) (h_eq : EqOn f g (U \ {p})) : EqOn (deriv f) (deriv g) (U \ {p}) := by intro x hx apply EventuallyEq.deriv_eq filter_upwards [IsOpen.mem_nhds (hU_open.sdiff isClosed_singleton) hx] with t ht using h_eq ht

/- New two theorems to be proven

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:206

theorem

nonZeroOfBddAbove

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:241

theorem

logDerivResidue'

We know that f(s)=Asp+O(1)f(s) = \frac{A}{s-p} + O(1) near pp, so we can write f(s)=(f(s)Asp)+Asp.f(s) = \left(f(s) - \frac{A}{s-p}\right) + \frac{A}{s-p}. The first term is bounded, say by MM, and the second term goes to \infty as sps \to p. Therefore, there exists a neighborhood VV of pp such that for all sV{p}s \in V \setminus \{p\}, we have f(s)0f(s) \neq 0. -/)] theorem nonZeroOfBddAbove {f : ℂ → ℂ} {p : ℂ} {U : Set ℂ} (U_in_nhds : U ∈ 𝓝 p) {A : ℂ} (A_ne_zero : A ≠ 0) (f_near_p : BddAbove (norm ∘ (f - fun s ↦ A * (s - p)⁻¹) '' (U \ {p}))) : ∃ V ∈ 𝓝 p, IsOpen V ∧ ∀ s ∈ V \ {p}, f s ≠ 0 := by

-- Step 1: Rewrite f as the sum of two parts have h_decomp : ∀ s, f s = (f s - A * (s - p)⁻¹) + A * (s - p)⁻¹ := by intro s ring -- Get a bound for the first summand obtain ⟨M, hM⟩ := f_near_p -- Step 2: The second summand A * (s - p)⁻¹ goes to ∞ as s → p -- We need to find a neighborhood where |A * (s - p)⁻¹| > M + 1 have A_norm_pos : 0 < ‖A‖ := norm_pos_iff.mpr A_ne_zero -- Choose δ such that for |s - p| < δ, we have |A * (s - p)⁻¹| > M + 1 let δ := ‖A‖ / (‖M‖ + 1) have δ_pos : 0 < δ := by refine div_pos A_norm_pos (add_pos_of_nonneg_of_pos (norm_nonneg M) one_pos) -- Find an open neighborhood V contained in both U and the δ-ball around p obtain ⟨V, hV_open, hV_mem, hV_sub⟩ : ∃ V, IsOpen V ∧ p ∈ V ∧ V ⊆ U ∩ Metric.ball p δ := by -- rw [mem_nhds_iff] at U_in_nhds obtain ⟨W, hW_sub, hW_open, hW_mem⟩ := mem_nhds_iff.mp U_in_nhds let V := W ∩ Metric.ball p δ have VNp : V ∈ 𝓝 p := (𝓝 p).inter_mem (IsOpen.mem_nhds hW_open hW_mem) (Metric.ball_mem_nhds p δ_pos) exact ⟨V, IsOpen.inter hW_open Metric.isOpen_ball, mem_of_mem_nhds VNp, inter_subset_inter_left _ hW_sub⟩ use V, mem_nhds_iff.mpr ⟨V, subset_refl V, hV_open, hV_mem⟩, hV_open -- Show f ≠ 0 on V intro s hs have hs_in_U : s ∈ U := hV_sub hs.1 |>.1 have hs_near_p : dist s p < δ := hV_sub hs.1 |>.2 have hs_ne_p : s ≠ p := hs.2 -- Step 3: Therefore the sum of the two terms has large norm rw [h_decomp s] -- The first summand is bounded have bound_first : ‖f s - A * (s - p)⁻¹‖ ≤ M := by apply hM exact ⟨s, ⟨hs_in_U, hs_ne_p⟩, rfl⟩ -- The second summand has large norm have large_second : ‖M‖ + 1 < ‖A * (s - p)⁻¹‖ := by rw [norm_mul, norm_inv, ← div_eq_mul_inv] rw [lt_div_iff₀ (norm_pos_iff.mpr (sub_ne_zero.mpr hs_ne_p))] rw [mul_comm, ← lt_div_iff₀ (add_pos_of_nonneg_of_pos (norm_nonneg M) one_pos)] rw [dist_eq_norm_sub] at hs_near_p exact hs_near_p -- Step 4: Therefore the sum is nonzero near p by_contra h_zero -- If f s = 0, then the two summands are negatives of each other rw [add_eq_zero_iff_eq_neg] at h_zero rw [h_zero, norm_neg] at bound_first -- But this contradicts our bounds have : ‖M‖ + 1 < ‖M‖ := (lt_of_lt_of_le (lt_of_lt_of_le large_second bound_first) (Real.le_norm_self M)) norm_num at this

/- The set should be open so that f'(p) = O(1) for all p ∈ U

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:312

theorem

logDerivResidue

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:416

lemma

BddAbove_to_IsBigO

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:458

theorem

ResidueMult

Let's also record that if a function ff has a simple pole at pp with residue AA, and gg is holomorphic near pp, then the residue of fgf \cdot g is Ag(p)A \cdot g(p).

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:499

theorem

riemannZetaLogDerivResidue

As a corollary, the log derivative of the Riemann zeta function has a simple pole at s=1s=1:

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:578

lemma

sum_eq_int_deriv

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:669

lemma

ZetaSum_aux1φderiv

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:727

lemma

ZetaSum_aux1

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:753

lemma

ZetaSum_aux1_2

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:793

lemma

ZetaSum_aux1_5d

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:846

lemma

ZetaBnd_aux1a

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:864

lemma

finsetSum_tendsto_tsum

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:901

lemma

ZetaSum_aux3

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:931

lemma

integrableOn_of_Zeta0_fun

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:943

lemma

ZetaSum_aux2

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:954

lemma

ZetaBnd_aux1b

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:996

lemma

ZetaBnd_aux1

Open the record for the exact Lean statement and complete source.

PrimeNumberTheoremAnd.ZetaBounds · PrimeNumberTheoremAnd/ZetaBounds.lean:1032

Static source extraction only. Package code was not executed. Every result keeps its complete declaration, exact file and line range, commit, toolchain, license file, and content hash.