Current task: —

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

#885 assistant 2026-08-21 17:26:06.211 UTC · 1910→4051 tok open ⤢
thinking (10205 chars)
Critical finding: the vendored rectangle residue theorem `RectangleIntegral'_eq_sumResiduesIn` (line 1084) uses a **placeholder `residue` valid only for simple poles** with the `HasSimplePolesOn` scaffold. Our integrand `k_n(w−1)(−ζ′/ζ(w))` has: - simple poles at zeros ρ ✓ - a pole of order n+1 at w = 1 ✗ — NOT covered by the simple-pole scaffold! So the general rectangle residue theorem as vendored does NOT directly apply to our integrand. Options: **Option A: Extend the machinery to higher-order poles.** Need a general `residue` (e.g., via the (m−1)! formula or via principal-part integration) and a rectangle residue theorem without the simple-pole restriction. The theorem's proof (line 1090-1102) goes through a "principalPart" decomposition — the scaffold exists; extending to finite-order poles means defining the residue via the Laurent coefficient / the principal part. Since Mathlib has `MeromorphicAt` with `meromorphicOrderAt` and analytic principal parts (`MeromorphicAt.order`, and there might be API for the principal part / Laurent series... Mathlib's meromorphic API: `MeromorphicAt`, `meromorphicOrderAt`, `MeromorphicNFAt` (normal form: (z−z₀)^order • g with g analytic nonvanishing). With NF, the principal part for order −m is Σ_{j=1}^m c_j/(z−z₀)^j where c_j from g's Taylor. The residue c_1 = g's (m−1)-th Taylor coefficient / (m−1)!. For a rectangle, the integral of c_j/(z−z₀)^j around = 2πi·c_1 (j=1 term only, since j≥2 primitives are single-valued). So the extension is: general residue theorem on rectangles for finite-order poles — provable from the existing simple-pole version by decomposing the principal part and applying the simple-pole version to each term (each c_j/(z−z₀)^j for j ≥ 2 has integral 0 by an explicit primitive argument — wait, c_j/(z−z₀)^j has primitive c_j/(1−j)(z−z₀)^{1−j} which is single-valued meromorphic, so its rectangle integral is 0 by the fundamental theorem / the HolomorphicOn.vanishesOnRectangle applied to the primitive. Fine — so the extension is a bounded piece of work, no new analysis. **Option B: Avoid the higher-order pole entirely by splitting the integrand.** Write the integrand as k_n(w−1)·(−ζ′/ζ) and note k_n(w−1) = (w/(w−1))ⁿ − 1. Hmm, the pole at w=1 comes from the kernel. Alternative: handle the w=1 residue by a SEPARATE small contour around w=1 (pull the rectangle to a small circle around 1 — `RectanglePullToNhdOfPole` exists!) and compute the residue on that small circle via... still a higher-order pole computation, but now localized: need ∮_{|w−1|=r} k_n(w−1)(−ζ′/ζ) dw / 2πi = the (n+1)-order residue = Σ_{j=1}^n C(n,j)·[Taylor coeff]. Either way we need the higher-order residue value. **Option C: Restructure to make all poles simple — different kernel.** Use the kernel K_n(s) = something with a simple pole at s=0 but the same values at zeros? Impossible: kernel must have a pole at s=0 of order n to produce (1+1/s)ⁿ. Any meromorphic K with K(ρ−1) = (ρ/(ρ−1))ⁿ − 1 at all zeros ρ and a pole only at 0... the order of the pole at 0 is forced to be n (the interpolating values grow like s^{−n} as s→0 along the zero sequence? not exactly, but the natural kernel family has order n). A non-natural kernel (e.g., add an entire function vanishing at all zeros−1) could reduce the pole order — e.g., k_n(s) − [Taylor polynomial of k_n at 0 of order n−1]·[entire interpolant]... too clever, and the residue at 0 would then be different (that changes S_∞ identification correspondingly). The S_∞ side HAS degree-n structure; the pole order is intrinsic. Accept order n+1 pole; extend residue machinery (Option A) — it's the honest bounded lift. Let me also check: does the vendored theorem require f to be meromorphic on the whole rectangle with the poles only inside? Line 1084-1090: `RectangleIntegral'_eq_sumResiduesIn {f} {z w}` with hypotheses including HasSimplePolesOn presumably, and conclusion `RectangleIntegral' f z w = sumResiduesIn f (Rectangle z w ∩ {z | meromorphicOrderAt f z < 0})`. The extension would give the same conclusion without the simple-pole hypothesis, with a general `residue`. So the machinery gap for L0 is: (i) general (finite-order) residue definition + computation lemmas (the (m−1)! derivative formula — Mathlib may have `MeromorphicAt` Laurent-ish API? Let me not check further; bounded work either way), (ii) rectangle residue theorem for finite-order poles (assemble from the vendored simple-pole version + principal-part decomposition), (iii) the actual residue computations: at zeros (simple, via logDerivResidue ✓ vendored), at w=1 (order n+1 — needs the exact S_∞ identification — the mathematical crux), at trivial zeros −2, −4 (simple ✓). Also for L2 (R-bound): check Zeta23's zero counting (Defs) and what N(T) machinery exists. And check Mathlib digamma. Both exist at least partially. Good enough for the survey — detailed inventory IS sub-stage ii′-0. One more thing to verify quickly: liCoeff definition in NguyenRH1 (what L7 summability looks like). Let me grep quickly. Actually I have enough for the plan; the detailed inventory is literally the first sub-stage deliverable. Now let me also think about the overall feasibility verdict: **De-risking factors discovered today:** 1. `RectangleIntegral'_eq_sumResiduesIn` — the master rectangle residue theorem EXISTS in our dependency (vendored from PNT+), proven and building green. The L0 "main formalization lift" is much smaller than D-062 feared: we extend from simple poles to finite-order poles (bounded), not build from scratch. 2. `logDerivResidue`, `riemannZetaLogDerivResidue`, `riemannZetaResidue`, `ResidueMult` — residue computation lemmas for exactly our pole types at zeros and at s=1 exist. 3. Mathlib has digamma (for Lemma D in the R-bound). 4. zeta-23-lean itself has zero-counting/N(T)-adjacent infrastructure (Defs) — to inventory. **Remaining genuine lifts:** 1. **Higher-order residue machinery** (order n+1 pole): general residue def + rectangle theorem extension. Engineering, bounded. 2. **The w=1 residue = S_∞(n) exact identification** (the mathematical crux): classical algebra, written in D-036/D-037/Lagarias, needs a formalization-friendly paper design first (choose local-Laurent vs global route). 3. **R-bound (L2)**: D-056's proof uses Hadamard partial fractions. Check what exists (Zeta23 may have relevant ζ′/ζ infrastructure — ZetaBounds has ZetaSum lemmas...). Alternative local route exists. Bounded either way, but this is the second-biggest chunk. 4. **L7 liCoeff summability**: flagged; the zero-sum convergence with perimeter N(T) bound — real analysis, tractable. So feasibility: HIGH. I'd quantify: ~85–90% achievable as planned, with the main risk being underestimation of engineering friction rather than mathematical blockage. Nothing here requires new mathematics. **Sub-stage plan** (each ending clean/committed/resumable per §8.5): - **ii′-0 (design + skeleton)** — D-064: full capability inventory (vendored residue API, meromorphic order API, digamma, zero-counting in Zeta23, Mathlib zeta Laurent); route decisions (higher-order extension design; w=1 identification route; L2 Hadamard-vs-local); write `LiContour.lean` top-down skeleton with ~20–30 named sorries, each cross-referenced to archive line numbers. Exit: skeleton compiles; every sorry has an archive proof. - **ii′-1** — General residue + rectangle extension (machinery): general `gresidue`, computation lemmas (product rule, derivative formula at finite order), rectangle theorem for finite-order poles, proved against the vendored simple-pole version. - **ii′-2** — L1 kernel bounds + trivial-zero residues + I-side estimates (elementary, builds tier-(i) momentum). - **ii′-3** — L3 zero-avoiding T (pigeonhole from perimeter N(T)). - **ii′-4** — L7 liCoeff summability + zero-sum truncation bookkeeping (needs perimeter N(T) — comparison convergence). - **ii′-5** — L2 R-bound (the analytic chunk; route chosen in ii′-0). - **ii′-6** — The w=1 residue: exact S_∞ identification (the crux; paper design from ii′-0). - **ii′-7** — Identity assembly: Sf = truncated + sides + trivial; bound assembly |Sf| ≤ Bn; discharge `SfBoundProp`; swap into `lambda_pos_finite_height_verified`; full axiom audit; paper Appendix B + tag upgrade; archive closure (journal, D-files, NGUYEN.md, STATE.md). That's 8 sub-stages ≈ 8–14 sessions depending on friction (some sub-stages are multi-session, notably ii′-5 and ii′-6). Order note: I'd reorder slightly — machinery (ii′-1) before L1 (ii′-2)? Actually L1 doesn't need residues. To build momentum and de-risk early: do ii′-1 machinery first (it's on the critical path of everything), then the easy layers, then the two hard ones (ii′-5, ii′-6) — and importantly, do the crux PAPER DESIGN in ii′-0 so there are no surprises. Alternative ordering consideration: start with ii′-6's paper design to retire the biggest risk first? The fork-rule/§8.5 says break into sub-stages. I think ii′-0 (which INCLUDES the crux paper design) then machinery, then easy layers, then hard layers is right. Also worth stating: what success yields (the tag upgrade per D-062 §4) and the strategic option (submit now vs after ii′). One line. Probability estimate: I'll give ~85% fully closed as planned, ~95% that at worst some lemma needs a route change (not a dead end), and note the fallback: if the w=1 identification proves unexpectedly nasty, there's a plan-B (weaken SfBoundProp's statement to the one-sided bound the assembly actually needs and prove the identity in inequality form — no, the identity is needed... the real fallback is: keep the hypothesis honestly declared, which is the current published state — i.e., failure here costs nothing, the paper stands as-is). That's an important asymmetry to state: this is a pure-upgrade project with a zero-downside fallback. Let me write the response now. Structure: 1. Verdict up front: feasible, no new mathematics; discovered machinery already vendored. 2. What the task actually is (3 real lifts). 3. Key findings from the dependency survey (today's good news). 4. Sub-stage plan table with exit criteria. 5. Probability + risks + fallback. 6. Strategic note (submit now vs after) + question.
This changes the picture significantly — for the better. Here's my analysis and plan. ## First, what the task actually is Closing `SfBoundProp` means proving in Lean: the D-036/D-037 contour identity is exact, and every piece is bounded by the traced `B(n)` terms, uniformly for 10⁵ ≤ n ≤ (3×10¹²−1)². Per the D-062 triage, only three parts are genuinely hard: 1. **L0 — the rectangle contour identity** (residue theorem applied to `k_n(w−1)(−ζ′/ζ)`, assembling `S_f = truncated zero sum + side integrals + trivial-zero terms`). 2. **The pole at w = 1 of order n+1** — its residue must be identified *exactly* with `S_∞(n) + lower terms`. This is the mathematical crux, and no shortcut exists: per-term triangle bounds explode like 2ⁿ (the D-033 "three-way cancellation" wall), so the exact per-j Lagarias identity is forced. 3. **L2 — the reference-point R-bound** (D-056: `|ζ′/ζ − Σ_{|γ−t|<1} 1/(s−ρ)| ≤ 10.5 log(|t|+2) + 48`), whose classical proof runs through Hadamard partial fractions. Everything else (L1 kernel bounds, L3 pigeonhole, L7 summability) is elementary or finite combinatorics modulo the declared Trudgian perimeter. ## Today's dependency survey — the good news D-062 called L0 "the main formalization lift" because Mathlib's rectangle residue machinery was assumed thin. Checking the actual vendored tree, we already own most of it: - **`RectangleIntegral'_eq_sumResiduesIn`** — a *proved* general rectangle residue theorem, vendored in zeta-23-lean from PNT+ (`FromPNTPlus/ResidueCalcOnRectangles.lean:1084`). Also `RectanglePullToNhdOfPole`, `ResidueMult`, `logDerivResidue` (residue at a zero of ζ), `riemannZetaLogDerivResidue` (at s=1). - **One real gap**: the vendored theorem carries a `HasSimplePolesOn` scaffold — its `residue` is a placeholder valid only for simple poles, and our integrand's w=1 pole has order n+1. So the machinery lift is: general finite-order residue + extend the rectangle theorem (via principal-part decomposition — the j≥2 terms vanish by explicit primitives). Engineering, not analysis. - Mathlib has **digamma** (for D-056's Lemma D), `MeromorphicAt`/`meromorphicOrderAt` normal forms, and zeta-23-lean itself carries zero-counting infrastructure (`Zeta23/Defs`) I haven't fully inventoried yet. ## Feasibility verdict **High — I estimate ~85–90% it closes exactly as planned, and ~95%+ that the worst outcome is a route change on one lemma, not a dead end.** Nothing requires new mathematics; every step's proof exists in the archive (D-036/D-037/D-056) or in Lagarias. The risks are engineering friction: the w=1 identification being fiddly, and L2's Hadamard dependency (mitigant: the Borel–Carathéodory/Jensen local route, or Zeta23's existing ζ′/ζ infrastructure). Crucially, the **fallback is free**: if any piece stalls, the paper stands exactly as it is today with `SfBoundProp` honestly declared. This is a pure-upgrade project with zero downside. What success buys (D-062 §4): the tag becomes *"Lean-verified modulo published explicit N(T)/S(T) bounds (Trudgian 2014) + computational certificates"* — no named analytic hypothesis remains. ## Proposed sub-stage plan (§8.5-compliant, each ends committed/resumable) | # | Sub-stage | Content | Est. sessions | |---|---|---|---| | ii′-0 | **Design + skeleton** (D-064) | Full capability inventory; route decisions (higher-order extension design; w=1 route: local Laurent recursion vs global two-way evaluation; L2 Hadamard vs local); write `LiContour.lean` top-down with ~20–30 named sorries, each cross-referenced to an archive proof line | 1–2 | | ii′-1 | Residue machinery | General finite-order `residue`, computation rules, rectangle theorem without `HasSimplePolesOn` | 1–2 | | ii′-2 | L1 + trivial zeros | Kernel bounds (\|k_n\| ≤ 2 etc.), residues at −2, −4, side-integral estimates | 1 | | ii′-3 | L3 | Zero-avoiding T ∈ [√n, √n+1] by pigeonhole on the perimeter N(T) count | 0.5–1 | | ii′-4 | L7 + truncation | `liCoeff` summability and zero-sum truncation bookkeeping via perimeter N(T) | 1 | | ii′-5 | L2 | The R-bound at A = 10.5, B₀ = 48 (the analytic heavy lift) | 2–3 | | ii′-6 | The w=1 pole | Exact identification with S_∞(n) — the crux, from the ii′-0 paper design | 2–3 | | ii′-7 | Assembly + closure | Discharge `SfBoundProp`, swap into `lambda_pos_finite_height_verified`, full axiom audit, paper Appendix B + tag upgrade, archive closure | 1 | Total: **~9–15 sessions**, roughly 4–6× the tier (i)+(ii) effort. Order rationale: ii′-0 retires the design risk (including the crux on paper) before any Lean is written; ii′-1 builds the shared machinery; ii′-2/3/4 bank easy wins; ii′-5/6 are the two heavy lifts; ii′-7 closes. ## One strategic note Paper A is submission-ready *today* with the hypothesis declared — so there's a genuine choice: (a) do tier ii′ now and submit after, or (b) submit now and do ii′ as revision material. The mathematician's review recommended (b). But the plan stands either way, and doing ii′-0 costs nothing against (b). I'd start with **ii′-0** (the D-064 design document + compiling sorry skeleton). Shall I begin?
raw content_json (database row)
[{"type":"thinking","thinking":"Critical finding: the vendored rectangle residue theorem `RectangleIntegral'_eq_sumResiduesIn` (line 1084) uses a **placeholder `residue` valid only for simple poles** with the `HasSimplePolesOn` scaffold. Our integrand `k_n(w−1)(−ζ′/ζ(w))` has:\n- simple poles at zeros ρ ✓\n- a pole of order n+1 at w = 1 ✗ — NOT covered by the simple-pole scaffold!\n\nSo the general rectangle residue theorem as vendored does NOT directly apply to our integrand. Options:\n\n**Option A: Extend the machinery to higher-order poles.** Need a general `residue` (e.g., via the (m−1)! formula or via principal-part integration) and a rectangle residue theorem without the simple-pole restriction. The theorem's proof (line 1090-1102) goes through a \"principalPart\" decomposition — the scaffold exists; extending to finite-order poles means defining the residue via the Laurent coefficient / the principal part. Since Mathlib has `MeromorphicAt` with `meromorphicOrderAt` and analytic principal parts (`MeromorphicAt.order`, and there might be API for the principal part / Laurent series... Mathlib's meromorphic API: `MeromorphicAt`, `meromorphicOrderAt`, `MeromorphicNFAt` (normal form: (z−z₀)^order • g with g analytic nonvanishing). With NF, the principal part for order −m is Σ_{j=1}^m c_j/(z−z₀)^j where c_j from g's Taylor. The residue c_1 = g's (m−1)-th Taylor coefficient / (m−1)!. For a rectangle, the integral of c_j/(z−z₀)^j around = 2πi·c_1 (j=1 term only, since j≥2 primitives are single-valued). So the extension is: general residue theorem on rectangles for finite-order poles — provable from the existing simple-pole version by decomposing the principal part and applying the simple-pole version to each term (each c_j/(z−z₀)^j for j ≥ 2 has integral 0 by an explicit primitive argument — wait, c_j/(z−z₀)^j has primitive c_j/(1−j)(z−z₀)^{1−j} which is single-valued meromorphic, so its rectangle integral is 0 by the fundamental theorem / the HolomorphicOn.vanishesOnRectangle applied to the primitive. Fine — so the extension is a bounded piece of work, no new analysis.\n\n**Option B: Avoid the higher-order pole entirely by splitting the integrand.** Write the integrand as k_n(w−1)·(−ζ′/ζ) and note k_n(w−1) = (w/(w−1))ⁿ − 1. Hmm, the pole at w=1 comes from the kernel. Alternative: handle the w=1 residue by a SEPARATE small contour around w=1 (pull the rectangle to a small circle around 1 — `RectanglePullToNhdOfPole` exists!) and compute the residue on that small circle via... still a higher-order pole computation, but now localized: need ∮_{|w−1|=r} k_n(w−1)(−ζ′/ζ) dw / 2πi = the (n+1)-order residue = Σ_{j=1}^n C(n,j)·[Taylor coeff]. Either way we need the higher-order residue value.\n\n**Option C: Restructure to make all poles simple — different kernel.** Use the kernel K_n(s) = something with a simple pole at s=0 but the same values at zeros? Impossible: kernel must have a pole at s=0 of order n to produce (1+1/s)ⁿ. Any meromorphic K with K(ρ−1) = (ρ/(ρ−1))ⁿ − 1 at all zeros ρ and a pole only at 0... the order of the pole at 0 is forced to be n (the interpolating values grow like s^{−n} as s→0 along the zero sequence? not exactly, but the natural kernel family has order n). A non-natural kernel (e.g., add an entire function vanishing at all zeros−1) could reduce the pole order — e.g., k_n(s) − [Taylor polynomial of k_n at 0 of order n−1]·[entire interpolant]... too clever, and the residue at 0 would then be different (that changes S_∞ identification correspondingly). The S_∞ side HAS degree-n structure; the pole order is intrinsic. Accept order n+1 pole; extend residue machinery (Option A) — it's the honest bounded lift.\n\nLet me also check: does the vendored theorem require f to be meromorphic on the whole rectangle with the poles only inside? Line 1084-1090: `RectangleIntegral'_eq_sumResiduesIn {f} {z w}` with hypotheses including HasSimplePolesOn presumably, and conclusion `RectangleIntegral' f z w = sumResiduesIn f (Rectangle z w ∩ {z | meromorphicOrderAt f z < 0})`. The extension would give the same conclusion without the simple-pole hypothesis, with a general `residue`.\n\nSo the machinery gap for L0 is: (i) general (finite-order) residue definition + computation lemmas (the (m−1)! derivative formula — Mathlib may have `MeromorphicAt` Laurent-ish API? Let me not check further; bounded work either way), (ii) rectangle residue theorem for finite-order poles (assemble from the vendored simple-pole version + principal-part decomposition), (iii) the actual residue computations: at zeros (simple, via logDerivResidue ✓ vendored), at w=1 (order n+1 — needs the exact S_∞ identification — the mathematical crux), at trivial zeros −2, −4 (simple ✓).\n\nAlso for L2 (R-bound): check Zeta23's zero counting (Defs) and what N(T) machinery exists. And check Mathlib digamma. Both exist at least partially. Good enough for the survey — detailed inventory IS sub-stage ii′-0.\n\nOne more thing to verify quickly: liCoeff definition in NguyenRH1 (what L7 summability looks like). Let me grep quickly. Actually I have enough for the plan; the detailed inventory is literally the first sub-stage deliverable.\n\nNow let me also think about the overall feasibility verdict:\n\n**De-risking factors discovered today:**\n1. `RectangleIntegral'_eq_sumResiduesIn` — the master rectangle residue theorem EXISTS in our dependency (vendored from PNT+), proven and building green. The L0 \"main formalization lift\" is much smaller than D-062 feared: we extend from simple poles to finite-order poles (bounded), not build from scratch.\n2. `logDerivResidue`, `riemannZetaLogDerivResidue`, `riemannZetaResidue`, `ResidueMult` — residue computation lemmas for exactly our pole types at zeros and at s=1 exist.\n3. Mathlib has digamma (for Lemma D in the R-bound).\n4. zeta-23-lean itself has zero-counting/N(T)-adjacent infrastructure (Defs) — to inventory.\n\n**Remaining genuine lifts:**\n1. **Higher-order residue machinery** (order n+1 pole): general residue def + rectangle theorem extension. Engineering, bounded.\n2. **The w=1 residue = S_∞(n) exact identification** (the mathematical crux): classical algebra, written in D-036/D-037/Lagarias, needs a formalization-friendly paper design first (choose local-Laurent vs global route).\n3. **R-bound (L2)**: D-056's proof uses Hadamard partial fractions. Check what exists (Zeta23 may have relevant ζ′/ζ infrastructure — ZetaBounds has ZetaSum lemmas...). Alternative local route exists. Bounded either way, but this is the second-biggest chunk.\n4. **L7 liCoeff summability**: flagged; the zero-sum convergence with perimeter N(T) bound — real analysis, tractable.\n\nSo feasibility: HIGH. I'd quantify: ~85–90% achievable as planned, with the main risk being underestimation of engineering friction rather than mathematical blockage. Nothing here requires new mathematics.\n\n**Sub-stage plan** (each ending clean/committed/resumable per §8.5):\n\n- **ii′-0 (design + skeleton)** — D-064: full capability inventory (vendored residue API, meromorphic order API, digamma, zero-counting in Zeta23, Mathlib zeta Laurent); route decisions (higher-order extension design; w=1 identification route; L2 Hadamard-vs-local); write `LiContour.lean` top-down skeleton with ~20–30 named sorries, each cross-referenced to archive line numbers. Exit: skeleton compiles; every sorry has an archive proof.\n- **ii′-1** — General residue + rectangle extension (machinery): general `gresidue`, computation lemmas (product rule, derivative formula at finite order), rectangle theorem for finite-order poles, proved against the vendored simple-pole version.\n- **ii′-2** — L1 kernel bounds + trivial-zero residues + I-side estimates (elementary, builds tier-(i) momentum).\n- **ii′-3** — L3 zero-avoiding T (pigeonhole from perimeter N(T)).\n- **ii′-4** — L7 liCoeff summability + zero-sum truncation bookkeeping (needs perimeter N(T) — comparison convergence).\n- **ii′-5** — L2 R-bound (the analytic chunk; route chosen in ii′-0).\n- **ii′-6** — The w=1 residue: exact S_∞ identification (the crux; paper design from ii′-0).\n- **ii′-7** — Identity assembly: Sf = truncated + sides + trivial; bound assembly |Sf| ≤ Bn; discharge `SfBoundProp`; swap into `lambda_pos_finite_height_verified`; full axiom audit; paper Appendix B + tag upgrade; archive closure (journal, D-files, NGUYEN.md, STATE.md).\n\nThat's 8 sub-stages ≈ 8–14 sessions depending on friction (some sub-stages are multi-session, notably ii′-5 and ii′-6).\n\nOrder note: I'd reorder slightly — machinery (ii′-1) before L1 (ii′-2)? Actually L1 doesn't need residues. To build momentum and de-risk early: do ii′-1 machinery first (it's on the critical path of everything), then the easy layers, then the two hard ones (ii′-5, ii′-6) — and importantly, do the crux PAPER DESIGN in ii′-0 so there are no surprises.\n\nAlternative ordering consideration: start with ii′-6's paper design to retire the biggest risk first? The fork-rule/§8.5 says break into sub-stages. I think ii′-0 (which INCLUDES the crux paper design) then machinery, then easy layers, then hard layers is right.\n\nAlso worth stating: what success yields (the tag upgrade per D-062 §4) and the strategic option (submit now vs after ii′). One line.\n\nProbability estimate: I'll give ~85% fully closed as planned, ~95% that at worst some lemma needs a route change (not a dead end), and note the fallback: if the w=1 identification proves unexpectedly nasty, there's a plan-B (weaken SfBoundProp's statement to the one-sided bound the assembly actually needs and prove the identity in inequality form — no, the identity is needed... the real fallback is: keep the hypothesis honestly declared, which is the current published state — i.e., failure here costs nothing, the paper stands as-is). That's an important asymmetry to state: this is a pure-upgrade project with a zero-downside fallback.\n\nLet me write the response now. Structure:\n1. Verdict up front: feasible, no new mathematics; discovered machinery already vendored.\n2. What the task actually is (3 real lifts).\n3. Key findings from the dependency survey (today's good news).\n4. Sub-stage plan table with exit criteria.\n5. Probability + risks + fallback.\n6. Strategic note (submit now vs after) + question.","signature":""},{"type":"text","text":"This changes the picture significantly — for the better. Here's my analysis and plan.\n\n## First, what the task actually is\n\nClosing `SfBoundProp` means proving in Lean: the D-036/D-037 contour identity is exact, and every piece is bounded by the traced `B(n)` terms, uniformly for 10⁵ ≤ n ≤ (3×10¹²−1)². Per the D-062 triage, only three parts are genuinely hard:\n\n1. **L0 — the rectangle contour identity** (residue theorem applied to `k_n(w−1)(−ζ′/ζ)`, assembling `S_f = truncated zero sum + side integrals + trivial-zero terms`).\n2. **The pole at w = 1 of order n+1** — its residue must be identified *exactly* with `S_∞(n) + lower terms`. This is the mathematical crux, and no shortcut exists: per-term triangle bounds explode like 2ⁿ (the D-033 \"three-way cancellation\" wall), so the exact per-j Lagarias identity is forced.\n3. **L2 — the reference-point R-bound** (D-056: `|ζ′/ζ − Σ_{|γ−t|<1} 1/(s−ρ)| ≤ 10.5 log(|t|+2) + 48`), whose classical proof runs through Hadamard partial fractions.\n\nEverything else (L1 kernel bounds, L3 pigeonhole, L7 summability) is elementary or finite combinatorics modulo the declared Trudgian perimeter.\n\n## Today's dependency survey — the good news\n\nD-062 called L0 \"the main formalization lift\" because Mathlib's rectangle residue machinery was assumed thin. Checking the actual vendored tree, we already own most of it:\n\n- **`RectangleIntegral'_eq_sumResiduesIn`** — a *proved* general rectangle residue theorem, vendored in zeta-23-lean from PNT+ (`FromPNTPlus/ResidueCalcOnRectangles.lean:1084`). Also `RectanglePullToNhdOfPole`, `ResidueMult`, `logDerivResidue` (residue at a zero of ζ), `riemannZetaLogDerivResidue` (at s=1).\n- **One real gap**: the vendored theorem carries a `HasSimplePolesOn` scaffold — its `residue` is a placeholder valid only for simple poles, and our integrand's w=1 pole has order n+1. So the machinery lift is: general finite-order residue + extend the rectangle theorem (via principal-part decomposition — the j≥2 terms vanish by explicit primitives). Engineering, not analysis.\n- Mathlib has **digamma** (for D-056's Lemma D), `MeromorphicAt`/`meromorphicOrderAt` normal forms, and zeta-23-lean itself carries zero-counting infrastructure (`Zeta23/Defs`) I haven't fully inventoried yet.\n\n## Feasibility verdict\n\n**High — I estimate ~85–90% it closes exactly as planned, and ~95%+ that the worst outcome is a route change on one lemma, not a dead end.** Nothing requires new mathematics; every step's proof exists in the archive (D-036/D-037/D-056) or in Lagarias. The risks are engineering friction: the w=1 identification being fiddly, and L2's Hadamard dependency (mitigant: the Borel–Carathéodory/Jensen local route, or Zeta23's existing ζ′/ζ infrastructure).\n\nCrucially, the **fallback is free**: if any piece stalls, the paper stands exactly as it is today with `SfBoundProp` honestly declared. This is a pure-upgrade project with zero downside.\n\nWhat success buys (D-062 §4): the tag becomes *\"Lean-verified modulo published explicit N(T)/S(T) bounds (Trudgian 2014) + computational certificates\"* — no named analytic hypothesis remains.\n\n## Proposed sub-stage plan (§8.5-compliant, each ends committed/resumable)\n\n| # | Sub-stage | Content | Est. sessions |\n|---|---|---|---|\n| ii′-0 | **Design + skeleton** (D-064) | Full capability inventory; route decisions (higher-order extension design; w=1 route: local Laurent recursion vs global two-way evaluation; L2 Hadamard vs local); write `LiContour.lean` top-down with ~20–30 named sorries, each cross-referenced to an archive proof line | 1–2 |\n| ii′-1 | Residue machinery | General finite-order `residue`, computation rules, rectangle theorem without `HasSimplePolesOn` | 1–2 |\n| ii′-2 | L1 + trivial zeros | Kernel bounds (\\|k_n\\| ≤ 2 etc.), residues at −2, −4, side-integral estimates | 1 |\n| ii′-3 | L3 | Zero-avoiding T ∈ [√n, √n+1] by pigeonhole on the perimeter N(T) count | 0.5–1 |\n| ii′-4 | L7 + truncation | `liCoeff` summability and zero-sum truncation bookkeeping via perimeter N(T) | 1 |\n| ii′-5 | L2 | The R-bound at A = 10.5, B₀ = 48 (the analytic heavy lift) | 2–3 |\n| ii′-6 | The w=1 pole | Exact identification with S_∞(n) — the crux, from the ii′-0 paper design | 2–3 |\n| ii′-7 | Assembly + closure | Discharge `SfBoundProp`, swap into `lambda_pos_finite_height_verified`, full axiom audit, paper Appendix B + tag upgrade, archive closure | 1 |\n\nTotal: **~9–15 sessions**, roughly 4–6× the tier (i)+(ii) effort. Order rationale: ii′-0 retires the design risk (including the crux on paper) before any Lean is written; ii′-1 builds the shared machinery; ii′-2/3/4 bank easy wins; ii′-5/6 are the two heavy lifts; ii′-7 closes.\n\n## One strategic note\n\nPaper A is submission-ready *today* with the hypothesis declared — so there's a genuine choice: (a) do tier ii′ now and submit after, or (b) submit now and do ii′ as revision material. The mathematician's review recommended (b). But the plan stands either way, and doing ii′-0 costs nothing against (b).\n\nI'd start with **ii′-0** (the D-064 design document + compiling sorry skeleton). Shall I begin?"}]