← Session 27 — ii′-5c/5d: Davenport disc + FE-reflection bounds
thinking (14907 chars)
While the build runs, let me think about whether to start the ii′-5e design doc. The session's stated plan: "Then ii′-5e design (identity assembly plan) if time; session closure". The 5e design was already sketched in D-067 §6 — a full design doc D-068 would pin the exact Lean assembly. That's valuable but let me first make sure the current work lands (build + audit + commit the Lean work), then assess.
Actually — let me use the build time to start drafting D-068 (ii′-5e design). The key content from D-067 §6 already exists; the design doc would pin:
1. The series convergence: Σ_ρ m_ρ(1/(s−ρ) + 1/ρ) — absolute convergence from Σ m_ρ/|ρ|² (mult-weighted zero_sum_inv_sq). Details: for |s| ≤ R and |ρ| ≥ 2R: |1/(s−ρ) + 1/ρ| = |s/(ρ(s−ρ))| ≤ R/(|ρ|·|ρ|/2) = 2R/|ρ|². The tail converges; finite head no issue. In Lean: Summable of the paired terms... this needs the mult-weighted sum over ALL zeros (nontrivial + trivial? The full identity: ζ′/ζ(s) = B + Σ_ρ (1/(s−ρ) + 1/ρ) − 1/(s−1) + ½ψ(s/2+1)... — the Davenport form: ζ′/ζ(s) = B + Σ_ρ [1/(s−ρ) + 1/ρ] − 1/(s−1) + (1/2)log π − (1/2)ψ(s/2+1)? There are several normalizations (Davenport Ch. 12: ζ′/ζ(s) = B + Σ_ρ(1/(s−ρ) + 1/ρ) − 1/(s−1) − ½log π + ½ψ(s/2+1)? hmm). The exact form matters and should be pinned against D-056's usage. D-067 §6 wrote: ζ′/ζ(s) = B + Σ_ρ m_ρ(1/(s−ρ) + 1/ρ) − 1/s − 1/(s−1) + ½log π − ½ψ(s/2). The sum there is over nontrivial zeros only, with the trivial zeros handled by the ψ term shift... Actually with the −1/s and the ψ(s/2) term: the trivial zeros at −2n come from −½ψ(s/2) = −½[ψ(s/2+2) − 2/s − 2/(s+2)]... hmm. Let me not re-derive here — the design doc will pin it against D-056's exact form used in the tight analysis.
2. F entire: residue cancellation at each nontrivial zero (logDeriv residue = m_ρ via ii′-1b's logDeriv NF machinery; the series term's residue at ρ is m_ρ too) — so F has removable singularities; at s = 1 (both have residue... ζ′/ζ has residue −1 at 1; −1/(s−1) has residue −1 ✓); at 0 (−1/s vs the ψ term's +1/s from −½ψ(s/2) = −½(−2/s + ...) hmm ψ(s/2) ~ −2/s at 0... −½ψ(s/2) has residue +1 at 0; −1/s has residue −1 — cancel ✓ if the form is right); at trivial zeros −2n: −½ψ(s/2) has residue −½·2 = −1 at s = −2n (ψ has residue −1 at −n: ψ(z) = −1/(z+n) + holomorphic near −n... so −½ψ(s/2) near s = −2n: ψ(s/2) ~ −1/(s/2+n) = −2/(s+2n): −½·(−2/(s+2n)) = 1/(s+2n): residue +1?? and ζ′/ζ at −2n (SIMPLE zero, zeroMult = 1 ✓ THE POINT of the 5e-prep!) has residue +1 ✓ cancel ✓.) — so the identity's form must have the trivial-zero residues matching. This is exactly why zeroMult(−2n) = 1 was needed. With D-067's form: −½ψ(s/2) contributes residue +1 at −2n... wait let me recompute: ψ(w) has simple poles at w = −k with residue −1 (ψ(w) = −1/(w+k) + O(1) near w = −k — YES residue −1 since ψ(w) + 1/(w+k) analytic: from the series ψ(w) = −γ + Σ (1/(j+1) − 1/(j+w))... the term j = k: −1/(k + w) has residue −1 ✓). So −½ψ(s/2) at s = −2n: w = s/2 = −n + (s+2n)/2: ψ(s/2) has residue −1 in w ⟹ in s: −1·(1/2) = −1/2·... residue of s ↦ ψ(s/2) at s = −2n is −1·2 = −2 (dw = ds/2 so residue scales by 2). So −½ψ(s/2) has residue −½·(−2) = +1 at s = −2n ✓ matches ζ′/ζ's +1 ✓✓. And the zero-sum in D-067's form is over NONTRIVIAL zeros only — the trivial-zero residues live in the ψ term ✓ consistent.
3. |F| = o(R) on γ-gap circles: |s| = R_k with R_k chosen in gaps of the zero ordinates... wait no — the circles are |s| = R and the issue is the horizontal lines hitting zeros. The classical approach (Davenport Ch. 15): on the circle |s| = R, |ζ′/ζ(s)| = O(log²R) using the DISC bound directly (5c/5d give exactly this: on the circle, s has |im s| ≤ R... hmm the 5c/5d bounds are stated for |t| ≥ 10 with the NEAR-ZERO SUBTRACTION. For F = ζ′/ζ − [series + elementary], on the circle:
- The series Σ m(1/(s−ρ)+1/ρ): split near (|γ−t|<1 in the strip sense... on a circle of radius R this gets subtle) — D-067 says "the series on the circle is O((log R)²) by the dyadic split".
- |ζ′/ζ(s)| on the circle: for s on the right part (re s ≥ 1/2... but wait the 5c bound is ζ′/ζ MINUS the near sum. The near sum on the circle: |Σ_{near} m/(s−ρ)| ≤ Σ m/|s−ρ| — on the circle |s| = R with the circle AVOIDING the zeros (γ-gap condition)... hmm — actually the classical argument uses the near-zero sum WITH the gap: if the circle passes within the strip, the zeros near the circle have |s−ρ| bounded below? NO — the γ-gap is about the horizontal line im s = T avoiding ordinates; for circles the standard choice is |s| = R_k where the circle crosses the critical strip at heights ±√(R²−σ²) — the relevant ordinates are near ±R, and the gap condition on R keeps the circle's strip-crossing points away from zero ordinates by ≍ 1/log R...
This is getting into the real design content. D-067 §6(iii) says: "|F| = o(R) on a γ-gap circle sequence (R_k in gaps of the zero-ordinate set from the perimeter count; the series on the circle is O((log R)²) by the dyadic split; |ζ′/ζ| ≤ C log R on the circle by 5c on the right + 5d reflection on the left; elementary terms O(log R))". Hmm — "5c on the right": 5c's bound is ‖ζ′/ζ − Σ_near‖ ≤ 100000(log|t|)² — so |ζ′/ζ| ≤ 100000(log|t|)² + |near sum|. The near sum at s on the circle with |t| ≥ 10: |Σ_{|γ−t|<1} m/(s−ρ)| ≤ Σ m / |s−ρ| — |s−ρ| can be SMALL (s could be near a zero!). The γ-gap circle condition must control this: on the circle |s| = R, if |im s| = t with ||γ−t| windows|... For the circle, the dangerous points are where the circle passes the strip: there t² = R² − σ² with σ ∈ [0,1], so t ≈ R − σ²/(2R)... the ordinate is ≈ R. The gap condition: choose R such that |R − γ| ≥ 1/(3·C₀(R))-ish for all zero ordinates γ (perimeter pigeonhole on unit windows) — then at the strip-crossing points of the circle, |t − γ| ≥ |R − γ| − |t − R|... t = √(R²−σ²) ∈ [√(R²−1), R]: R − t ≤ R − √(R²−1) = 1/(R + √(R²−1)) ≤ 1/R. So |t − γ| ≥ |R − γ| − 1/R — with the gap 1/(3C₀(R+1)) and C₀ ~ A log T + B, the gap ≍ 1/log R ≫ 1/R ✓. Then |s − ρ| ≥ |im s − γ| = |t − γ| ≍ 1/log R for the near zeros, and |s−ρ| ≥ 1 for the far ones... wait the near sum has ≤ C₀(t) terms each ≤ 1/|s−ρ| ≤ C·log R ⟹ near sum ≤ C₀(t)·C·log R = O((log R)²) ✓. And 5c+5d give the rest: |ζ′/ζ| ≤ 100000(log|t|)² + O((log R)²) hmm — wait the 5c statement BOUNDS ‖ζ′/ζ − Σ_near‖ — so ‖ζ′/ζ‖ ≤ 100000(log|t|)² + ‖Σ_near‖ = O((log R)²) + O((log R)²) ✓. On the circle |t| ≤ R so (log|t|)² ≤ (log R)² ✓. For the parts of the circle with |t| < 10 (near the real axis): ζ′/ζ is continuous on the compact set {|s| ≤ ...}∩{|im s| ≤ 10}∩{away from finitely many zeros/pole}... hmm — the circle |s| = R with |im s| < 10: points near ±R real — ζ′/ζ near R real large: fine (re s ≥ R−δ... for R > 10 the circle's real-axis-crossing region has re s ≈ ±R: at +R: ζ′/ζ bounded by Dirichlet series (re > 1) O(1); at −R: via FE-reflection: ζ′/ζ(−R+it) = −ζ′/ζ(1+R−it) − bracket with the digamma term ~ log R — need the left-plane digamma bound for re(s/2) ~ −R/2, |im| < 10 — hmm the 5d bound has |im| ≥ 2 condition... the points with |im s| < 2 on the left: w = s/2 with |im w| < 1: the left-plane digamma bound doesn't apply directly! There the circle crosses the negative real axis at −R: if R is chosen at an ODD integer (R = 2k+1), the point −R/2 = −(k+1/2) is a half-integer where ψ is regular — ψ(−k−1/2) is a specific finite value... but the bound needs uniformity in R: ψ(s/2) for s near −R: shift by ~R/2: ψ(s/2) = ψ(s/2 + m) − Σ_{j<m} 1/(s/2+j) — the terms 1/(s/2+j) with s/2 near −k−1/2: the worst term j ≈ k: s/2 + j ≈ −1/2: |·| ≥ 1/2 − ε... each term O(1), but there are ~R/2 terms — the EM comparison handles the sum: Σ 1/(w+j) ≈ log((w+m)/w) + O(1) UNIFORMLY as long as |w + j| stays away from 0 — for w near the negative half-integers, |w+j| ≥ 1/4 say ✓ (dist from half-integers to integers). So the EM comparison works with |w+j| ≥ δ replacing |im w| ≥ 2! My 5d bound used |im w| ≥ 2 precisely to get ‖w+j‖ ≥ 2 and slit-plane FTC — for the real-axis-adjacent version need the δ-away-from-integers variant: the FTC ∫(w+x)⁻¹dx = log(w+n) − log w needs the path w + [0,n] to avoid 0 — with w real negative half-integer the path CROSSES 0 (w + (−w) = 0 with −w ∈ [0,n])! The integral diverges / log has the branch jump. The classic resolution: for w real ∈ (−m−1, −m): the sum Σ_{j<m} 1/(w+j) is real finite (each term fine: w+j ≤ w + m... hmm w + j for j ≤ m−1: w + j < 0, nonzero ✓; the telescope Σ 1/(w+j) vs log|...|: use log of ABSOLUTE values? The identity ψ(w) − ψ(w+m) = −Σ 1/(w+j) is exact; and Σ_{j=0}^{m−1} 1/(w+j) for w ∈ (−m−1/2, −m+1/2)-ish... each term |1/(w+j)| ≤ 2 (distance to nearest integer ≥ 1/2): the sum has m terms O(1) each — but they telescope with CANCELLATION: 1/(w+j) + 1/(w+j')... hmm do they? w = −m − 1/2 + ε: terms j and the symmetric j' = m−1−j... 1/(−m−1/2+ε+j) + 1/(−m−1/2+ε+m−1−j) = 1/(j−m−1/2+ε) + 1/(−1/2−j+ε)·... ≈ 1/(j−m−1/2) + 1/(−j−1/2) = [(−j−1/2) + (j−m−1/2)]/[(j−m−1/2)(−j−1/2)] = (−m−1)/[...] — not obviously small. Hmm — actually the sum Σ_{j=0}^{m−1} 1/(w+j) with w ≈ −m−1/2: terms j = 0..m−1: w + j ≈ −m−1/2+j: values −m−1/2, −m+1/2, ..., −3/2, −1/2 (all negative halves): 1/(w+j) ≈ −2, −2/3·... 1/(−k−1/2) = −2/(2k+1): Σ_{k=1}^{m} 2/(2k−1)·(−1) ≈ −(log m + γ + log 4)/1·... = −log m − O(1) — the sum is O(log m) = O(log R) ✓ NOT O(1) but O(log R) — that's FINE for the o(R) conclusion (need |F|/R → 0: O(log R) is plenty)! And ψ(w) itself at half-integers is O(1) (ψ(−m−1/2) is a specific value... wait ψ has no pole at half-integers ✓ but its VALUE: ψ(−m−1/2) = ψ(1/2) + Σ_{j=0}^{m} 1/(1/2−j−1)... = O(log m) too ✓ consistent).
So on the negative-real part of the circle (R = 2k+1 odd, so −R/2 = −k−1/2 half-integer): ψ(s/2) = O(log R) by the recurrence + the harmonic-type sum Σ 2/(2j−1) ~ log — all elementary. This needs a SECOND left-plane digamma bound: for w with dist(w, {0,−1,−2,...}) ≥ 1/4 (say) and re w ≥ −A... no — for w on the relevant circle part: |w| ~ R/2, re w very negative, |im w| < 2: the bound ‖ψ(w)‖ ≤ C·log(2+‖w‖) via the recurrence with the pointwise term bound... The sum Σ_{j=0}^{m−1} 1/(w+j) with |w+j| ≥ 1/4 pointwise gives ≤ 4m = O(R) — TOO BIG (need o(R)). So the harmonic-type cancellation IS needed: |Σ 1/(w+j)| ≤ log-ish: |Σ_{j} 1/(w+j)| ≤ Σ |1/(w+j)| with the pairwise structure... For w with |im w| ≤ 2 and re(w+j) ∈ [−k−3/4, −k+...]: hmm. The clean way: Σ_{j=0}^{m−1} 1/(w+j) = Σ 1/(w+j) − [telescoped log via REAL log of |w+j|]: on the real line w real: Σ_{j=0}^{m−1} 1/(w+j) = Σ (log|w+j+1| − log|w+j|) + error where error_j = 1/(w+j) − log(1 + 1/(w+j)) = O(1/(w+j)²) — with |w+j| ≥ 1/4 the error per term is O(1)·16 — the errors don't telescope and there are m of them = O(R) TOO BIG again?? No wait — error_j = O(1/(w+j)²) is only summable if |w+j| grows — but |w+j| for j near −re w is ~1/4! The error near the reflection point is O(1) per term but only O(1) many terms there... hmm no: |w+j| ≥ 1/4 with |w+j| ~ 1/2 for j ≈ m: the 1/(w+j)² ~ 4 — but how many j have |w+j| ≤ K? About 2K of them (j integer, w+j spaced by 1). So Σ_j 1/(w+j)² ≤ Σ_j 16/(1 + (2(w+j))²)... ≤ Σ_{l∈ℤ} 1/(1+l²/4)·4 = O(1)?? Let me bound: |w + j| ≥ 1/4 for all j, and the values |w+j| are 1-separated ⟹ Σ_j 1/(w+j)² ≤ Σ_j 1/max((1/4)², (dist_j)²) where dist_j = |w+j|: as j ranges, |w+j| takes values ≥ 1/4 with at most 2 values in each [l/2, (l+1)/2)... Σ ≤ 2·Σ_{l≥0} 1/max(1/16, (l/2)²) ≤ 2(16 + Σ_{l≥1} 4/l²) = O(1) ✓ UNIFORM. YES — the 1-separated + distance-from-poles condition gives Σ 1/|w+j|² = O(1) uniformly. So the error telescope works with REAL logs: Σ_{j=0}^{m−1} 1/(w+j) = log|w+m| − log|w| + O(1)... but for w NOT real (|im w| ∈ (0,2)): complex log vs |·|: log(w+j+1) − log(w+j) has the branch issue only when the segment crosses (−∞,0] — with |im w| > 0 small, w+j can be negative real with tiny im: log(w+j+1) − log(w+j) for w+j ≈ −1/2 + iε: log jumps by ~2πi?? NO — log is continuous off (−∞,0]: w+j with im ≠ 0 is in the slit plane ✓ log continuous there; log(w+j+1) − log(w+j) at w+j = −1/2+iε: log(1/2+iε) − log(−1/2+iε) ≈ (−0.69 + iε') − (−0.69 + iπ) ≈ −iπ — FINE as a complex number (bounded). The issue is only my earlier FTC route ∫₀ⁿ (w+x)⁻¹ dx along the REAL path: the integrand has a pole ON the path if w + x = 0 for some x ∈ [0,n] — for w real negative non-integer... w + x = 0 at x = −w ∈ (0, n) — pole on the integration path ⟹ the real FTC integral is improper/divergent. BUT if I keep |im w| ≥ δ the path avoids the pole — the 5d bound covered |im w| ≥ 2. For the |im w| < 2 region on the circle: use the REAL-line structure (w within 1/4 of... hmm w not real either).
OK — this is exactly the kind of detail the 5e design doc must pin. The classical Davenport treatment: the circles are chosen with R_k and the bound on ζ′/ζ on the LEFT part comes from the FE + the Stirling estimate for Γ′/Γ on the line re(1−s)... Davenport Ch. 15 proves |ζ′/ζ(s)| = O(log²|s|) on circles |s| = R_k (R_k odd integers avoiding ordinates) — the left part via the reflected bound + |Γ′/Γ| ≤ C log|s| for s away from the negative integers by ≥ 1/4·... The point: the ψ-bound needed on the circle is ‖ψ(w) − log w‖ ≤ C for w away from poles — and the classical proof handles the near-real-axis via the recurrence + the series: ψ(w) = −γ − 1/w + Σ_{k≥1} w/(k(w+k))... the Weierstrass series! ψ(w) + γ + 1/w = Σ_{k≥1} [1/k − 1/(w+k)]·... = Σ w/(k(w+k)): each term |w/(k(w+k))| ≤ |w|/(k·|w+k|) — with |w+k| ≥ 1/4 and |w| ~ R: |w|·Σ 1/(k|w+k|): Σ_k 1/(k|w+k|) — split k ≤ 2|w| vs k > 2|w|: for k > 2|w|: |w+k| ≥ k/2: 1/(k·k/2) = 2/k² summable O(1); for k ≤ 2|w|: 1/(k·|w+k|) ≤ 4/k (using |w+k| ≥ 1/4): Σ_{k≤2|w|} 4/k ~ 4 log(2|w|) = O(log R) ✓. So ‖ψ(w) − (−γ − 1/w)‖ ≤ C·log(2+|w|) — the WEIERSTRASS series route gives O(log) directly with only the distance-from-poles condition! That's cleaner for the near-axis region — and actually UNIFIES: the bound ‖ψ(w)‖ ≤ C log(2+‖w‖) + ‖1/w‖ + C for dist(w, poles) ≥ 1/4 covers BOTH the |im| ≥ 2 case and the near-axis case.
Hmm interesting — so maybe the 5e digamma input is better served by a Weierstrass-series bound than my EM bound. Zeta23 has the digamma series (GammaFacts/Series.lean — "digamma series + Weierstrass for 1/Γ (unused)" per D-067 §4 inventory). Let me check what exactly is there when I write the design. The Σ_k 1/(k|w+k|) split bound is elementary.
Anyway — the design doc will pin this. The point for NOW: 5e needs a digamma bound of the shape ‖ψ(w)‖ ≤ C·log(2+‖w‖) for w away from the poles (any of the variants suffices: my 5d theorem has |im| ≥ 2; the near-axis variant needs the Weierstrass route or the real-telescope route).
Let me wait for the build, run the audit, commit the Lean work, THEN write the 5e design doc D-068 capturing all of this. Actually the build might take a few minutes (LiTrivialZeros + root). Meanwhile let me check what GammaFacts/Series.lean actually has for the digamma series.
While the build runs, let me survey Zeta23's digamma series machinery for the 5e design (the near-real-axis digamma bound will need the Weierstrass route).
tool: Bash
input
{
"command": "cd /d/Python/Quantum/zeta-23-lean && grep -n \"theorem\\|lemma\\|def \" Zeta23/GammaFacts/Series.lean | head -20 && grep -rn \"digamma_eq\\|theorem digamma\" Zeta23/GammaFacts/StirlingVert.lean | head -8",
"description": "Survey Zeta23 digamma series machinery"
}
raw content_json (database row)
[{"type":"thinking","thinking":"While the build runs, let me think about whether to start the ii′-5e design doc. The session's stated plan: \"Then ii′-5e design (identity assembly plan) if time; session closure\". The 5e design was already sketched in D-067 §6 — a full design doc D-068 would pin the exact Lean assembly. That's valuable but let me first make sure the current work lands (build + audit + commit the Lean work), then assess.\n\nActually — let me use the build time to start drafting D-068 (ii′-5e design). The key content from D-067 §6 already exists; the design doc would pin:\n1. The series convergence: Σ_ρ m_ρ(1/(s−ρ) + 1/ρ) — absolute convergence from Σ m_ρ/|ρ|² (mult-weighted zero_sum_inv_sq). Details: for |s| ≤ R and |ρ| ≥ 2R: |1/(s−ρ) + 1/ρ| = |s/(ρ(s−ρ))| ≤ R/(|ρ|·|ρ|/2) = 2R/|ρ|². The tail converges; finite head no issue. In Lean: Summable of the paired terms... this needs the mult-weighted sum over ALL zeros (nontrivial + trivial? The full identity: ζ′/ζ(s) = B + Σ_ρ (1/(s−ρ) + 1/ρ) − 1/(s−1) + ½ψ(s/2+1)... — the Davenport form: ζ′/ζ(s) = B + Σ_ρ [1/(s−ρ) + 1/ρ] − 1/(s−1) + (1/2)log π − (1/2)ψ(s/2+1)? There are several normalizations (Davenport Ch. 12: ζ′/ζ(s) = B + Σ_ρ(1/(s−ρ) + 1/ρ) − 1/(s−1) − ½log π + ½ψ(s/2+1)? hmm). The exact form matters and should be pinned against D-056's usage. D-067 §6 wrote: ζ′/ζ(s) = B + Σ_ρ m_ρ(1/(s−ρ) + 1/ρ) − 1/s − 1/(s−1) + ½log π − ½ψ(s/2). The sum there is over nontrivial zeros only, with the trivial zeros handled by the ψ term shift... Actually with the −1/s and the ψ(s/2) term: the trivial zeros at −2n come from −½ψ(s/2) = −½[ψ(s/2+2) − 2/s − 2/(s+2)]... hmm. Let me not re-derive here — the design doc will pin it against D-056's exact form used in the tight analysis.\n\n2. F entire: residue cancellation at each nontrivial zero (logDeriv residue = m_ρ via ii′-1b's logDeriv NF machinery; the series term's residue at ρ is m_ρ too) — so F has removable singularities; at s = 1 (both have residue... ζ′/ζ has residue −1 at 1; −1/(s−1) has residue −1 ✓); at 0 (−1/s vs the ψ term's +1/s from −½ψ(s/2) = −½(−2/s + ...) hmm ψ(s/2) ~ −2/s at 0... −½ψ(s/2) has residue +1 at 0; −1/s has residue −1 — cancel ✓ if the form is right); at trivial zeros −2n: −½ψ(s/2) has residue −½·2 = −1 at s = −2n (ψ has residue −1 at −n: ψ(z) = −1/(z+n) + holomorphic near −n... so −½ψ(s/2) near s = −2n: ψ(s/2) ~ −1/(s/2+n) = −2/(s+2n): −½·(−2/(s+2n)) = 1/(s+2n): residue +1?? and ζ′/ζ at −2n (SIMPLE zero, zeroMult = 1 ✓ THE POINT of the 5e-prep!) has residue +1 ✓ cancel ✓.) — so the identity's form must have the trivial-zero residues matching. This is exactly why zeroMult(−2n) = 1 was needed. With D-067's form: −½ψ(s/2) contributes residue +1 at −2n... wait let me recompute: ψ(w) has simple poles at w = −k with residue −1 (ψ(w) = −1/(w+k) + O(1) near w = −k — YES residue −1 since ψ(w) + 1/(w+k) analytic: from the series ψ(w) = −γ + Σ (1/(j+1) − 1/(j+w))... the term j = k: −1/(k + w) has residue −1 ✓). So −½ψ(s/2) at s = −2n: w = s/2 = −n + (s+2n)/2: ψ(s/2) has residue −1 in w ⟹ in s: −1·(1/2) = −1/2·... residue of s ↦ ψ(s/2) at s = −2n is −1·2 = −2 (dw = ds/2 so residue scales by 2). So −½ψ(s/2) has residue −½·(−2) = +1 at s = −2n ✓ matches ζ′/ζ's +1 ✓✓. And the zero-sum in D-067's form is over NONTRIVIAL zeros only — the trivial-zero residues live in the ψ term ✓ consistent.\n\n3. |F| = o(R) on γ-gap circles: |s| = R_k with R_k chosen in gaps of the zero ordinates... wait no — the circles are |s| = R and the issue is the horizontal lines hitting zeros. The classical approach (Davenport Ch. 15): on the circle |s| = R, |ζ′/ζ(s)| = O(log²R) using the DISC bound directly (5c/5d give exactly this: on the circle, s has |im s| ≤ R... hmm the 5c/5d bounds are stated for |t| ≥ 10 with the NEAR-ZERO SUBTRACTION. For F = ζ′/ζ − [series + elementary], on the circle:\n - The series Σ m(1/(s−ρ)+1/ρ): split near (|γ−t|<1 in the strip sense... on a circle of radius R this gets subtle) — D-067 says \"the series on the circle is O((log R)²) by the dyadic split\".\n - |ζ′/ζ(s)| on the circle: for s on the right part (re s ≥ 1/2... but wait the 5c bound is ζ′/ζ MINUS the near sum. The near sum on the circle: |Σ_{near} m/(s−ρ)| ≤ Σ m/|s−ρ| — on the circle |s| = R with the circle AVOIDING the zeros (γ-gap condition)... hmm — actually the classical argument uses the near-zero sum WITH the gap: if the circle passes within the strip, the zeros near the circle have |s−ρ| bounded below? NO — the γ-gap is about the horizontal line im s = T avoiding ordinates; for circles the standard choice is |s| = R_k where the circle crosses the critical strip at heights ±√(R²−σ²) — the relevant ordinates are near ±R, and the gap condition on R keeps the circle's strip-crossing points away from zero ordinates by ≍ 1/log R... \n\n This is getting into the real design content. D-067 §6(iii) says: \"|F| = o(R) on a γ-gap circle sequence (R_k in gaps of the zero-ordinate set from the perimeter count; the series on the circle is O((log R)²) by the dyadic split; |ζ′/ζ| ≤ C log R on the circle by 5c on the right + 5d reflection on the left; elementary terms O(log R))\". Hmm — \"5c on the right\": 5c's bound is ‖ζ′/ζ − Σ_near‖ ≤ 100000(log|t|)² — so |ζ′/ζ| ≤ 100000(log|t|)² + |near sum|. The near sum at s on the circle with |t| ≥ 10: |Σ_{|γ−t|<1} m/(s−ρ)| ≤ Σ m / |s−ρ| — |s−ρ| can be SMALL (s could be near a zero!). The γ-gap circle condition must control this: on the circle |s| = R, if |im s| = t with ||γ−t| windows|... For the circle, the dangerous points are where the circle passes the strip: there t² = R² − σ² with σ ∈ [0,1], so t ≈ R − σ²/(2R)... the ordinate is ≈ R. The gap condition: choose R such that |R − γ| ≥ 1/(3·C₀(R))-ish for all zero ordinates γ (perimeter pigeonhole on unit windows) — then at the strip-crossing points of the circle, |t − γ| ≥ |R − γ| − |t − R|... t = √(R²−σ²) ∈ [√(R²−1), R]: R − t ≤ R − √(R²−1) = 1/(R + √(R²−1)) ≤ 1/R. So |t − γ| ≥ |R − γ| − 1/R — with the gap 1/(3C₀(R+1)) and C₀ ~ A log T + B, the gap ≍ 1/log R ≫ 1/R ✓. Then |s − ρ| ≥ |im s − γ| = |t − γ| ≍ 1/log R for the near zeros, and |s−ρ| ≥ 1 for the far ones... wait the near sum has ≤ C₀(t) terms each ≤ 1/|s−ρ| ≤ C·log R ⟹ near sum ≤ C₀(t)·C·log R = O((log R)²) ✓. And 5c+5d give the rest: |ζ′/ζ| ≤ 100000(log|t|)² + O((log R)²) hmm — wait the 5c statement BOUNDS ‖ζ′/ζ − Σ_near‖ — so ‖ζ′/ζ‖ ≤ 100000(log|t|)² + ‖Σ_near‖ = O((log R)²) + O((log R)²) ✓. On the circle |t| ≤ R so (log|t|)² ≤ (log R)² ✓. For the parts of the circle with |t| < 10 (near the real axis): ζ′/ζ is continuous on the compact set {|s| ≤ ...}∩{|im s| ≤ 10}∩{away from finitely many zeros/pole}... hmm — the circle |s| = R with |im s| < 10: points near ±R real — ζ′/ζ near R real large: fine (re s ≥ R−δ... for R > 10 the circle's real-axis-crossing region has re s ≈ ±R: at +R: ζ′/ζ bounded by Dirichlet series (re > 1) O(1); at −R: via FE-reflection: ζ′/ζ(−R+it) = −ζ′/ζ(1+R−it) − bracket with the digamma term ~ log R — need the left-plane digamma bound for re(s/2) ~ −R/2, |im| < 10 — hmm the 5d bound has |im| ≥ 2 condition... the points with |im s| < 2 on the left: w = s/2 with |im w| < 1: the left-plane digamma bound doesn't apply directly! There the circle crosses the negative real axis at −R: if R is chosen at an ODD integer (R = 2k+1), the point −R/2 = −(k+1/2) is a half-integer where ψ is regular — ψ(−k−1/2) is a specific finite value... but the bound needs uniformity in R: ψ(s/2) for s near −R: shift by ~R/2: ψ(s/2) = ψ(s/2 + m) − Σ_{j<m} 1/(s/2+j) — the terms 1/(s/2+j) with s/2 near −k−1/2: the worst term j ≈ k: s/2 + j ≈ −1/2: |·| ≥ 1/2 − ε... each term O(1), but there are ~R/2 terms — the EM comparison handles the sum: Σ 1/(w+j) ≈ log((w+m)/w) + O(1) UNIFORMLY as long as |w + j| stays away from 0 — for w near the negative half-integers, |w+j| ≥ 1/4 say ✓ (dist from half-integers to integers). So the EM comparison works with |w+j| ≥ δ replacing |im w| ≥ 2! My 5d bound used |im w| ≥ 2 precisely to get ‖w+j‖ ≥ 2 and slit-plane FTC — for the real-axis-adjacent version need the δ-away-from-integers variant: the FTC ∫(w+x)⁻¹dx = log(w+n) − log w needs the path w + [0,n] to avoid 0 — with w real negative half-integer the path CROSSES 0 (w + (−w) = 0 with −w ∈ [0,n])! The integral diverges / log has the branch jump. The classic resolution: for w real ∈ (−m−1, −m): the sum Σ_{j<m} 1/(w+j) is real finite (each term fine: w+j ≤ w + m... hmm w + j for j ≤ m−1: w + j < 0, nonzero ✓; the telescope Σ 1/(w+j) vs log|...|: use log of ABSOLUTE values? The identity ψ(w) − ψ(w+m) = −Σ 1/(w+j) is exact; and Σ_{j=0}^{m−1} 1/(w+j) for w ∈ (−m−1/2, −m+1/2)-ish... each term |1/(w+j)| ≤ 2 (distance to nearest integer ≥ 1/2): the sum has m terms O(1) each — but they telescope with CANCELLATION: 1/(w+j) + 1/(w+j')... hmm do they? w = −m − 1/2 + ε: terms j and the symmetric j' = m−1−j... 1/(−m−1/2+ε+j) + 1/(−m−1/2+ε+m−1−j) = 1/(j−m−1/2+ε) + 1/(−1/2−j+ε)·... ≈ 1/(j−m−1/2) + 1/(−j−1/2) = [(−j−1/2) + (j−m−1/2)]/[(j−m−1/2)(−j−1/2)] = (−m−1)/[...] — not obviously small. Hmm — actually the sum Σ_{j=0}^{m−1} 1/(w+j) with w ≈ −m−1/2: terms j = 0..m−1: w + j ≈ −m−1/2+j: values −m−1/2, −m+1/2, ..., −3/2, −1/2 (all negative halves): 1/(w+j) ≈ −2, −2/3·... 1/(−k−1/2) = −2/(2k+1): Σ_{k=1}^{m} 2/(2k−1)·(−1) ≈ −(log m + γ + log 4)/1·... = −log m − O(1) — the sum is O(log m) = O(log R) ✓ NOT O(1) but O(log R) — that's FINE for the o(R) conclusion (need |F|/R → 0: O(log R) is plenty)! And ψ(w) itself at half-integers is O(1) (ψ(−m−1/2) is a specific value... wait ψ has no pole at half-integers ✓ but its VALUE: ψ(−m−1/2) = ψ(1/2) + Σ_{j=0}^{m} 1/(1/2−j−1)... = O(log m) too ✓ consistent).\n\n So on the negative-real part of the circle (R = 2k+1 odd, so −R/2 = −k−1/2 half-integer): ψ(s/2) = O(log R) by the recurrence + the harmonic-type sum Σ 2/(2j−1) ~ log — all elementary. This needs a SECOND left-plane digamma bound: for w with dist(w, {0,−1,−2,...}) ≥ 1/4 (say) and re w ≥ −A... no — for w on the relevant circle part: |w| ~ R/2, re w very negative, |im w| < 2: the bound ‖ψ(w)‖ ≤ C·log(2+‖w‖) via the recurrence with the pointwise term bound... The sum Σ_{j=0}^{m−1} 1/(w+j) with |w+j| ≥ 1/4 pointwise gives ≤ 4m = O(R) — TOO BIG (need o(R)). So the harmonic-type cancellation IS needed: |Σ 1/(w+j)| ≤ log-ish: |Σ_{j} 1/(w+j)| ≤ Σ |1/(w+j)| with the pairwise structure... For w with |im w| ≤ 2 and re(w+j) ∈ [−k−3/4, −k+...]: hmm. The clean way: Σ_{j=0}^{m−1} 1/(w+j) = Σ 1/(w+j) − [telescoped log via REAL log of |w+j|]: on the real line w real: Σ_{j=0}^{m−1} 1/(w+j) = Σ (log|w+j+1| − log|w+j|) + error where error_j = 1/(w+j) − log(1 + 1/(w+j)) = O(1/(w+j)²) — with |w+j| ≥ 1/4 the error per term is O(1)·16 — the errors don't telescope and there are m of them = O(R) TOO BIG again?? No wait — error_j = O(1/(w+j)²) is only summable if |w+j| grows — but |w+j| for j near −re w is ~1/4! The error near the reflection point is O(1) per term but only O(1) many terms there... hmm no: |w+j| ≥ 1/4 with |w+j| ~ 1/2 for j ≈ m: the 1/(w+j)² ~ 4 — but how many j have |w+j| ≤ K? About 2K of them (j integer, w+j spaced by 1). So Σ_j 1/(w+j)² ≤ Σ_j 16/(1 + (2(w+j))²)... ≤ Σ_{l∈ℤ} 1/(1+l²/4)·4 = O(1)?? Let me bound: |w + j| ≥ 1/4 for all j, and the values |w+j| are 1-separated ⟹ Σ_j 1/(w+j)² ≤ Σ_j 1/max((1/4)², (dist_j)²) where dist_j = |w+j|: as j ranges, |w+j| takes values ≥ 1/4 with at most 2 values in each [l/2, (l+1)/2)... Σ ≤ 2·Σ_{l≥0} 1/max(1/16, (l/2)²) ≤ 2(16 + Σ_{l≥1} 4/l²) = O(1) ✓ UNIFORM. YES — the 1-separated + distance-from-poles condition gives Σ 1/|w+j|² = O(1) uniformly. So the error telescope works with REAL logs: Σ_{j=0}^{m−1} 1/(w+j) = log|w+m| − log|w| + O(1)... but for w NOT real (|im w| ∈ (0,2)): complex log vs |·|: log(w+j+1) − log(w+j) has the branch issue only when the segment crosses (−∞,0] — with |im w| > 0 small, w+j can be negative real with tiny im: log(w+j+1) − log(w+j) for w+j ≈ −1/2 + iε: log jumps by ~2πi?? NO — log is continuous off (−∞,0]: w+j with im ≠ 0 is in the slit plane ✓ log continuous there; log(w+j+1) − log(w+j) at w+j = −1/2+iε: log(1/2+iε) − log(−1/2+iε) ≈ (−0.69 + iε') − (−0.69 + iπ) ≈ −iπ — FINE as a complex number (bounded). The issue is only my earlier FTC route ∫₀ⁿ (w+x)⁻¹ dx along the REAL path: the integrand has a pole ON the path if w + x = 0 for some x ∈ [0,n] — for w real negative non-integer... w + x = 0 at x = −w ∈ (0, n) — pole on the integration path ⟹ the real FTC integral is improper/divergent. BUT if I keep |im w| ≥ δ the path avoids the pole — the 5d bound covered |im w| ≥ 2. For the |im w| < 2 region on the circle: use the REAL-line structure (w within 1/4 of... hmm w not real either).\n\n OK — this is exactly the kind of detail the 5e design doc must pin. The classical Davenport treatment: the circles are chosen with R_k and the bound on ζ′/ζ on the LEFT part comes from the FE + the Stirling estimate for Γ′/Γ on the line re(1−s)... Davenport Ch. 15 proves |ζ′/ζ(s)| = O(log²|s|) on circles |s| = R_k (R_k odd integers avoiding ordinates) — the left part via the reflected bound + |Γ′/Γ| ≤ C log|s| for s away from the negative integers by ≥ 1/4·... The point: the ψ-bound needed on the circle is ‖ψ(w) − log w‖ ≤ C for w away from poles — and the classical proof handles the near-real-axis via the recurrence + the series: ψ(w) = −γ − 1/w + Σ_{k≥1} w/(k(w+k))... the Weierstrass series! ψ(w) + γ + 1/w = Σ_{k≥1} [1/k − 1/(w+k)]·... = Σ w/(k(w+k)): each term |w/(k(w+k))| ≤ |w|/(k·|w+k|) — with |w+k| ≥ 1/4 and |w| ~ R: |w|·Σ 1/(k|w+k|): Σ_k 1/(k|w+k|) — split k ≤ 2|w| vs k > 2|w|: for k > 2|w|: |w+k| ≥ k/2: 1/(k·k/2) = 2/k² summable O(1); for k ≤ 2|w|: 1/(k·|w+k|) ≤ 4/k (using |w+k| ≥ 1/4): Σ_{k≤2|w|} 4/k ~ 4 log(2|w|) = O(log R) ✓. So ‖ψ(w) − (−γ − 1/w)‖ ≤ C·log(2+|w|) — the WEIERSTRASS series route gives O(log) directly with only the distance-from-poles condition! That's cleaner for the near-axis region — and actually UNIFIES: the bound ‖ψ(w)‖ ≤ C log(2+‖w‖) + ‖1/w‖ + C for dist(w, poles) ≥ 1/4 covers BOTH the |im| ≥ 2 case and the near-axis case. \n\n Hmm interesting — so maybe the 5e digamma input is better served by a Weierstrass-series bound than my EM bound. Zeta23 has the digamma series (GammaFacts/Series.lean — \"digamma series + Weierstrass for 1/Γ (unused)\" per D-067 §4 inventory). Let me check what exactly is there when I write the design. The Σ_k 1/(k|w+k|) split bound is elementary.\n\n Anyway — the design doc will pin this. The point for NOW: 5e needs a digamma bound of the shape ‖ψ(w)‖ ≤ C·log(2+‖w‖) for w away from the poles (any of the variants suffices: my 5d theorem has |im| ≥ 2; the near-axis variant needs the Weierstrass route or the real-telescope route).\n\nLet me wait for the build, run the audit, commit the Lean work, THEN write the 5e design doc D-068 capturing all of this. Actually the build might take a few minutes (LiTrivialZeros + root). Meanwhile let me check what GammaFacts/Series.lean actually has for the digamma series.","signature":""},{"type":"text","text":"While the build runs, let me survey Zeta23's digamma series machinery for the 5e design (the near-real-axis digamma bound will need the Weierstrass route)."},{"type":"tool_use","id":"Bash_198","name":"Bash","input":{"command":"cd /d/Python/Quantum/zeta-23-lean && grep -n \"theorem\\|lemma\\|def \" Zeta23/GammaFacts/Series.lean | head -20 && grep -rn \"digamma_eq\\|theorem digamma\" Zeta23/GammaFacts/StirlingVert.lean | head -8","description":"Survey Zeta23 digamma series machinery"},"extra_content":null}]