Current task: —

← Session 21 — Tier ii′ planning + launch: close SfBoundProp in Lean (D-064)

#893 assistant 2026-08-21 18:09:54.330 UTC · 603→7316 tok open ⤢
thinking (17704 chars)
All planned dependencies are sorry-free (3 standard axioms only). Excellent. Now — one more verification before writing D-064: the liCoeff summability question. I'm mathematically confident it's not summable (n ≥ 1). Let me also double check how `Sf` is used and confirm the issue is real: yes, `Sf n := SInfty n + 1 − (liCoeff n).re` — with junk liCoeff = 0, SfBoundProp is false at n = 10⁵ (as I computed: |Sf| ≥ 432 501 > 347 000 ≥ Bn). Actually wait — one subtlety: is it PROVABLE that liCoeff n = 0 under the current def? To prove `tsum f = 0` we'd prove `¬ Summable f`. That requires the divergence argument (RvM-based). It doesn't matter for the fix — what matters is that the def does NOT denote λ_n (it denotes the tsum, which is 0 if not summable, and the family is genuinely not summable). Whether Lean can prove that is secondary; the def is semantically wrong regardless. Hmm, actually let me reconsider ONE more time whether the family might be summable after all... The summand is mult·(1 − (1−1/ρ)ⁿ) as a function on the subtype with the counting measure? No — tsum over a subtype of ℂ uses the COUNTING measure on the subtype (each point mass 1). So tsum f = Σ over zeros of mult·(1−(1−1/ρ)ⁿ), absolute convergence = Σ mult·|1−(1−1/ρ)ⁿ| < ∞. For on-line zeros (the first ~10¹³, up to T₀ — all on the line by Platt–Trudgian, but that's a HYPOTHESIS hRH; without it we know... hmm, actually for the summability QUESTION what matters is mathematical truth: RH truth aside, there ARE infinitely many zeros (proved by RvM theorem in Zeta23: N(T,2T) ~ (T/2π)log T... the main term shows N(T,2T) ≥ cT log T − C log T → ∞). For any zero ρ (on or off line), with |γ| ≥ 8n say: |1−(1−1/ρ)ⁿ| ≥ (n/4)·|1/ρ| as I estimated (w = 1−1/ρ near 1, |arg w| ≤ 1/γ-ish, |wⁿ−1| = |w−1|·|Σ_{j<n} w^j| ≥ (1/|ρ|)·n·(1/2) for the real-part reason). So Σ_{|γ| ≥ 8n} mult·|summand| ≥ (n/4)·Σ mult/|ρ| = ∞ by RvM. So yes — genuinely not summable, for every n ≥ 1. liCoeff n = 0 (junk). CERTAIN. Additionally: `SInfty` — its summand (1−1/m)ⁿ − 1 + n/m over odd m ≥ 3: ~ n(n−1)/(2m²) — summable ✓ (bern_term_upper proves the bound; summability presumably proved in tier (i) — yes "tsum summability discharged" per NGUYEN.md session 011). ✓ SInfty is fine. So the design fix: NEW def `liCoeffP` (paired). Two candidate forms: (A) Sum over upper-half zeros: `∑' ρ : {ρ // IsNontrivialZero ρ ∧ 0 < ρ.im}, mult·(f(ρ) + f(conj ρ))` where f(ρ) = 1−(1−1/ρ)ⁿ. Requires: (i) conj maps zeros to zeros (Schwarz reflection — does Zeta23 have it? zeta_reflect_zero is about reflect ρ = 1−ρ̄; conj invariance: riemannZeta (conj s) = conj (riemannZeta s) — Mathlib probably has this (schwarz reflection for Hurwitz? `riemannZeta_conj`? need to check — likely exists as `riemannZeta_conj` or via completedRiemannZeta...). (ii) no zeros on the real axis in the strip (ζ(x) < 0 for x ∈ (0,1) real — need to prove; via η: Mathlib has `riemannZeta` = hurwitzZetaEven 0 and eta-related lemmas? There's `riemannZeta_neg_nat_eq_bernoulli`, and ζ(s) ≠ 0 for s ∈ (0,1)... hmm, might need the eta function: Mathlib has `LSeries`... not sure about eta. Alternative elementary route: for real x ∈ (0,1), ζ(x) = lim (Σ...) hmm. Actually there's a classical trick: ζ(s)(1−2^{1−s}) = Σ(−1)^{n+1}n^{−s} = η(s), and for real s ∈ (0,1), η(s) > 0 (alternating series with decreasing terms) and (1−2^{1−s}) < 0 ⟹ ζ(s) < 0. Mathlib: is there η? Search needed. If not, prove η(s) = alternating series converges for real s > 0 via Dirichlet's test / explicit pairing, positivity by pairing terms (1/(2k−1)^s − 1/(2k)^s > 0). Bounded work either way.) (iii) the paired family summability: pair(ρ) = mult·(f ρ + f ρ̄) with |pair| ≤ C(n)·mult/|ρ|² for |ρ| ≥ 8n (the second-order cancellation — needs a real lemma: |2 − wⁿ − w̄ⁿ| with w = 1−1/ρ: w̄ = 1−1/ρ̄ ✓; 2 − wⁿ − w̄ⁿ = −(wⁿ−1) − (w̄ⁿ−1); wⁿ−1 = (w−1)S, S = Σ_{j<n} w^j = n + Σ(w^j − 1); |w^j − 1| ≤ j|w−1|·max(1,|w|)^{n}... standard: |wⁿ−1 − n(w−1)| ≤ n²|w−1|²·e^{n|w−1|}-ish. So f ρ + f ρ̄ = 2 − wⁿ − w̄ⁿ = −n[(w−1)+(w̄−1)] + O(n²|w−1|²) = −n·2Re(w−1) + O(n²/|ρ|²) = 2n·Re(1/ρ) + O(n²/|ρ|²) = 2n·σ/|ρ|² + O(n²/|ρ|²) = O(n²/|ρ|²) since σ ≤ 1 ✓. So |pair| ≤ C(n)·mult/|ρ|² with C(n) explicit (e.g. 2n + 4n² for |ρ| ≥ 2n) ✓. Then Σ over upper zeros: ≤ Σ_upper C(n)mult/|ρ|² ≤ C(n)·Σ_all mult/|ρ|² < ∞ via zero_sum_inv_sq comparison ✓✓. (B) Alternative: sum over the full subtype of the SYMMETRIZED summand ½(f ρ + f ρ̄): same thing, cleaner subtype (no 0 < im condition, but double-counts and needs the no-real-zeros fact anyway for the factor; actually with symmetrized summand, real zeros would contribute f(ρ) once (ρ̄ = ρ, ½(f+f) = f) — actually fine! The symmetrized sum over ALL zeros = Σ_all ½(f ρ + f ρ̄) = Σ_upper (f ρ + f ρ̄) + Σ_real f ρ — and if real zeros don't exist, equals form (A). And summability: |½(f ρ + f ρ̄)| ≤ C(n)mult/|ρ|² for large ρ ✓ regardless. So (B) is cleaner: `liCoeffP n := ∑' ρ : subtype, (mult ρ : ℂ)/2 * (f ρ + f (conj ρ))`. And it equals the intended λ_n. The no-real-zeros lemma is then only needed for... hmm, actually NOT needed at all for (B)! Because (B) is unconditionally equal to "Σ_upper pairs + Σ_real f" and if a real zero existed, λ_n's classical definition (Hadamard sum) would include it too — (B) IS the correct classical definition regardless. So (B) is the design: symmetrized tsum over the full subtype. Summable by comparison with zero_sum_inv_sq. Equals the classical λ_n (Hadamard principal value). And it's REAL-valued (each summand: ½mult(f ρ + conj(f ρ)) = mult·Re(f ρ) ∈ ℝ!) — bonus: liCoeffP n is manifestly real (can define it into ℝ directly!). That kills the `.re` in Sf/LiVerifiedUpTo — cleaner. (Keep the ℂ version for compatibility, or refactor Sf to use the real one — the old theorems use (liCoeff n).re; minimal-diff approach: define liCoeffP : ℕ → ℂ proving it's real, then REDEFINE liCoeff := liCoeffP. The downstream .re stays working.) Then the L0 identity (D-036): Sf n = truncated sum + sides + trivial — with Sf defined from the CORRECT liCoeff, the identity is the real content. OK. Now — the w=1 residue identification (crux). From D-037's identity: S_f(n) = Σ_{|γ|≤T}′ [1 − (ρ/(ρ−1))ⁿ]·(−1) + (1/2πi)(I_I+I_II+I_III+I_IV) + triv(−2) Let me sanity-check the sign/residue bookkeeping: integrand g(w) = k_n(w−1)·(−ζ′/ζ(w)), k_n(s) = (1+1/s)ⁿ − 1. - At a nontrivial zero ρ (simple): −ζ′/ζ has residue −1 (ζ′/ζ has residue +1 at a simple zero). So Res g = k_n(ρ−1)·(−1) = −((1+1/(ρ−1))ⁿ − 1) = −((ρ/(ρ−1))ⁿ − 1) = 1 − (ρ/(ρ−1))ⁿ ✓ matches the identity's summand. - At trivial zeros ρ = −2k inside the rectangle (−2, −4 for σ₀ = −5/2): same: 1 − (ρ/(ρ−1))ⁿ = 1 − ((−2)/(−3))ⁿ... wait ρ/(ρ−1) at ρ=−2: (−2)/(−3) = 2/3. Hmm, D-036 says |(1+1/(−2))ⁿ−1| = 1−2^{−n}: k_n(ρ−1) at ρ = −2: k_n(−3) = (1−1/3)ⁿ − 1 = (2/3)ⁿ − 1 — hmm D-036 wrote (1+1/(−2))ⁿ — that's k_n evaluated at −2 not −3?? Let me recheck: the residue at the trivial zero ρ_triv is k_n(ρ_triv − 1)·(−1)·(−1)... sign: Res g = k_n(ρ_triv − 1)·Res(−ζ′/ζ) = k_n(ρ_triv−1)·(−1). Hmm wait — the integrand is k_n(w−1)·(−ζ′/ζ(w)); at a zero ρ of ζ, −ζ′/ζ has residue −1 (per simple zero), so Res g|_ρ = k_n(ρ−1)·(−1) = 1 − (ρ/(ρ−1))ⁿ ✓ as computed. For ρ = −2: k_n(−3) = (1 + 1/(−3))ⁿ − 1 = (2/3)ⁿ − 1, Res = 1 − (2/3)ⁿ. D-036 says "Trivial zeros: only ρ = −2 inside; |(1+1/(−2))ⁿ − 1| = 1 − 2^{−n} ≤ 1" — hmm, that computes k_n(−2) = (1−1/2)ⁿ − 1 = 2^{−n} − 1, |·| = 1−2^{−n}. But the residue is k_n(ρ−1) = k_n(−3) not k_n(−2)?? Unless D-036 uses a different kernel placement (k_n(w) with integrand k_n(w)(−ζ′/ζ(w)) and residues at ρ+1?? no...). Or the identity sums residues as "triv(−2)" meaning the contribution is 1 − (2/3)ⁿ — and D-036's bound "≤ 1" is just a coarse bound that's correct either way ((2/3)ⁿ vs 2^{−n} both ≤ 1). Fine — the formalization will get it exactly right; the BOUND "≤ 1" stands. But NOTE: trivial zero ρ = −4 is also inside (σ₀ = −5/2 < −4)? −5/2 = −2.5, so σ ranges [−2.5, 2√n] — −4 < −2.5 NOT inside. Only −2 ✓. OK. - At w = 1: pole of order n+1 (k_n(w−1) has pole of order n at w=1; −ζ′/ζ has a simple pole with residue +1... wait: ζ has a pole at 1, so ζ′/ζ ~ −1/(w−1), so −ζ′/ζ ~ +1/(w−1) — simple pole residue +1). So g has pole of order n+1 at 1, and Res g|_1 = [Laurent coefficient extraction]. Writing k_n(w−1) = Σ_{j=1}^n C(n,j)(w−1)^{−j} and −ζ′/ζ(w) = Σ_{k≥−1} c_k (w−1)^k with c_{−1} = 1: Res = Σ_{j=1}^n C(n,j)·c_{j−1} = Σ_{j=1}^n C(n,j) c_{j−1} where c_{j−1} = Laurent coeffs of −ζ′/ζ at 1. And the identity: RectangleIntegral' = Σ residues = Σ_{|γ|≤T} [1−(ρ/(ρ−1))ⁿ] + [1−(2/3)ⁿ] + Σ_{j=1}^n C(n,j)c_{j−1}. Then Sf := S_∞ + 1 − λ_n. And λ_n = paired full sum. Hmm — how does the FULL sum appear? The rectangle gives the TRUNCATED sum. The identity Sf = truncated + sides + triv requires: S_∞ + 1 − λ_n = Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] + sides + [1−(2/3)ⁿ] Hmm wait — but the rectangle residue theorem gives: sides = Σ residues (including w=1). So: sides = Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] + [1−(2/3)ⁿ] + Res_{w=1} ⟹ Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] = sides − [1−(2/3)ⁿ] − Res_{w=1}. Now λ_n (full paired sum) vs the truncated sum Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ]: note for a zero ρ, the summand in liCoeffP is Re[1−(1−1/ρ)ⁿ], and 1−1/ρ = (ρ−1)/ρ — while the contour summand is 1−(ρ/(ρ−1))ⁿ = 1−(1−1/(1−ρ))ⁿ-ish — the ρ ↔ 1−ρ symmetry! The zero set is symmetric under ρ ↦ 1−ρ (functional equation) and ρ ↦ ρ̄. The liCoeff summand at the REFLECTED zero: 1−(1−1/(1−ρ))ⁿ = 1−((1−ρ−1)/(1−ρ))ⁿ = 1−(ρ/(ρ−1))ⁿ ✓✓. So the contour residue at ρ equals the liCoeff summand at 1−ρ. Since the zero set is reflect-invariant, the FULL liCoeff sum = Σ_all [1−(ρ/(ρ−1))ⁿ] (re-indexed) = Σ_all [1−(1−1/ρ)ⁿ] — consistent. So: λ_n = Σ_all-zeros(paired) [1−(ρ/(ρ−1))ⁿ]. Split: λ_n = Σ_{|γ|≤T} + Σ_{|γ|>T} (tail). Then: Sf = S_∞ + 1 − λ_n = S_∞ + 1 − [sides − (1−(2/3)ⁿ) − Res_{w=1}] − tail = [S_∞ + 1 + Res_{w=1} − 1 + (2/3)ⁿ... hmm: S_∞ + 1 − sides + 1 − (2/3)ⁿ + Res_{w=1} − tail. For this to match D-037's form (Sf = −truncated + sides + triv(−2)... let me not force it; D-037's exact identity (line 63): "S_f(n) = Σ_{|γ|≤T}′ [1 − (ρ/(ρ−1))ⁿ]·(−1) + (1/2πi)(I_I+I_II+I_III+I_IV) + triv(−2)". Hmm — that has −truncated + sides + triv. Substituting truncated = sides − triv − Res: −truncated + sides + triv = −(sides − triv − Res) + sides + triv = 2·triv + Res?? That can't be right dimensionally... I think D-037's "S_f(n)" on the LHS means something slightly different — maybe the identity is for the TRUNCATED S_f and the tail is bounded separately as part of "zeros ≤ 2N(T)". Let me look at D-037 §4's assembly again: "|S_f(n)| ≤ 2N(√n) + 4C₀(√n+1) + |I_I| + |I_II| + |I_IV| + |I_III| + 1" — components: 2N(√n) [the on-line zero terms], 4C₀ [height-window slack T−√n < 1], the four sides, +1 [trivial zero]. So |S_f| is bounded by: the FULL zero sum's contribution ≤ 2N(T) (using each term ≤ 2 via RH-to-T₀) + tail... hmm wait, where's the tail Σ_{|γ|>T} in this accounting? If S_f = S_∞ + 1 − λ_n exactly, then bounding |S_f| needs the full λ_n including the tail beyond T. But D-037's bound has no explicit tail term... UNLESS the "2N(√n)" term is meant to cover the zero sum to height T and the TAIL is bounded by... let me think: the tail Σ_{|γ|>T} [1−(ρ/(ρ−1))ⁿ] paired: each pair ≈ n²/|ρ|²-ish... Σ_{|γ|>T} n²mult/|ρ|² ≈ n²·log T/T = n² log T/√n = n^{3/2} log T — HUGE, way bigger than B(n) ~ √n log n. That can't be right. Hmm!! Wait, no — the tail can't be that big, because λ_n is the FULL sum and equals S_∞ − S_f + 1 with |S_f| small... Let me recompute the tail size. Pair for |γ| large: f(ρ)+f(ρ̄) with f(ρ) = 1−(1−1/ρ)ⁿ: computed above = 2nσ/|ρ|² + O(n²/|ρ|²) — for n ≤ γ²-ish, i.e. γ ≥ √n: O(n/|ρ|² + n²/|ρ|²·(1/...))... |pair| ≤ C·n²/|ρ|² for |ρ| ≥ 2n. But our tail starts at |γ| > T = √n + 1 — NOT ≥ 2n! For zeros with γ ∈ (√n, 2n): the pair bound |pair| ≤ C·n²/|ρ|² with C(n) ~ n² e^{n/|ρ|} — the e^{n/|ρ|} factor: |w|ⁿ ≤ (1+1/|ρ|)ⁿ ≤ e^{n/|ρ|} ≤ e^{√n}-ish for γ ~ √n. Hmm, so pairs in the range √n < γ < n can be as large as... |1−(1−1/ρ)ⁿ| ≤ 1+|1−1/ρ|ⁿ ≤ 1 + e^{n/|ρ|} — for γ ~ √n, e^{√n}?!?! That would make individual tail terms EXPONENTIAL in √n. WAIT. That's for off-line zeros with σ < 1/2 (where |1−1/ρ| > 1). For ON-LINE zeros |1−1/ρ| = 1 exactly, so |1−(1−1/ρ)ⁿ| ≤ 2 always. The tail beyond T₀: zeros with |γ| > T₀ = 3×10¹², n ≤ (T₀−1)²: e^{n/|ρ|} ≤ e^{n/T₀} ≤ e^{T₀} — enormous?! But the paired sum for σ < 1/2: pair = 2nσ/|ρ|² + ... the first-order term is 2nσ/|ρ|² — the O-bound: f ρ + f ρ̄ = 2 − wⁿ − w̄ⁿ where w = 1−1/ρ. Hmm, for σ < 1/2: |w| > 1, wⁿ grows. But w̄ = conj w — same modulus. 2 − 2Re(wⁿ) — and Re(wⁿ) can be as large as |w|ⁿ ~ e^{n/|ρ|}. For γ just above T₀ ~ 3×10¹² and n ~ 9×10²⁴: n/γ² ~ 9×10²⁴/9×10²⁴ = 1 — so |w|ⁿ ≈ e^{n·(1−2σ)/2/|ρ|²·...}: |w|² = ((1−σ)²+γ²)/(σ²+γ²) = 1 + (1−2σ)/|ρ|². |w|ⁿ = exp((n/2)log(1+(1−2σ)/|ρ|²)) ≈ exp(n(1−2σ)/(2|ρ|²)) ≤ exp(n/(2|ρ|²)) ≤ e^{1/2} for n ≤ |ρ|². OK!! I miscalculated before: |w|ⁿ grows like e^{n/|ρ|²}, NOT e^{n/|ρ|} — because |w|−1 ≈ (1−2σ)/(2|ρ|²), not 1/|ρ|. Right: |1−1/ρ| − 1 = (|ρ−1|−|ρ|)/|ρ| ≈ ((1−2σ)/(2|ρ|))/|ρ| = (1−2σ)/(2|ρ|²). So per-zero tail contribution |2−wⁿ−w̄ⁿ| ≤ 2 + 2|w|ⁿ ≤ 2 + 2e^{n/(2γ²)} ≤ 2+2e^{1/2} for γ ≥ √n. BOUNDED per zero. And Σ_{γ > T} bounded·mult — diverges (infinitely many zeros)!! The tail sum is over infinitely many zeros each contributing up to ~5?? That diverges! No wait — the pair is 2 − wⁿ − w̄ⁿ = −(wⁿ−1)−(w̄ⁿ−1), and wⁿ−1 ≈ n(w−1) for w near 1: |wⁿ−1| ≤ n|w−1|·max(1,|w|)^{n−1} ≤ (n/|ρ|)·e^{n/(2|ρ|²)}-ish. Hmm: |wⁿ − 1| ≤ n·|w−1|·max(1,|w|^{n−1}): |w−1| = 1/|ρ|. So |pair| ≤ 2·(n/|ρ|)·e^{n/(2|ρ|²)} ≤ 2e^{1/2}·n/|ρ|. And Σ_{γ>T} n/|ρ| ~ n·(log T)/T ~ √n log n — that's the tail size: ~√n log n ≪ B(n) ✓✓. Phew: the tail is O(n log T/T) = O(√n log n) — SAME order as B(n)'s leading term. So the tail MUST be included in the accounting, and indeed looking back at D-037 §4's "zeros" bullet: "|Σ| ≤ 2N(T) ≤ 2F(T) + 2S_bnd(T)" — that's only the |γ| ≤ T part (each term ≤ 2). The tail |γ| > T: I bet it's inside the identity's "Σ_{|γ|≤T}" being EXACT (D-037's identity for S_f has NO tail because the identity is exact at finite T — the tail doesn't exist in the identity: S_f = truncated + sides + triv EXACTLY). But from my residue bookkeeping above: Sf = S_∞ + 1 − λ_n = S_∞ + 1 − truncated − tail. And sides = truncated + triv + Res_{w=1}. If D-037's identity S_f = −truncated' + sides + triv' is exact... substituting: S_∞ + 1 − truncated − tail = −truncated + sides + triv' ⟹ S_∞ + 1 − tail = sides + triv' = truncated + triv + Res + triv' — this would need S_∞ + 1 = truncated + tail + Res + ... = λ_n + Res_{w=1} + triv + triv' — i.e., Res_{w=1} = S_∞ + 1 − λ_n − triv − triv' + ... CIRCULAR unless Res_{w=1} is identified independently. The w=1 residue Res = Σ_j C(n,j)c_{j−1} is an EXPLICIT quantity; the claim is it equals −S_∞ − 1 + [something]... Let me just directly derive what Res must equal for D-037's identity to hold, and that IS the identification to prove: From sides = truncated + triv + Res (residue theorem), and the DEFINITION Sf = S_∞ + 1 − λ_n: Sf = S_∞ + 1 − λ_n. D-037 claims: Sf = −truncated + sides + triv(−2). [Note sign: D-037 writes Σ_{|γ|≤T}′[1−(ρ/(ρ−1))ⁿ]·(−1) — so "−truncated" where truncated = Σ[1−(ρ/(ρ−1))ⁿ].] Substituting sides: Sf = −truncated + truncated + triv + Res + triv(−2) = triv + Res + triv(−2). So D-037's identity holds ⟺ S_∞ + 1 − λ_n = Res_{w=1} + triv + triv(−2). Hmm — so D-037's exact identity EQUIVALENTLY says: λ_n = S_∞ + 1 − Res_{w=1} − triv − triv(−2). But λ_n = truncated + tail, and sides = truncated + triv + Res... everything is consistent iff Res_{w=1} = S_∞ + 1 − λ_n − triv − triv(−2) — which is just Sf's definition again. CIRCULAR as written — meaning D-037's identity must actually be proved by the OTHER direction: the residue theorem gives sides = truncated + triv + Res; the content is: Sf := S_∞ + 1 − λ_n = S_∞ + 1 − truncated − tail = S_∞ + 1 − (sides − triv − Res) − tail = −sides + [S_∞ + 1 + triv + Res] − tail. For |Sf| ≤ B: the bracket [S_∞ + 1 + triv + Res_{w=1}] must be shown = 0 (EXACT cancellation — the w=1 identification!) and then |Sf| ≤ |sides| + |tail|. So the bound is |Sf| ≤ |sides-sum| + |tail| where tail = Σ_{|γ|>T} λ-summands ~ O(n log T/T) — and NOW I see where "2N(√n)" and "4C₀" come from in D-037's bound... hmm, no: those bound the TRUNCATED sum. But if Sf = −sides − tail (after cancellation), the truncated sum doesn't appear... I think I'm overcomplicating this. The actual structure (standard Lagarias): there are TWO exact identities: (i) BL Thm 2: λ_n = S_∞ − S_f + 1 (global, defining S_f as the zero-side sum S_f = Σ[1−(ρ/(ρ−1))ⁿ]-ish — the FULL sum). (ii) The finite-T contour truncation of the FULL zero sum S_f: S_f = Σ_{|γ|≤T}[...] + (contour remainder). Actually the cleanest classical statement: S_f(n) (the full zero sum in the BL decomposition) satisfies the EXACT finite identity S_f(n) = Σ_{|γ|≤T}′ [1−(ρ/(ρ−1))ⁿ]·(−1)^{...} + sides + triv + Res-related, where the truncation is EXACT because moving the contour from finite T to infinity picks up the tail, and the sides' convergence gives the tail bound separately. D-037's bound |S_f| ≤ 2N(T) + ... + sides: this bounds |S_f| by bounding the TRUNCATED sum (2N(T)) and the sides — meaning the identity used is: S_f = [truncated zero terms] + [sides integrals] + [trivial] + [tail of S_f's zero sum beyond T]? Hmm, but then where does the tail beyond T go... OK — the honest resolution: I need to read D-037's §4 fully (I only read through line 80) and possibly D-033 for the exact identity bookkeeping. This is exactly the kind of bookkeeping that must be pinned down in D-064 before any Lean. Let me read the rest of D-037.
All 8 planned dependencies check out clean (3 standard axioms only). Now let me read the rest of D-037 to pin down the exact identity bookkeeping — this determines the skeleton's shape.
tool: Read
input
{
  "file_path": "D:\\Python\\Quantum\\research\\derivations\\D-037-finite-height-theorem.md",
  "offset": 80,
  "limit": 130
}
raw content_json (database row)
[{"type":"thinking","thinking":"All planned dependencies are sorry-free (3 standard axioms only). Excellent.\n\nNow — one more verification before writing D-064: the liCoeff summability question. I'm mathematically confident it's not summable (n ≥ 1). Let me also double check how `Sf` is used and confirm the issue is real: yes, `Sf n := SInfty n + 1 − (liCoeff n).re` — with junk liCoeff = 0, SfBoundProp is false at n = 10⁵ (as I computed: |Sf| ≥ 432 501 > 347 000 ≥ Bn). \n\nActually wait — one subtlety: is it PROVABLE that liCoeff n = 0 under the current def? To prove `tsum f = 0` we'd prove `¬ Summable f`. That requires the divergence argument (RvM-based). It doesn't matter for the fix — what matters is that the def does NOT denote λ_n (it denotes the tsum, which is 0 if not summable, and the family is genuinely not summable). Whether Lean can prove that is secondary; the def is semantically wrong regardless.\n\nHmm, actually let me reconsider ONE more time whether the family might be summable after all... The summand is mult·(1 − (1−1/ρ)ⁿ) as a function on the subtype with the counting measure? No — tsum over a subtype of ℂ uses the COUNTING measure on the subtype (each point mass 1). So tsum f = Σ over zeros of mult·(1−(1−1/ρ)ⁿ), absolute convergence = Σ mult·|1−(1−1/ρ)ⁿ| < ∞. For on-line zeros (the first ~10¹³, up to T₀ — all on the line by Platt–Trudgian, but that's a HYPOTHESIS hRH; without it we know... hmm, actually for the summability QUESTION what matters is mathematical truth: RH truth aside, there ARE infinitely many zeros (proved by RvM theorem in Zeta23: N(T,2T) ~ (T/2π)log T... the main term shows N(T,2T) ≥ cT log T − C log T → ∞). For any zero ρ (on or off line), with |γ| ≥ 8n say: |1−(1−1/ρ)ⁿ| ≥ (n/4)·|1/ρ| as I estimated (w = 1−1/ρ near 1, |arg w| ≤ 1/γ-ish, |wⁿ−1| = |w−1|·|Σ_{j<n} w^j| ≥ (1/|ρ|)·n·(1/2) for the real-part reason). So Σ_{|γ| ≥ 8n} mult·|summand| ≥ (n/4)·Σ mult/|ρ| = ∞ by RvM. So yes — genuinely not summable, for every n ≥ 1. liCoeff n = 0 (junk). CERTAIN.\n\nAdditionally: `SInfty` — its summand (1−1/m)ⁿ − 1 + n/m over odd m ≥ 3: ~ n(n−1)/(2m²) — summable ✓ (bern_term_upper proves the bound; summability presumably proved in tier (i) — yes \"tsum summability discharged\" per NGUYEN.md session 011). ✓ SInfty is fine.\n\nSo the design fix: NEW def `liCoeffP` (paired). Two candidate forms:\n(A) Sum over upper-half zeros: `∑' ρ : {ρ // IsNontrivialZero ρ ∧ 0 < ρ.im}, mult·(f(ρ) + f(conj ρ))` where f(ρ) = 1−(1−1/ρ)ⁿ. Requires: (i) conj maps zeros to zeros (Schwarz reflection — does Zeta23 have it? zeta_reflect_zero is about reflect ρ = 1−ρ̄; conj invariance: riemannZeta (conj s) = conj (riemannZeta s) — Mathlib probably has this (schwarz reflection for Hurwitz? `riemannZeta_conj`? need to check — likely exists as `riemannZeta_conj` or via completedRiemannZeta...). (ii) no zeros on the real axis in the strip (ζ(x) < 0 for x ∈ (0,1) real — need to prove; via η: Mathlib has `riemannZeta` = hurwitzZetaEven 0 and eta-related lemmas? There's `riemannZeta_neg_nat_eq_bernoulli`, and ζ(s) ≠ 0 for s ∈ (0,1)... hmm, might need the eta function: Mathlib has `LSeries`... not sure about eta. Alternative elementary route: for real x ∈ (0,1), ζ(x) = lim (Σ...) hmm. Actually there's a classical trick: ζ(s)(1−2^{1−s}) = Σ(−1)^{n+1}n^{−s} = η(s), and for real s ∈ (0,1), η(s) > 0 (alternating series with decreasing terms) and (1−2^{1−s}) < 0 ⟹ ζ(s) < 0. Mathlib: is there η? Search needed. If not, prove η(s) = alternating series converges for real s > 0 via Dirichlet's test / explicit pairing, positivity by pairing terms (1/(2k−1)^s − 1/(2k)^s > 0). Bounded work either way.)\n(iii) the paired family summability: pair(ρ) = mult·(f ρ + f ρ̄) with |pair| ≤ C(n)·mult/|ρ|² for |ρ| ≥ 8n (the second-order cancellation — needs a real lemma: |2 − wⁿ − w̄ⁿ| with w = 1−1/ρ: w̄ = 1−1/ρ̄ ✓; 2 − wⁿ − w̄ⁿ = −(wⁿ−1) − (w̄ⁿ−1); wⁿ−1 = (w−1)S, S = Σ_{j<n} w^j = n + Σ(w^j − 1); |w^j − 1| ≤ j|w−1|·max(1,|w|)^{n}... standard: |wⁿ−1 − n(w−1)| ≤ n²|w−1|²·e^{n|w−1|}-ish. So f ρ + f ρ̄ = 2 − wⁿ − w̄ⁿ = −n[(w−1)+(w̄−1)] + O(n²|w−1|²) = −n·2Re(w−1) + O(n²/|ρ|²) = 2n·Re(1/ρ) + O(n²/|ρ|²) = 2n·σ/|ρ|² + O(n²/|ρ|²) = O(n²/|ρ|²) since σ ≤ 1 ✓. So |pair| ≤ C(n)·mult/|ρ|² with C(n) explicit (e.g. 2n + 4n² for |ρ| ≥ 2n) ✓. Then Σ over upper zeros: ≤ Σ_upper C(n)mult/|ρ|² ≤ C(n)·Σ_all mult/|ρ|² < ∞ via zero_sum_inv_sq comparison ✓✓.\n\n(B) Alternative: sum over the full subtype of the SYMMETRIZED summand ½(f ρ + f ρ̄): same thing, cleaner subtype (no 0 < im condition, but double-counts and needs the no-real-zeros fact anyway for the factor; actually with symmetrized summand, real zeros would contribute f(ρ) once (ρ̄ = ρ, ½(f+f) = f) — actually fine! The symmetrized sum over ALL zeros = Σ_all ½(f ρ + f ρ̄) = Σ_upper (f ρ + f ρ̄) + Σ_real f ρ — and if real zeros don't exist, equals form (A). And summability: |½(f ρ + f ρ̄)| ≤ C(n)mult/|ρ|² for large ρ ✓ regardless. So (B) is cleaner: `liCoeffP n := ∑' ρ : subtype, (mult ρ : ℂ)/2 * (f ρ + f (conj ρ))`. And it equals the intended λ_n. The no-real-zeros lemma is then only needed for... hmm, actually NOT needed at all for (B)! Because (B) is unconditionally equal to \"Σ_upper pairs + Σ_real f\" and if a real zero existed, λ_n's classical definition (Hadamard sum) would include it too — (B) IS the correct classical definition regardless. \n\nSo (B) is the design: symmetrized tsum over the full subtype. Summable by comparison with zero_sum_inv_sq. Equals the classical λ_n (Hadamard principal value). And it's REAL-valued (each summand: ½mult(f ρ + conj(f ρ)) = mult·Re(f ρ) ∈ ℝ!) — bonus: liCoeffP n is manifestly real (can define it into ℝ directly!). That kills the `.re` in Sf/LiVerifiedUpTo — cleaner. (Keep the ℂ version for compatibility, or refactor Sf to use the real one — the old theorems use (liCoeff n).re; minimal-diff approach: define liCoeffP : ℕ → ℂ proving it's real, then REDEFINE liCoeff := liCoeffP. The downstream .re stays working.)\n\nThen the L0 identity (D-036): Sf n = truncated sum + sides + trivial — with Sf defined from the CORRECT liCoeff, the identity is the real content.\n\nOK. Now — the w=1 residue identification (crux). From D-037's identity:\nS_f(n) = Σ_{|γ|≤T}′ [1 − (ρ/(ρ−1))ⁿ]·(−1) + (1/2πi)(I_I+I_II+I_III+I_IV) + triv(−2)\n\nLet me sanity-check the sign/residue bookkeeping: integrand g(w) = k_n(w−1)·(−ζ′/ζ(w)), k_n(s) = (1+1/s)ⁿ − 1.\n- At a nontrivial zero ρ (simple): −ζ′/ζ has residue −1 (ζ′/ζ has residue +1 at a simple zero). So Res g = k_n(ρ−1)·(−1) = −((1+1/(ρ−1))ⁿ − 1) = −((ρ/(ρ−1))ⁿ − 1) = 1 − (ρ/(ρ−1))ⁿ ✓ matches the identity's summand.\n- At trivial zeros ρ = −2k inside the rectangle (−2, −4 for σ₀ = −5/2): same: 1 − (ρ/(ρ−1))ⁿ = 1 − ((−2)/(−3))ⁿ... wait ρ/(ρ−1) at ρ=−2: (−2)/(−3) = 2/3. Hmm, D-036 says |(1+1/(−2))ⁿ−1| = 1−2^{−n}: k_n(ρ−1) at ρ = −2: k_n(−3) = (1−1/3)ⁿ − 1 = (2/3)ⁿ − 1 — hmm D-036 wrote (1+1/(−2))ⁿ — that's k_n evaluated at −2 not −3?? Let me recheck: the residue at the trivial zero ρ_triv is k_n(ρ_triv − 1)·(−1)·(−1)... sign: Res g = k_n(ρ_triv − 1)·Res(−ζ′/ζ) = k_n(ρ_triv−1)·(−1). Hmm wait — the integrand is k_n(w−1)·(−ζ′/ζ(w)); at a zero ρ of ζ, −ζ′/ζ has residue −1 (per simple zero), so Res g|_ρ = k_n(ρ−1)·(−1) = 1 − (ρ/(ρ−1))ⁿ ✓ as computed. For ρ = −2: k_n(−3) = (1 + 1/(−3))ⁿ − 1 = (2/3)ⁿ − 1, Res = 1 − (2/3)ⁿ. D-036 says \"Trivial zeros: only ρ = −2 inside; |(1+1/(−2))ⁿ − 1| = 1 − 2^{−n} ≤ 1\" — hmm, that computes k_n(−2) = (1−1/2)ⁿ − 1 = 2^{−n} − 1, |·| = 1−2^{−n}. But the residue is k_n(ρ−1) = k_n(−3) not k_n(−2)?? Unless D-036 uses a different kernel placement (k_n(w) with integrand k_n(w)(−ζ′/ζ(w)) and residues at ρ+1?? no...). Or the identity sums residues as \"triv(−2)\" meaning the contribution is 1 − (2/3)ⁿ — and D-036's bound \"≤ 1\" is just a coarse bound that's correct either way ((2/3)ⁿ vs 2^{−n} both ≤ 1). Fine — the formalization will get it exactly right; the BOUND \"≤ 1\" stands. But NOTE: trivial zero ρ = −4 is also inside (σ₀ = −5/2 < −4)? −5/2 = −2.5, so σ ranges [−2.5, 2√n] — −4 < −2.5 NOT inside. Only −2 ✓. OK.\n- At w = 1: pole of order n+1 (k_n(w−1) has pole of order n at w=1; −ζ′/ζ has a simple pole with residue +1... wait: ζ has a pole at 1, so ζ′/ζ ~ −1/(w−1), so −ζ′/ζ ~ +1/(w−1) — simple pole residue +1). So g has pole of order n+1 at 1, and Res g|_1 = [Laurent coefficient extraction]. Writing k_n(w−1) = Σ_{j=1}^n C(n,j)(w−1)^{−j} and −ζ′/ζ(w) = Σ_{k≥−1} c_k (w−1)^k with c_{−1} = 1: Res = Σ_{j=1}^n C(n,j)·c_{j−1} = Σ_{j=1}^n C(n,j) c_{j−1} where c_{j−1} = Laurent coeffs of −ζ′/ζ at 1.\n\nAnd the identity: RectangleIntegral' = Σ residues = Σ_{|γ|≤T} [1−(ρ/(ρ−1))ⁿ] + [1−(2/3)ⁿ] + Σ_{j=1}^n C(n,j)c_{j−1}.\n\nThen Sf := S_∞ + 1 − λ_n. And λ_n = paired full sum. Hmm — how does the FULL sum appear? The rectangle gives the TRUNCATED sum. The identity Sf = truncated + sides + triv requires:\nS_∞ + 1 − λ_n = Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] + sides + [1−(2/3)ⁿ]\nHmm wait — but the rectangle residue theorem gives: sides = Σ residues (including w=1). So:\nsides = Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] + [1−(2/3)ⁿ] + Res_{w=1}\n⟹ Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ] = sides − [1−(2/3)ⁿ] − Res_{w=1}.\n\nNow λ_n (full paired sum) vs the truncated sum Σ_{|γ|≤T}[1−(ρ/(ρ−1))ⁿ]: note for a zero ρ, the summand in liCoeffP is Re[1−(1−1/ρ)ⁿ], and 1−1/ρ = (ρ−1)/ρ — while the contour summand is 1−(ρ/(ρ−1))ⁿ = 1−(1−1/(1−ρ))ⁿ-ish — the ρ ↔ 1−ρ symmetry! The zero set is symmetric under ρ ↦ 1−ρ (functional equation) and ρ ↦ ρ̄. The liCoeff summand at the REFLECTED zero: 1−(1−1/(1−ρ))ⁿ = 1−((1−ρ−1)/(1−ρ))ⁿ = 1−(ρ/(ρ−1))ⁿ ✓✓. So the contour residue at ρ equals the liCoeff summand at 1−ρ. Since the zero set is reflect-invariant, the FULL liCoeff sum = Σ_all [1−(ρ/(ρ−1))ⁿ] (re-indexed) = Σ_all [1−(1−1/ρ)ⁿ] — consistent.\n\nSo: λ_n = Σ_all-zeros(paired) [1−(ρ/(ρ−1))ⁿ]. Split: λ_n = Σ_{|γ|≤T} + Σ_{|γ|>T} (tail). Then:\nSf = S_∞ + 1 − λ_n = S_∞ + 1 − [sides − (1−(2/3)ⁿ) − Res_{w=1}] − tail\n     = [S_∞ + 1 + Res_{w=1} − 1 + (2/3)ⁿ... hmm: S_∞ + 1 − sides + 1 − (2/3)ⁿ + Res_{w=1} − tail.\n\nFor this to match D-037's form (Sf = −truncated + sides + triv(−2)... let me not force it; D-037's exact identity (line 63): \"S_f(n) = Σ_{|γ|≤T}′ [1 − (ρ/(ρ−1))ⁿ]·(−1) + (1/2πi)(I_I+I_II+I_III+I_IV) + triv(−2)\". Hmm — that has −truncated + sides + triv. Substituting truncated = sides − triv − Res: −truncated + sides + triv = −(sides − triv − Res) + sides + triv = 2·triv + Res?? That can't be right dimensionally... I think D-037's \"S_f(n)\" on the LHS means something slightly different — maybe the identity is for the TRUNCATED S_f and the tail is bounded separately as part of \"zeros ≤ 2N(T)\". Let me look at D-037 §4's assembly again: \"|S_f(n)| ≤ 2N(√n) + 4C₀(√n+1) + |I_I| + |I_II| + |I_IV| + |I_III| + 1\" — components: 2N(√n) [the on-line zero terms], 4C₀ [height-window slack T−√n < 1], the four sides, +1 [trivial zero]. So |S_f| is bounded by: the FULL zero sum's contribution ≤ 2N(T) (using each term ≤ 2 via RH-to-T₀) + tail... \n\nhmm wait, where's the tail Σ_{|γ|>T} in this accounting? If S_f = S_∞ + 1 − λ_n exactly, then bounding |S_f| needs the full λ_n including the tail beyond T. But D-037's bound has no explicit tail term... UNLESS the \"2N(√n)\" term is meant to cover the zero sum to height T and the TAIL is bounded by... let me think: the tail Σ_{|γ|>T} [1−(ρ/(ρ−1))ⁿ] paired: each pair ≈ n²/|ρ|²-ish... Σ_{|γ|>T} n²mult/|ρ|² ≈ n²·log T/T = n² log T/√n = n^{3/2} log T — HUGE, way bigger than B(n) ~ √n log n. That can't be right. Hmm!!\n\nWait, no — the tail can't be that big, because λ_n is the FULL sum and equals S_∞ − S_f + 1 with |S_f| small... Let me recompute the tail size. Pair for |γ| large: f(ρ)+f(ρ̄) with f(ρ) = 1−(1−1/ρ)ⁿ: computed above = 2nσ/|ρ|² + O(n²/|ρ|²) — for n ≤ γ²-ish, i.e. γ ≥ √n: O(n/|ρ|² + n²/|ρ|²·(1/...))... |pair| ≤ C·n²/|ρ|² for |ρ| ≥ 2n. But our tail starts at |γ| > T = √n + 1 — NOT ≥ 2n! For zeros with γ ∈ (√n, 2n): the pair bound |pair| ≤ C·n²/|ρ|² with C(n) ~ n² e^{n/|ρ|} — the e^{n/|ρ|} factor: |w|ⁿ ≤ (1+1/|ρ|)ⁿ ≤ e^{n/|ρ|} ≤ e^{√n}-ish for γ ~ √n. Hmm, so pairs in the range √n < γ < n can be as large as... |1−(1−1/ρ)ⁿ| ≤ 1+|1−1/ρ|ⁿ ≤ 1 + e^{n/|ρ|} — for γ ~ √n, e^{√n}?!?! That would make individual tail terms EXPONENTIAL in √n.\n\nWAIT. That's for off-line zeros with σ < 1/2 (where |1−1/ρ| > 1). For ON-LINE zeros |1−1/ρ| = 1 exactly, so |1−(1−1/ρ)ⁿ| ≤ 2 always. The tail beyond T₀: zeros with |γ| > T₀ = 3×10¹², n ≤ (T₀−1)²: e^{n/|ρ|} ≤ e^{n/T₀} ≤ e^{T₀} — enormous?! But the paired sum for σ < 1/2: pair = 2nσ/|ρ|² + ... the first-order term is 2nσ/|ρ|² — the O-bound: f ρ + f ρ̄ = 2 − wⁿ − w̄ⁿ where w = 1−1/ρ. Hmm, for σ < 1/2: |w| > 1, wⁿ grows. But w̄ = conj w — same modulus. 2 − 2Re(wⁿ) — and Re(wⁿ) can be as large as |w|ⁿ ~ e^{n/|ρ|}. For γ just above T₀ ~ 3×10¹² and n ~ 9×10²⁴: n/γ² ~ 9×10²⁴/9×10²⁴ = 1 — so |w|ⁿ ≈ e^{n·(1−2σ)/2/|ρ|²·...}: |w|² = ((1−σ)²+γ²)/(σ²+γ²) = 1 + (1−2σ)/|ρ|². |w|ⁿ = exp((n/2)log(1+(1−2σ)/|ρ|²)) ≈ exp(n(1−2σ)/(2|ρ|²)) ≤ exp(n/(2|ρ|²)) ≤ e^{1/2} for n ≤ |ρ|². OK!! I miscalculated before: |w|ⁿ grows like e^{n/|ρ|²}, NOT e^{n/|ρ|} — because |w|−1 ≈ (1−2σ)/(2|ρ|²), not 1/|ρ|. Right: |1−1/ρ| − 1 = (|ρ−1|−|ρ|)/|ρ| ≈ ((1−2σ)/(2|ρ|))/|ρ| = (1−2σ)/(2|ρ|²). So per-zero tail contribution |2−wⁿ−w̄ⁿ| ≤ 2 + 2|w|ⁿ ≤ 2 + 2e^{n/(2γ²)} ≤ 2+2e^{1/2} for γ ≥ √n. BOUNDED per zero. And Σ_{γ > T} bounded·mult — diverges (infinitely many zeros)!! The tail sum is over infinitely many zeros each contributing up to ~5?? That diverges!\n\nNo wait — the pair is 2 − wⁿ − w̄ⁿ = −(wⁿ−1)−(w̄ⁿ−1), and wⁿ−1 ≈ n(w−1) for w near 1: |wⁿ−1| ≤ n|w−1|·max(1,|w|)^{n−1} ≤ (n/|ρ|)·e^{n/(2|ρ|²)}-ish. Hmm: |wⁿ − 1| ≤ n·|w−1|·max(1,|w|^{n−1}): |w−1| = 1/|ρ|. So |pair| ≤ 2·(n/|ρ|)·e^{n/(2|ρ|²)} ≤ 2e^{1/2}·n/|ρ|. And Σ_{γ>T} n/|ρ| ~ n·(log T)/T ~ √n log n — that's the tail size: ~√n log n ≪ B(n) ✓✓. Phew: the tail is O(n log T/T) = O(√n log n) — SAME order as B(n)'s leading term. So the tail MUST be included in the accounting, and indeed looking back at D-037 §4's \"zeros\" bullet: \"|Σ| ≤ 2N(T) ≤ 2F(T) + 2S_bnd(T)\" — that's only the |γ| ≤ T part (each term ≤ 2). The tail |γ| > T: I bet it's inside the identity's \"Σ_{|γ|≤T}\" being EXACT (D-037's identity for S_f has NO tail because the identity is exact at finite T — the tail doesn't exist in the identity: S_f = truncated + sides + triv EXACTLY).\n\nBut from my residue bookkeeping above: Sf = S_∞ + 1 − λ_n = S_∞ + 1 − truncated − tail. And sides = truncated + triv + Res_{w=1}. If D-037's identity S_f = −truncated' + sides + triv' is exact... substituting: S_∞ + 1 − truncated − tail = −truncated + sides + triv' ⟹ S_∞ + 1 − tail = sides + triv' = truncated + triv + Res + triv' — this would need S_∞ + 1 = truncated + tail + Res + ... = λ_n + Res_{w=1} + triv + triv' — i.e., Res_{w=1} = S_∞ + 1 − λ_n − triv − triv' + ... CIRCULAR unless Res_{w=1} is identified independently. The w=1 residue Res = Σ_j C(n,j)c_{j−1} is an EXPLICIT quantity; the claim is it equals −S_∞ − 1 + [something]... Let me just directly derive what Res must equal for D-037's identity to hold, and that IS the identification to prove:\n\nFrom sides = truncated + triv + Res (residue theorem), and the DEFINITION Sf = S_∞ + 1 − λ_n:\nSf = S_∞ + 1 − λ_n.\nD-037 claims: Sf = −truncated + sides + triv(−2).\n[Note sign: D-037 writes Σ_{|γ|≤T}′[1−(ρ/(ρ−1))ⁿ]·(−1) — so \"−truncated\" where truncated = Σ[1−(ρ/(ρ−1))ⁿ].]\nSubstituting sides: Sf = −truncated + truncated + triv + Res + triv(−2) = triv + Res + triv(−2).\nSo D-037's identity holds ⟺ S_∞ + 1 − λ_n = Res_{w=1} + triv + triv(−2).\n\nHmm — so D-037's exact identity EQUIVALENTLY says: λ_n = S_∞ + 1 − Res_{w=1} − triv − triv(−2). But λ_n = truncated + tail, and sides = truncated + triv + Res... everything is consistent iff Res_{w=1} = S_∞ + 1 − λ_n − triv − triv(−2) — which is just Sf's definition again. CIRCULAR as written — meaning D-037's identity must actually be proved by the OTHER direction: the residue theorem gives sides = truncated + triv + Res; the content is:\n\nSf := S_∞ + 1 − λ_n = S_∞ + 1 − truncated − tail\n    = S_∞ + 1 − (sides − triv − Res) − tail\n    = −sides + [S_∞ + 1 + triv + Res] − tail.\n\nFor |Sf| ≤ B: the bracket [S_∞ + 1 + triv + Res_{w=1}] must be shown = 0 (EXACT cancellation — the w=1 identification!) and then |Sf| ≤ |sides| + |tail|. So the bound is |Sf| ≤ |sides-sum| + |tail| where tail = Σ_{|γ|>T} λ-summands ~ O(n log T/T) — and NOW I see where \"2N(√n)\" and \"4C₀\" come from in D-037's bound... hmm, no: those bound the TRUNCATED sum. But if Sf = −sides − tail (after cancellation), the truncated sum doesn't appear...\n\nI think I'm overcomplicating this. The actual structure (standard Lagarias): there are TWO exact identities:\n(i) BL Thm 2: λ_n = S_∞ − S_f + 1 (global, defining S_f as the zero-side sum S_f = Σ[1−(ρ/(ρ−1))ⁿ]-ish — the FULL sum).\n(ii) The finite-T contour truncation of the FULL zero sum S_f: S_f = Σ_{|γ|≤T}[...] + (contour remainder).\n\nActually the cleanest classical statement: S_f(n) (the full zero sum in the BL decomposition) satisfies the EXACT finite identity\nS_f(n) = Σ_{|γ|≤T}′ [1−(ρ/(ρ−1))ⁿ]·(−1)^{...} + sides + triv + Res-related,\nwhere the truncation is EXACT because moving the contour from finite T to infinity picks up the tail, and the sides' convergence gives the tail bound separately. D-037's bound |S_f| ≤ 2N(T) + ... + sides: this bounds |S_f| by bounding the TRUNCATED sum (2N(T)) and the sides — meaning the identity used is:\nS_f = [truncated zero terms] + [sides integrals] + [trivial] + [tail of S_f's zero sum beyond T]?\nHmm, but then where does the tail beyond T go...\n\nOK — the honest resolution: I need to read D-037's §4 fully (I only read through line 80) and possibly D-033 for the exact identity bookkeeping. This is exactly the kind of bookkeeping that must be pinned down in D-064 before any Lean. Let me read the rest of D-037.","signature":""},{"type":"text","text":"All 8 planned dependencies check out clean (3 standard axioms only). Now let me read the rest of D-037 to pin down the exact identity bookkeeping — this determines the skeleton's shape."},{"type":"tool_use","id":"Read_38","name":"Read","input":{"file_path":"D:\\Python\\Quantum\\research\\derivations\\D-037-finite-height-theorem.md","offset":80,"limit":130},"extra_content":null}]