← Session 30 — ii′-5e squeeze capstone + 5f perimeter repair
thinking (31872 chars)
Key findings:
1. `dirichletC2 := ∑' n, ‖LSeries.term Λ 2 n‖` — the exact sum Σ Λ(n)/n² = −ζ′/ζ(2) ≈ 0.56996. D-056's piece 1 uses Z₂ ≤ 0.57. For the Lean fold, I need dirichletC2 ≤ 0.57 (a certified numeric bound — the E-028 V5 certification: partial sum to 10⁶ + tail 1.5e-5 = 0.569975 ≤ 0.5700). In Lean, bounding a tsum of LSeries norms ≤ 0.57 requires... hmm. That's a certified numeric computation — partial sums to 10⁶ in Lean?? That's heavy. Alternative: is there a closed form or a coarser bound? Σ Λ(n)/n² = −ζ′(2)/ζ(2). Could bound via ζ(2) = π²/6 and ζ′(2)... Mathlib has ζ(2). ζ′(2) — probably not. A cheaper bound: Σ Λ(n)/n² ≤ Σ (log n)/n² = −ζ′(2) ≈ 0.9375 — too big (the fold needs ≤ 0.57 with the current constants; 0.9375 would add 0.37 to the constant side — the fold had 47.13 + 0.37 = 47.5 ≤ 48 ✓ hmm actually the constant budget has room: total constant 47.13 vs 48 — 0.87 slack; adding 0.37 keeps ≤ 48 ✓!). Wait let me recompute: piece 1 ≤ −ζ′(2) = Σ (log n)/n²·... no: Λ(n) ≤ log n, so Σ Λ(n)/n² ≤ Σ log n/n² = −ζ′(2) = 0.9375. And does Lean/Mathlib have −ζ′(2)?? Unlikely. Σ log n / n² as a tsum bound — also not standard. Hmm.
Actually — the cleanest: piece 1's value only needs to fit the constant budget. The fold: Z₂ + [piece2 const 2.7] + [piece3 const 7.06] + [pieces 4–6: 0.38] + [fold slack]. Let me redo the full honest fold with the two-unit perimeter form:
- piece 1: Z₂ (need SOME certified bound ≤ ~1)
- piece 2: 0.6L + 0.886LL + 2.7 (two-unit form)
- piece 3: 12.7279·C0hat(t+1) + 7.064 where C0hat(t+1) = 0.433L' + 0.886LL' + 2.9, L' = log(t+3)
- pieces 4–6: ≤ 0.045 + 0.045 + 0.29 = 0.38
L-side: piece2: 0.6L + 0.886LL; piece3: 12.7279·(0.433L' + 0.886LL') = 5.511L' + 11.277LL'. With L' = log(t+3) vs L = log(t+2): L' ≤ L + log((t+3)/(t+2)) ≤ L + 1/(t+2)·... ≤ L + 1/12 (t ≥ 10). Similarly LL' ≤ LL + small. Total L-side: 0.6L + 5.511(L + 1/12) + [0.886LL + 11.277(LL + 1/(12·...))] ≈ 6.111L + 12.163LL + (5.511/12 + 11.277/12·1/L·...) ≈ 6.111L + 12.163LL + 0.5.
Constants: 0.57 + 2.7 + 7.064 + 0.38 = 10.714.
Total: 6.111L + 12.163LL + 0.5 + 10.714 = 6.111L + 12.163LL + 11.214.
Target: 10.5L + 48 ⟺ need 12.163·LL ≤ 4.389·L + 36.786. At the LL/L pinch (L = e, t ≈ 13.15): 12.163·1 ≤ 4.389·2.718 + 36.786 = 11.93 + 36.79 = 48.72 ✓ HUGE margin (36.6!). Wait — why so much room now? Because D-056's fold was ≤ 48 with the constant 47.8 — I mis-added: the constants: Z₂ 0.57 + piece2-const 2.7 + piece3-const 7.064 + pieces4–6 0.38 = 10.714 — and D-056 had 0.57 + [piece2 = ONE C₀: const 2.9] + 7.06 + 0.38 = 10.81?! And D-056's total constant was 47.8?! Let me recheck D-056's assembly: "5.95 log(t+2) + 12.16 log log(t+2) + 39.8 + 7.97" — the 39.8 = 13.73·2.9 = 39.82 (the C₀ constant × 13.73) and 7.97 = the other constants (0.57+7.06+0.09+0.29 = 8.01 ≈ 7.97). So D-056's constant = 13.73·2.9 + 8.01 = 47.84. My honest version: piece2's count is the two-unit form (const 2.7) instead of one C₀ (const 2.9) — SAVES 0.2 on the constant but ADDS 0.167 to the L-coefficient (0.6 vs 0.433). Piece 3 unchanged: 12.7279·C₀. So my L-coefficient: 0.6 + 12.7279·0.433 = 0.6 + 5.511 = 6.111 vs D-056's 5.95 (0.433·13.73). LL: 0.886 + 12.7279·0.886 = 12.163 ≈ 12.16 ✓ same. Constants: 2.7 + 12.7279·2.9 + 7.064 + 0.57 + 0.38 = 2.7 + 36.91 + 7.064 + 0.57 + 0.38 = 47.62 vs D-056's 47.84 — actually LOWER (the two-unit form's constant 2.7 < 2.9). So total: 6.111L + 12.163LL + 47.62 ≤ 10.5L + 48 ⟺ 12.163·LL ≤ 4.389·L + 0.38. At the pinch L = e: 12.163 ≤ 11.93 + 0.38 = 12.31 ✓ FITS by 0.15!! Let me double-check the pinch point: max of 12.163·log L − 4.389·L over L ≥ log 12 = 2.485: d/dL = 12.163/L − 4.389 = 0 ⟹ L* = 2.7716; value: 12.163·log(2.7716) − 4.389·2.7716 = 12.163·1.01947 − 12.1656 = 12.400 − 12.166 = 0.234 ≤ 0.38 ✓✓ FITS by 0.146 at the worst point. At L = 2.485 (t=10): 12.163·0.9103 − 4.389·2.485 = 11.072 − 10.907 = 0.165 ≤ 0.38 ✓ by 0.215. So the honest assembly fits 10.5/48 with margin ~0.15 at the pinch — TIGHT but provable (4–6× tighter than the D-056 fold's apparent margin, but the pinch is a smooth one-variable max — certifiable by calculus + interval evaluation).
BUT — the piece-2 two-unit form (0.6L + 0.886LL + 2.7) is NOT derivable from the per-unit perimeter (2·C0hat = 0.866L + 1.77LL + 5.8 — the LL and constant terms blow the fold: LL-side would be 1.772 + 11.277 = 13.05, constants 5.8+36.91+7.06+0.95 = 50.72 — breaks 48 by 2.7 and the pinch: 13.05·LL ≤ (10.5−6.377)·L + (48−50.72) = 4.123L − 2.72: at L=2.485: LHS 13.05·0.91 = 11.88 vs RHS 10.25−2.72 = 7.53 — FAILS). So the two-unit perimeter form is REQUIRED. Confirmed the need for the new declared specialization.
Now — the alternative interpretation: rather than a new perimeter item, note that the two-unit count bound 0.6L + 0.886LL + 2.7 could be declared as a SECOND clause of ZeroCountProp (the same declaration, two window shapes — both Trudgian specializations). Or a separate `ZeroCountProp2`. Either way it's a perimeter growth requiring user sign-off.
Hmm, wait — actually, hold on. Is there any chance the two-unit form is derivable from the one-unit form + a SHIFT? #{(t−1,t]} + #{(t,t+1]} ≤ C0hat(t) + C0hat(t+1). C0hat(t) + C0hat(t+1) vs the two-unit form 0.6L+0.886LL+2.7: C0hat(t)+C0hat(t+1) = 0.433·(log(t+2)+log(t+3)) + 0.886·(LL(t+2)+LL(t+3)) + 5.8 ≈ 0.866L + 1.772LL + 5.8. Too big (0.866 > 0.6). No.
So: 5f requires a new declared two-unit count. This is a perimeter growth (same Trudgian source). ALSO: I still owe the user the H(T)/3C0hat² clearance-coverage finding for ii′-6 (the near-sum count/clearance accounting on the contour) — that's a SEPARATE issue from piece 2, affecting marginTilde's baked 3·C0hat² and (2/3)·C0hat coefficients. Hmm — wait, let me re-examine whether that's real too, since it affects whether the baked margin survives at all.
ii′-6's H(T) (horizontal contour bound): |ζ′/ζ(σ+iT)| ≤ Σ_{|γ−T|<1} 1/|s−ρ| + |R(s)|. The near sum: count × clearance. L3 (exists_zero_avoiding_T) gives T ∈ [a, a+1] with clearance 1/(3·C0hat(a+1)) vs zeros with γ ∈ [a, a+1] ONLY. The near window |γ−T|<1 ⊂ (a−1, a+2). Zeros in (a+1, a+2) or (a−1, a): NO clearance from L3. So |ζ′/ζ| on the horizontal is NOT bounded by C₀/d_min as D-036 claimed — the honest bound needs the extended pigeonhole (clearance vs all zeros in (a−1, a+2), count ≤ 3·C0hat) ⟹ near sum ≤ 3C₀·(extended clearance 1/(9C₀+3))...
Hmm wait — actually, hold on: is that right? Let me redo: exists_avoiding_midpoint with the window [a, a+1] and k+1 midpoints where k = count bound: returns T ∈ [a, a+1] avoiding the k window zeros by 1/(2(k+1)). For the extended version: apply exists_avoiding_midpoint to the window [a−1/2, a+1/2]?? Hmm — but we need T at a specific height range for the contour (T ∈ [√n, √n+1]-ish for the height-window slack argument). Apply the midpoint lemma on [a, a+1] with the zero set = zeros in (a−1, a+2) (3-unit count ≤ 3C₀): midpoints in [a, a+1] — k₀+1 of them with k₀ = 3C₀ — each zero blocks ≤ 1 midpoint ⟹ T with clearance ≥ 1/(2(3C₀+1)) ≥ 1/(7C₀) from ALL zeros within (a−1, a+2) ⊇ |γ−T|<1 ✓. Then near sum ≤ count(|γ−T|<1) · 7C₀ ≤ 3C₀·7C₀ = 21·C₀². vs baked 3·C0hat². 7× worse on the C0hat² coefficient. As computed before, that kills the margin at 8×10⁴ (the crossover jumps past the certified base points and possibly past 5×10⁵!?).
Hmm, no wait — my earlier smarter split: near sum ≤ inner + outer: inner |γ−T| < 1/4: count ≤ C₀ (one unit), terms ≤ 7C₀ ⟹ 7C₀²; outer 1/4 ≤ |γ−T| < 1: terms ≤ 4, count ≤ 2C₀ ⟹ 8C₀. Total ≤ 7C₀² + 8C₀. vs baked 3C₀². The increment: 4C₀² + 8C₀. In the margin at n = 8×10⁴: the C0hat²-piece of B̃ is 2(e⁴+1)·7·(coefficient)·C0hat² — coefficient 3 → 7: increment 2(e⁴+1)·7·4·47.3 ≈ 111.2·28·47.3 ≈ 147 300?!? margin(8×10⁴) was ~15 764 — NEGATIVE. At n = 5×10⁵: C0hat² ≈ 54.9: increment ≈ 111.2·28·54.9 ≈ 170 900; margin(5×10⁵) = 2.0×10⁶ → 1.83M ✓ fine. The crossover: from 80 000 to...? The increment grows like C0hat² ~ (log T)² ~ (log n)² while S grows like n log n — the crossover moves modestly (the increment at crossover n ≈ 33 000: T ≈ 183: C0hat ≈ 6.7, C0hat² ≈ 45: increment ≈ 140 000 — vs margin at 33 000 ≈ 0 (crossover!). Hmm the crossover moves to where S − B − 140 000·(C0hat²/45)-ish = 0 — maybe n ≈ 60 000–120 000. N₀ was adopted 80 000 with margin 8001 — the new margin at 80 000 is NEGATIVE (increment 147 300 > 15 764). So N₀ must move to where margin > 0 — need recomputation, but plausibly ~1.5–2×10⁵ — still ≤ 5×10⁵ (the finite verification cap) ✓ workable. The convexity/secant argument: pos_of_convex_of_two_points with base points at N₀ and 10⁵... re-certify.
So the ii′-6 H(T) issue is REAL and moves the margin significantly (but survivably). HOWEVER — scope check: 5f is ONLY the R-bound. The H(T) issue belongs to ii′-6 (L0 assembly). For 5f, the required decision is just the two-unit perimeter form. The H(T) issue I should DOCUMENT (journal + a repair-map entry) but not solve now.
Hmm, wait — but if the H(T) issue will force a margin re-fold at ii′-6 anyway, does the 10.5/48 R-bound still fit the (future) margin? The R-bound enters the margin via Hhat's linear term (10.5·log + 48) AND I_III's (2/3·C0hat + 10.5 log + 48). If ii′-6's near-sum accounting changes C0hat²'s coefficient 3 → 7, the margin's B-side grows by ~4·C0hat²·778 — and the crossover moves — but the R-bound's 10.5/48 stays VALID (it's a standalone analytic bound). The margin re-verification at ii′-6 will use the same R-bound. So 5f at 10.5/48 is safe to do now.
Hmm — although — wait. Should I double-check the 3C0hat² in Hhat once more against ii′-6's actual future need? D-036 §2: "|ζ′/ζ(s)| ≤ C₀(T)/d_min + A log(T+2) + B₀ ≤ 3C₀(T)² + A log(T+2) + B₀ =: H(T)" — the near sum C₀(T)/d_min with d_min ≥ 1/(3C₀(√n+1)): C₀(T)·3C₀(√n+1) ≈ 3C₀². The count C₀(T) for |γ−T|<1 (two-unit window — the piece-2 issue AGAIN: honest count is the two-unit form 0.6L+0.886LL+2.7 ≈ C₀ + 0.167L − 0.2, fine) AND the clearance coverage issue (out-of-window zeros — the 3C₀² → 7C₀²+8C₀ issue). So Hhat has BOTH issues. ii′-6 will need the full repair. NOT 5f's problem — 5f is the standalone R-bound.
DECISION for 5f: proceed with the honest assembly at 10.5/48, which requires the two-unit count form. Present to the user:
1. The piece-2 finding (D-056's one-C₀ usage for the two-unit window — a real but small assembly gap; the bound survives via the honest two-unit Trudgian form + the unfolded loglog pinch analysis with ~0.15 margin at the pinch).
2. The required perimeter growth: a two-unit mult-weighted count bound (same Trudgian source, new specialization: 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for |γ−t| ≤ 1, t ≥ 10).
3. The documented ii′-6 finding (H(T) clearance coverage — 3C0hat² → ~7C0hat²+8C0hat honest; margin impact to be faced at ii′-6; N₀/crossover will move).
Actually hold on — before presenting, let me double-check the two-unit closed form once more, since it must be EXACT (it's a declared bound — well, it's a hypothesis, so it just needs to be TRUE and reasonably clean):
Two-unit mult-weighted count: #{ρ : |γ−t| ≤ 1, mult} = N(t+1) − N(t−1) ≤ F(t+1) − F(t−1) + S_b(t+1) + S_b(t−1) (Trudgian 2014: N(T) = F(T) + S(T), |S(T)| ≤ S_b(T) := 0.137 log T + 0.443 log log T + 1.588 for T ≥ e).
F(t+1) − F(t−1): F(T) = (T/2π)(log(T/2π) − 1) + 7/8. F is convex-increasing (F'(T) = (1/2π)log(T/2π) > 0 for T > 2π). F(t+1)−F(t−1) = ∫_{t−1}^{t+1} F' ≤ 2·F'(t+1) = (1/π)·log((t+1)/2π) (F' increasing). ≤ (1/π)·log(t+2)... hmm need ≤ (1/π)·log(t+2) − 0.585-ish for the fold. Actually for the declaration I just need the CLOSED FORM to honestly majorize: claim N(t+1)−N(t−1) ≤ 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for t ≥ 10:
- F-part ≤ (1/π)·log((t+1)/2π) ≤ 0.31831·log(t+2) − 0.31831·log(2π)·(1 − ...) hmm: log((t+1)/2π) = log(t+2) − log(2π) − log((t+2)/(t+1)) ≤ L − 1.8379 (since log((t+2)/(t+1)) ≥ 0). So F-part ≤ 0.31831·L − 0.58492.
- S-pair ≤ 0.274·L + 0.886·LL + 3.176 (as before: 0.137·2·L... wait: 0.137·(log(t+1)+log(t−1)) ≤ 0.137·2·log(t+1) ≤ 0.274·L? log(t+1) ≤ log(t+2) = L ✓. 0.443·(LL(t+1)+LL(t−1)) ≤ 0.443·2·LL = 0.886·LL ✓ (t−1 ≥ 9 > e so LL(t−1) ≥ 0... loglog(t−1) requires log(t−1) ≥ 0 ⟺ t ≥ 2 ✓; and LL monotone ✓). Constants: 2·1.588 = 3.176.
- Total ≤ (0.31831 + 0.274)·L + 0.886·LL + (3.176 − 0.58492) = 0.59231·L + 0.886·LL + 2.5911.
- Closed form: 0.6·L + 0.886·LL + 2.7: difference = (0.6−0.59231)·L + (2.7−2.5911) = 0.00769·L + 0.1089 ≥ 0 ✓ for all L ≥ 0. HONEST ✓.
So the declared two-unit form: #{mult-weighted, |γ − t| ≤ 1} ≤ 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for t ≥ 10. (Hmm — should it be |t| for negative t too? The R-bound is stated for |t| ≥ 10 with σ ∈ [−5/2, 3] — the s = σ+it with t possibly negative. D-056 states |t| ≥ 10. The near window |γ−t|<1 for t negative uses the conjugate symmetry. For the Lean statement, handle t ≥ 10 and extend to |t| ≥ 10 by conjugation? The LiDisc capstones handled all |t| ≥ 10 — via nearZeros t with t possibly negative (they had the conj machinery: isNontrivialZero_conj). For 5f, following D-056: state for t ≥ 10 first? D-056 says |t| ≥ 10. The ii′-6 consumer needs |t| = T ≥ 10 positive heights (T = √n+1 > 0) — and the conjugate for the bottom horizontal. Let me design the Lean theorem for t ≥ 10 and note the t ≤ −10 extension via conj if needed. Actually the LiDisc capstone `logDeriv_riemannZeta_sub_nearZeros_le` was stated for 10 ≤ |t| (both signs) with the near sum over nearZeros t. For 5f the tight version should match: 10 ≤ |t|. The proof: t ≥ 10 direct; t ≤ −10 via conjugation (logDeriv ζ (conj s) = conj (logDeriv ζ s)? — riemannZeta_conj: ζ(conj s) = conj ζ(s); logDeriv conj: logDeriv ζ (conj s) = conj (logDeriv ζ s) — needs deriv under conj — Zeta23 might have it; the 5c/5d capstones handled both signs via logDeriv_riemannZeta_sub_nearZeros_le_left/right separately — for the LEFT half they reflected. For t < 0, nearZeros t = conj (nearZeros (−t)) presumably via isNontrivialZero_conj. This is mechanical but adds work. Design choice: prove for t ≥ 10; add the t ≤ −10 corollary via conjugation.)
OK. Now — WAIT. One more simplification check: does 5f really need the two-unit form, or can the near window be SHRUNK? The near sum in R(s) is Σ_{|γ−t|<1} m/(s−ρ) — the window |γ−t|<1 is intrinsic to the R-bound's definition (it's what ii′-6 subtracts). Could 5f instead prove the R-bound for a DIFFERENT near window, e.g. |γ−t| < 1/2 (one unit)? Then the far sum includes 1/2 ≤ |γ−t| < 1 zeros with per-term ≤ 4.5√2/(x(1+x)) at x ∈ [1/2, 1] — the far-sum interval sum starts at k=... the |t−γ| ∈ [1/2,1] interval: per-term ≤ 4.5/(0.5·√1.25) = 8.05; count ≤ C₀; so the far sum gains ≤ 8.05·C₀... and piece 2 becomes ≤ C₀(t) (one unit!). Net: piece2 saves 0.167L−0.2, far sum gains 8.05·C₀ vs the k=1 interval's previous 4.5√2/(1·2)·C₀ = 3.18·C₀ — increment 4.87·C₀ ≈ 2.1·L. WORSE. No.
So the two-unit perimeter form is needed. But actually — hmm, ONE more alternative: bound the near sum via the SERIES difference directly without the count?? Σ_near m/|s₀−ρ| ≤ Σ_near m — no alternative.
Alright — also quickly reconsider (β) once more (honest A=11.2, B₀=51 from the per-unit perimeter) vs (α) (two-unit declaration): (β) requires re-baking marginTilde/Hhat constants + re-verifying convexity (session-011 proof, ~2 tight numeric blocks) + re-certifying base points + N₀ crossover recomputation + paper text at ii′-7. (α) requires: one new declared hypothesis (same Trudgian source) + the pinch-point calculus lemma. (α) is much cheaper and keeps all certified artifacts valid. RECOMMEND (α).
Note the perimeter growth is honest but must be declared in the paper's appendix at ii′-7 (the freeze allows this at ii′-7).
Hmm — one more thought on (α): is the two-unit form really a "new" perimeter item, or can it be folded into ZeroCountProp as a conjunction? ZeroCountProp currently: ∀ t ≥ 2, (window [t,t+1] mult-count) ≤ C0hat(t+1). The two-unit form: ∀ t ≥ 10, (#{|γ−t| ≤ 1} mult-count) ≤ 0.6 log(t+2) + 0.886 LL(t+2) + 2.7. These are two different shapes — cleanest as a separate def `ZeroCountProp2` (or a renamed combined prop). A separate def keeps the existing consumers untouched. The capstone signatures then take (hZC : ZeroCountProp) (hZC2 : ZeroCountProp2). The perimeter count goes from 4 to 5 declared items (same source family). At ii′-7, the paper's appendix declaration updates.
Hmm, or... actually — reconsider ONE more time whether the two-unit bound can be DERIVED from ZeroCountProp by a smarter split: #{|γ−t|≤1} = #{(t−1, t−1/2]} + #{(t−1/2, t]} + #{(t, t+1/2]} + #{(t+1/2, t+1]} — half-unit windows, each ≤ the unit bound C0hat — 4·C0hat?? worse. No: sub-window counts ≤ full-window count (monotonicity of the count in the window inclusion!) — each half-window ⊆ a unit window ⟹ ≤ C0hat. 4 half-windows ≤ 4·C0hat. Worse than 2·C0hat. No gain. The perimeter only speaks about full unit windows. CONFIRMED: need the declaration.
Let me also double check that the honest two-unit form is indeed TRUE (it's a declaration, but it must be mathematically valid — the Trudgian S_b bound applies for T ≥ e ✓; F' increasing for T > 2π ✓; the mult-weighted N(t+1)−N(t−1) = Σ_{t−1 < γ ≤ t+1} m ✓ — N(T) counts with multiplicity by definition ✓; |γ−t| ≤ 1 vs (t−1, t+1]: the open/closed endpoints don't matter for the bound ✓).
And the pinch lemma: for L ≥ log 12 (t ≥ 10): 12.163·log L ≤ 4.389·L + 0.38 — hmm let me restate with cleaner constants. The full assembly: |R| ≤ 6.111·L + 12.163·LL + 47.62 where L = log(t+2), LL = log L. Wait — but I should double-check the piece-3 right-side count: intervals (t+k, t+k+1] for k = 1..⌈t⌉-ish have counts ≤ C0hat(t+k+1) ≤ C0hat(2t+1)?? The window start t+k ≥ t+1 ≥ 11 ≥ 2 ✓ perimeter applies. C0hat(2t+1) = 0.433·log(2t+3) + 0.886·LL(2t+3) + 2.9 ≤ 0.433·(L + log 2·(1+...)) hmm: log(2t+3) vs L = log(t+2): (2t+3)/(t+2) = 2 − 1/(t+2) ≤ 2 ⟹ log(2t+3) ≤ L + log 2 = L + 0.693. LL(2t+3) = log(log(2t+3)) ≤ log(L + 0.693) ≤ LL + 0.693/L ≤ LL + 0.28 (L ≥ 2.485). So C0hat(2t+1) ≤ C0hat(t+1) + 0.433·0.693 + 0.886·0.28 = C0hat + 0.30 + 0.248 = C0hat + 0.548 ≤ C0hat + 0.55. (D-056 said +0.58 — consistent.) Piece 3 ≤ 4.5√2·[C0hat(t+1) + (C0hat(t+1) + 0.55) + 0.53]·... wait the tail: "k > t tail ≤ C₀(2t)/(t+1) + 0.433/t ≤ 0.53" — let me trust D-056's 0.53 but redo: tail = Σ_{k > t} 4.5√2·count_k/(k(k+1)) + the negative-γ side. Hmm — actually the per-interval sum Σ_{k=1}^{K} 1/(k(k+1)) = 1 − 1/(K+1) ≤ 1 — the LEFT side intervals (k = 1..~t−1): ≤ C0hat(t+1)·(1). The RIGHT side (k = 1..~t): ≤ C0hat(2t+1)·1. The TAIL (k > t): Σ_{k>t} C0hat(t+k+1)/(k(k+1)) — with C0hat(t+k+1) ≤ C0hat(2k+1) ≤ 0.433·log(2k+3) + ... ≤ 0.433·(log k + 0.7) + ... — D-056's bound: ≤ C₀(2t)/(t+1) + 0.433/t ≈ 0.53 at t=10 decreasing. For the Lean proof this tail needs a clean summable bound: Σ_{k>t} C0hat(t+k+1)/(k(k+1)) ≤ Σ_{k>t} [0.433·log(t+k+1) + 0.886·LL(t+k+1) + 2.9]/(k(k+1)) ≤ [0.433·log(2t+... hmm — for k > t: t+k+1 ≤ 2k+... ≤ 3k: log(t+k+1) ≤ log(3k) = log 3 + log k. And Σ_{k>t} log k/(k(k+1)) ≤ Σ_{k>t} log k/k² ≤ ∫_{t−1}... ≤ (log t + 1)/t·... At t ≥ 10: ≤ (log 10+1)/10 ≈ 0.33. Plus 2.9·Σ_{k>t} 1/(k(k+1)) = 2.9/(t+1) ≤ 0.27. Plus the LL piece ≤ 0.886·LL(3t)/... small. Tail ≤ ~0.7 at t = 10 decreasing. D-056 used 0.53. For safety use 0.75. Then piece 3 ≤ 4.5√2·[C0hat(t+1) + C0hat(t+1) + 0.55 + 0.75] = 6.36396·[2·C0hat(t+1) + 1.30] = 12.7279·C0hat(t+1) + 8.273. Hmm — slightly bigger constant than D-056's 7.06 (my tail is cruder). Total constants: 0.57 + 2.7 + 8.273 + 0.38 = 11.92; the C0hat constant piece: 12.7279·2.9 = 36.91. Total constant: 36.91 + 11.92 = 48.83 — vs 48!! OVER by 0.83. Hmm. Tighten the tail: at t ≥ 10: Σ_{k>t} log(3k)/(k(k+1)): bound Σ_{k>t} 1/(k(k+1)) = 1/(⌊t⌋+1) ≤ 1/10.5 hmm t ≥ 10 ⟹ k ≥ 11 (k > t ≥ 10, k integer ≥ 11): Σ_{k≥11} 1/(k(k+1)) = 1/11 ≈ 0.0909. Σ_{k≥11} log k/(k(k+1)) ≤ Σ_{k≥11} log k/k² ≤ ∫_{10}^∞ (log x)/x² dx = [−(log x + 1)/x]_{10}^∞ = (log 10 + 1)/10 = 0.3303. So tail ≤ 0.433·(0.3303 + log 3·0.0909) + 0.886·LL-ish·0.0909 + 2.9·0.0909 ≤ 0.433·(0.3303+0.0999) + 0.886·(log log(3·11))·0.0909 + 0.2636 ≈ 0.433·0.4302 + 0.886·1.206·0.0909 + 0.2636 ≈ 0.1863 + 0.0971 + 0.2636 ≈ 0.547. Hmm ≈ 0.55. So tail ≤ 0.55 (not 0.75). Piece 3 constant: 6.36396·(0.55 + 0.55) = 6.36396·1.10 = 7.0004 — wait: piece 3 = 4.5√2·[C₀ + (C₀+0.55) + 0.55] = 4.5√2·(2C₀ + 1.10) = 12.7279·C₀ + 7.0004. Constants: 0.57 + 2.7 + 7.00 + 0.38 = 10.65; C0hat-constant: 36.91. Total: 47.56 ≤ 48 ✓ (0.44 room). L-side: 6.111L + 12.163LL. Pinch check: need 12.163·LL − 4.389·L ≤ 0.44 for L ≥ 2.485: max at L* = 12.163/4.389 = 2.7716: value 12.163·1.01947 − 4.389·2.7716 = 12.400 − 12.166 = 0.234 ≤ 0.44 ✓ (1.9× margin). At L = 2.485: 0.165 ≤ 0.44 ✓. OK — FITS with ~0.2–0.44 margin. Tight but certifiable. (These are all my hand estimates — the Lean proof will need the constants done exactly; there's enough room.)
Also pieces 4–6 need their honest forms: piece 4/5: |1/s − 1/s₀| ≤ |s₀−s|/(|s||s₀|) ≤ 4.5/t² ≤ 0.045 ✓; piece 6: the ψ-difference — Lemma D (digamma remainder) + the log-difference bound: ½|log(s/2) − log(s₀/2)| + ½|1/s − 1/s₀| + ½(|r(s/2)|+|r(s₀/2)|) — D-056 got ≤ 0.29. Lemma D in Lean: `norm_digamma_sub_log_le_of_two_le_abs_im` (5d) gives ‖ψ(w) − log w‖ ≤ 3 for |im w| ≥ 2 — much weaker than Lemma D's 1.2/|w|² but here we only need the DIFFERENCE ψ(s/2) − ψ(s₀/2) = log(s/2) − log(s₀/2) + O(1/|s|²): |log(s/s₀)| = |log(s/s₀)| with s/s₀ near 1: |log(s/s₀)| ≤ 2·|s/s₀ − 1| ≤ 2·|s₀−s|/|s₀| ≤ 2·4.5/|t| ≤ 9/t. And the remainder difference: via 5d's ‖ψ−log‖ ≤ 3: |ψ(s/2)−ψ(s₀/2)| ≤ |log(s/2)−log(s₀/2)| + 6 — the +6 is WAY too big (piece 6 budget 0.29!). So 5f needs the SHARP digamma remainder (Lemma D: |r(w)| ≤ 1.2/|w|²) — which is D-039's content... which D-056 §1 PROVED on paper (the Binet + recurrence argument) but is it in Lean? 5d's bound is the crude ‖ψ(w) − log w‖ ≤ 3. Lemma D (1.2/|w|²) is NOT in Lean (D-056 §1 was a paper proof; the Lean side has only the 5d crude bound). So 5f also needs Lemma D in Lean — the Binet second formula + the recurrence error E(w) — that's a real analytic sub-build (~0.5 session per D-056 §1's structure: Binet integral bound + the max-principle argument for E(w)... the max-principle on g(u)/u⁴ — Lean has the maximum modulus machinery ✓ but this is work).
Hmm — OR avoid Lemma D: bound the ψ-DIFFERENCE directly via the digamma series: ψ(s/2) − ψ(s₀/2) = Σ_j [1/(s₀/2+j) − 1/(s/2+j)] = (s/2 − s₀/2)·Σ_j 1/((s/2+j)(s₀/2+j))... Σ_j 1/((s/2+j)(s₀/2+j)) ≤ Σ_j 1/|s₀/2+j|²-ish ≤ Σ 1/(t/2)²-ish — the series Σ_{j≥0} 1/((t/2)²+j²)-ish ≈ (π/t)-ish... Hmm: ψ(w₁) − ψ(w₂) = Σ_{n≥0} [1/(w₂+n) − 1/(w₁+n)] (the Weierstrass series difference — termwise) = (w₁−w₂)·Σ 1/((w₁+n)(w₂+n)). With |w₁−w₂| = |s−s₀|/2 ≤ 2.25 and |1/((w₁+n)(w₂+n))| ≤ 1/(|im|−...)²... For w = s/2, im w = t/2 ≥ 5: |w+n| ≥ t/2; |w₀+n| ≥ t/2: term ≤ 4/t². Σ over n ≥ 0 of 4/t² DIVERGES. Need the smarter form: |1/((w₁+n)(w₂+n))| ≤ 1/|w₀+n|²·(1+...)... Σ_n 1/|w+n|² for w with im = t/2: Σ_n 1/((t/2)² + (n+re w)²) ≈ ∫ dx/((t/2)²+x²) = π/(t/2) = 2π/t. So the difference ≤ 2.25·(2π/t)·(1+o(1)) ≈ 14/t·... hmm at t = 10: ≈ 1.4 — still bigger than 0.29·2 = 0.58 budget (piece 6 is ½|ψ-diff| ≤ 0.29 ⟹ |ψ-diff| ≤ 0.58). 2.25·2π/10 = 1.41 > 0.58. Hmm. But the sharp version: ψ(w) = log w − 1/(2w) + O(1/|w|²): the difference ψ(w)−ψ(w₀) = log(w/w₀) − (1/2)(1/w − 1/w₀) + O(1/|w|²): |log(w/w₀)| ≤ 1.1·|w/w₀ − 1| = 1.1·|w−w₀|/|w₀| ≤ 1.1·2.25/5 = 0.495 at t=10; the 1/(2w) difference: (1/2)·|w−w₀|/(|w||w₀|) ≤ 0.5·2.25/25 = 0.045; the r-difference: 2·1.2/|w|²·... ≤ 2.4/25 = 0.096. Total |ψ-diff| ≤ 0.495+0.045+0.096 = 0.636; half: 0.318 — hmm slightly over D-056's 0.29 but the log part: |log(w/w₀)| with w/w₀ = (s/2)/(s₀/2) = s/s₀: |s/s₀| = |s|/|s₀| ∈ [0.55/1, ...]... σ ∈ [−5/2,3], s₀ = 2+it: |s−s₀| = |σ−2| ≤ 4.5; |s₀| ≥ |t|: |log(s/s₀)| ≤ |s/s₀ − 1|/(1−|s/s₀−1|)-ish ≤ 1.1·(4.5/10) = 0.495 at t=10. So ½|ψ-diff| ≤ 0.318 vs D-056's 0.29. Over by 0.03 — because D-056's 0.23 for ½|log(s/s₀)| used |arg(s/s₀)| ≤ 4.5/|t| hmm: |log(s/s₀)|² = (log|s/s₀|)² + arg²; D-056: "½|log(s/s₀)| ≤ 0.23 at |t| = 10" — via |log|s/s₀|| ≤ 0.02 and |arg| ≤ 4.5/|t| = 0.45: |log(s/s₀)| ≤ √(0.02² + 0.45²) ≈ 0.45; ½·0.45 = 0.225 ≤ 0.23 ✓. My 1.1·|Δ| bound gave 0.495 (lossy by the 1.1 + only-modulus). The arg form: |arg(s/s₀)| ≤ |s−s₀|/|s₀|·(1+...) = 4.5/10 = 0.45 (arg ≤ tan-ish). OK so with the arg/modulus split, ½|log| ≤ 0.226, ½|1/(2w)-diff| ≤ 0.023, ½|r-diff| ≤ 0.048: total 0.297 ≈ 0.29 ✓ D-056's. So piece 6 needs the ARG bound on log(s/s₀) + the sharp digamma remainder r bound 1.2/|w|². The r bound (Lemma D) is the Binet argument — a real sub-build.
Alternatively, piece 6 crude-but-sufficient: need ½|ψ(s/2) − ψ(s₀/2)| ≤ C₆ with the total fitting. Budget for piece 6: 48 − (other pieces). Other pieces at the pinch: Z₂ 0.57 + piece2 2.7 + piece3-const 7.00 + pieces4–5 0.09 = 10.36; C0hat-const 36.91; total-without-6: 47.27. Room for piece 6: 48 − 47.27 = 0.73. So piece 6 ≤ 0.73 suffices!! My crude 0.318–0.636... the ½|ψ-diff| ≤ 0.318 (arg-split version) fits; the cruder 0.636/2... wait ½·0.636 = 0.318 ✓ also fits (0.318 ≤ 0.73). And even cruder: via 5d's ‖ψ(w) − log w‖ ≤ 3: ½|ψ-diff| ≤ ½|log(w/w₀)| + ½·6 = 0.226 + 3 = 3.23 — too big. So the middle route: the digamma SERIES difference |ψ(w)−ψ(w₀)| ≤ |w−w₀|·Σ_n 1/|w+n||w₀+n| with Σ ≤ 2π/t·(1+o(1)) — the o(1) needs care — gives ½·2.25·(2π/t + small) ≈ ½·2.25·0.66 = 0.74 at t=10 — JUST over 0.73! Knife-edge again. The ARG-split + series route: ½|log(w/w₀)| ≤ 0.226 + ½·|series-remainder-difference|...
Hmm, actually the cleanest: |ψ(w) − ψ(w₀)| ≤ |log w − log w₀| + |(ψ−log)(w)| + |(ψ−log)(w₀)|. The (ψ−log) remainder via the SERIES: ψ(w) − log w = −1/(2w) − Σ_{n≥1} 1/((w+n)·n)·... the Weierstrass form: ψ(w) = −γ − 1/w + Σ_{n≥1}(1/n − 1/(w+n))... and log w = ... the identity ψ(w) = log w − 1/(2w) − Σ... not clean.
OK — enough. The point: piece 6 has budget 0.73 and multiple routes land ≤ 0.32–0.74 — the sharp Lemma D route (0.29) is the paper's; a Lean-friendly route via the digamma series difference exists but needs the Σ 1/|w+n|² ≤ 2π/t·(1+o(1)) estimate (the 5d/5e-ii machinery has the separated reciprocal sums — `digamma_recip_sum_le` (C) gives Σ‖(w+j)⁻¹‖ ≤ 2/c + 2 + 2·log m for dist ≥ c — that's for the near-axis; the strip version Σ 1/((t/2)²+(n+u)²) ≤ π/(t/2)+... via arctan-FTC (5d's pattern) ✓ machinery exists).
So 5f's full piece list in Lean:
1. dirichletC2 ≤ 0.57 — NEEDS a certified tsum bound! Σ Λ(n)/n² ≤ 0.57. In Lean: the tsum is symbolic. Options: (a) partial sum to N + tail bound — a finite computation: Σ_{n≤N} Λ(n)/n² + tail ≤ 0.57 with the tail (log N+1)/N... E-028 used N = 10⁶. In Lean, Σ_{n≤10⁶} Λ(n)/n² is a HUGE finite computation — decide-able but slow (10⁶ terms with real division... as rationals? Λ(n) is log p or 0 — the sum over prime powers: Σ_p log p ·(1/p² + 1/p⁴ + ...) = Σ_p log p/(p²−1)... the partial sum to 10⁶ as a rational number — evaluating in Lean by norm_num/decide is infeasible (10⁶ terms). Native_decide with floats?? Not trustworthy for the audit (well — native_decide IS trusted-ish... no, native_decide adds an axiom-free trust in the compiler — the project avoids it; the LiBasePoints used certified interval arithmetic via proved rational bounds). Alternative: (b) bound dirichletC2 by a clean analytic expression: Σ Λ(n)/n² = −ζ′(2)/ζ(2). Does Mathlib have ζ′(2)? No. (c) Coarser: Σ Λ(n)/n² ≤ Σ log n/n² =: −ζ′(2) ≈ 0.9375 — still needs a tsum bound. Σ_{n≥2} log n/n² ≤ ∫_1^∞ log x/x² + (max log x/x² at x = e^{1/2})... Σ_{n≥2} log n/n² ≤ (log 2)/4 + ∫_2^∞ log x/x² dx = 0.173 + (log 2 + 1)/2 = 0.173 + 0.847 = 1.02 — too big (need ≤ 0.57 + the 0.73 budget slack ≈ ≤ 1.3 — wait piece 1's budget: total constants 48 − (36.91 + 2.7 + 7.00 + 0.38) = 48 − 46.99 = 1.01! So piece 1 ≤ 1.01 suffices!! Σ Λ(n)/n² ≤ Σ_{n≥2} log n/n² ≤ 1.02 — KNIFE-EDGE over. Hmm. Sharper: Σ_{n≥2} log n/n²: exact ≈ 0.9375. Integral bound with the first terms exact: (log 2)/4 + (log 3)/9 + ∫_3^∞ log x/x² = 0.1733 + 0.1221 + (log 3+1)/3 = 0.1733+0.1221+0.6995 = 0.9949 ≤ 1.01 ✓ FITS by 0.015. KNIFE-EDGE but the first-terms-exact version is a clean Lean-provable bound (two exact rationals-logs + the integral (log 3 + 1)/3 via integration by parts — Mathlib has ∫ log x/x²? Hmm — `Real.integral_...`? Might need to derive: d/dx[−(log x + 1)/x] = (log x)/x² ✓ so ∫_3^N = (log 3+1)/3 − (log N+1)/N → (log 3+1)/3. Provable via FTC (intervalIntegral with the explicit antiderivative — doable: `intervalIntegral.integral_deriv_eq_sub` or by the hasDeriv pattern). And the tail series ≤ integral needs the decreasing-ness of log x/x² for x ≥ 3 (deriv ≤ 0) — `AntitoneOn.integral_le_sum` reversed: for decreasing f ≥ 0, Σ_{n≥N+1} f(n) ≤ ∫_N^∞ f — Mathlib: `Summable`/`integral_le_sum`... there are lemmas like `Real.sum_le_integral_of_decreasing`? For tsum: `tsum_le_integral...`? Might need the partial-sum form + limits. Routine but real work.)
Actually — simpler: does the fold even need dirichletC2 ≤ 0.57? The R-bound theorem is |R| ≤ 10.5L + 48. Piece 1 enters the CONSTANT side. Budget 1.01. So I need dirichletC2 ≤ 1.01, provable via the first-two-terms + integral bound (≈ 0.995). OK — feasible. Note: this produces the bound ‖logDeriv ζ (2+it)‖ ≤ dirichletC2 ≤ 0.995 — slightly weaker than Z₂ = 0.57 but FITS the budget.
2. The two-unit count (perimeter growth — USER DECISION).
3. Piece 3 far sum: the per-interval machinery — significant Lean work (the interval decomposition of the far sum Σ_{|γ−t|≥1} m·(s₀−s)/((s−ρ)(s₀−ρ)) — needs: termwise bound 4.5√2/(x(1+x)) [x = |t−γ|]; the split into unit intervals on both sides + the negative-γ side via conjugation; per-interval mult-counts from the perimeter (left: ≤ C0hat(t+1) via mono for windows in [2, t]; the LOW windows (< 2): no zeros?? — need the zero-free input |γ| ≥ 14.13... WAIT — do we have that in Lean? The nontrivial zeros: |γ| ≥ 14.13 is the verified RH-to-height-3×10¹²'s weaker cousin — the zero-free region |t| ≤ 14-ish is... RHUpTo is a PERIMETER hypothesis (Platt–Trudgian) — available! hRH : RHUpTo 3×10¹² gives zeros on the line up to that height — but does it give the LOW bound |γ| ≥ 14? RHUpTo says zeros with |γ| ≤ 3×10¹² have re = 1/2 — it does NOT say there are no zeros with |γ| < 14!! The first-zero statement "no nontrivial zeros with |γ| ≤ 14" is a separate classical fact (backlund: the zeros start at 14.13). Is it in Zeta23 or our package? lowZeroConst — defined as Σ over lowZeros of mult·(1+1/‖ρ‖) — lowZeros := zeros with ‖ρ‖ ≤ some bound? Let me check the lowZeros def — from session-031: "lowZeroConst" built from the finite ball — if it's NONZERO, then the low windows have a count input via lowZeroConst (finite, unconditional). Let me check its definition/value.
Hmm — actually for piece 3, the LEFT intervals (t−k−1, t−k] for k = 1..⌈t−2⌉: windows starting at t−k−1 ≥ ... ≥ 2 requires k ≤ t−3; for k ∈ (t−3, t): windows starting in [0, 2) — the zeros there: none (14.13) — OR use lowZeroConst if it covers them. But actually — hmm, simpler: for the left side, intervals with t−k−1 < 2 contain only zeros with γ < 3 < 14.13 — if we have the zero-free fact, those intervals are EMPTY. If we don't, we need SOME count. Let me check what zero-free inputs exist: grep "14.13" or "zeroFree" in Zeta23/our package.
Also — wait, hmm: is it even true that the perimeter ZeroCountProp's range (t ≥ 2) suffices for all the left intervals? k from 1 to ~t: window start t−k−1 ranges from t−2 down to ~−1. Windows with start < 2: (t−k−1, t−k] with t−k−1 < 2 ⟺ k > t−3. For t ≥ 10: k ∈ (7, 10): windows like (1,2], (0,1], (−1,0]... zeros with γ ∈ (−1, 3]: NONE (|γ| ≥ 14.13). So need the zero-free fact. If unavailable: these intervals' zeros are part of the |γ| ≤ 3 ball — the lowZeros finset. lowZeroConst is a SUM (mult·(1+1/‖ρ‖)) — from it, the COUNT of lowZeros ≤ lowZeroConst/(1+1/‖ρ‖)-ish... messy. Check if Zeta23 has the 14.13 zero-free region.
Let me grep for it.
Now checking what zero-free/low-zero inputs exist (piece 3's low intervals need them) and the `lowZeros`/`lowZeroConst` definitions.
tool: Bash
input
{
"command": "cd D:/Python/Quantum/research/lean/NguyenRH1/NguyenRH1; grep -n \"def lowZeros\\|def lowZeroConst\\|lowZeros :=\" LiCircleBound.lean | head -4; grep -rn \"14.13\\|14.134\\|zeroFree\\|zero_free\\|no.*zero.*below\\|zeros.*empty\" LiSkeleton.lean LiCircleBound.lean LiDisc.lean | head -8; echo ===Z23===; grep -rn \"14.13\\|14.134\" D:/Python/Quantum/zeta-23-lean/Zeta23/ --include=\"*.lean\" -l | head -3",
"description": "Find lowZeros definition and zero-free inputs"
}
raw content_json (database row)
[{"type":"thinking","thinking":"Key findings:\n1. `dirichletC2 := ∑' n, ‖LSeries.term Λ 2 n‖` — the exact sum Σ Λ(n)/n² = −ζ′/ζ(2) ≈ 0.56996. D-056's piece 1 uses Z₂ ≤ 0.57. For the Lean fold, I need dirichletC2 ≤ 0.57 (a certified numeric bound — the E-028 V5 certification: partial sum to 10⁶ + tail 1.5e-5 = 0.569975 ≤ 0.5700). In Lean, bounding a tsum of LSeries norms ≤ 0.57 requires... hmm. That's a certified numeric computation — partial sums to 10⁶ in Lean?? That's heavy. Alternative: is there a closed form or a coarser bound? Σ Λ(n)/n² = −ζ′(2)/ζ(2). Could bound via ζ(2) = π²/6 and ζ′(2)... Mathlib has ζ(2). ζ′(2) — probably not. A cheaper bound: Σ Λ(n)/n² ≤ Σ (log n)/n² = −ζ′(2) ≈ 0.9375 — too big (the fold needs ≤ 0.57 with the current constants; 0.9375 would add 0.37 to the constant side — the fold had 47.13 + 0.37 = 47.5 ≤ 48 ✓ hmm actually the constant budget has room: total constant 47.13 vs 48 — 0.87 slack; adding 0.37 keeps ≤ 48 ✓!). Wait let me recompute: piece 1 ≤ −ζ′(2) = Σ (log n)/n²·... no: Λ(n) ≤ log n, so Σ Λ(n)/n² ≤ Σ log n/n² = −ζ′(2) = 0.9375. And does Lean/Mathlib have −ζ′(2)?? Unlikely. Σ log n / n² as a tsum bound — also not standard. Hmm.\n\nActually — the cleanest: piece 1's value only needs to fit the constant budget. The fold: Z₂ + [piece2 const 2.7] + [piece3 const 7.06] + [pieces 4–6: 0.38] + [fold slack]. Let me redo the full honest fold with the two-unit perimeter form:\n- piece 1: Z₂ (need SOME certified bound ≤ ~1)\n- piece 2: 0.6L + 0.886LL + 2.7 (two-unit form)\n- piece 3: 12.7279·C0hat(t+1) + 7.064 where C0hat(t+1) = 0.433L' + 0.886LL' + 2.9, L' = log(t+3)\n- pieces 4–6: ≤ 0.045 + 0.045 + 0.29 = 0.38\n\nL-side: piece2: 0.6L + 0.886LL; piece3: 12.7279·(0.433L' + 0.886LL') = 5.511L' + 11.277LL'. With L' = log(t+3) vs L = log(t+2): L' ≤ L + log((t+3)/(t+2)) ≤ L + 1/(t+2)·... ≤ L + 1/12 (t ≥ 10). Similarly LL' ≤ LL + small. Total L-side: 0.6L + 5.511(L + 1/12) + [0.886LL + 11.277(LL + 1/(12·...))] ≈ 6.111L + 12.163LL + (5.511/12 + 11.277/12·1/L·...) ≈ 6.111L + 12.163LL + 0.5.\nConstants: 0.57 + 2.7 + 7.064 + 0.38 = 10.714.\nTotal: 6.111L + 12.163LL + 0.5 + 10.714 = 6.111L + 12.163LL + 11.214.\nTarget: 10.5L + 48 ⟺ need 12.163·LL ≤ 4.389·L + 36.786. At the LL/L pinch (L = e, t ≈ 13.15): 12.163·1 ≤ 4.389·2.718 + 36.786 = 11.93 + 36.79 = 48.72 ✓ HUGE margin (36.6!). Wait — why so much room now? Because D-056's fold was ≤ 48 with the constant 47.8 — I mis-added: the constants: Z₂ 0.57 + piece2-const 2.7 + piece3-const 7.064 + pieces4–6 0.38 = 10.714 — and D-056 had 0.57 + [piece2 = ONE C₀: const 2.9] + 7.06 + 0.38 = 10.81?! And D-056's total constant was 47.8?! Let me recheck D-056's assembly: \"5.95 log(t+2) + 12.16 log log(t+2) + 39.8 + 7.97\" — the 39.8 = 13.73·2.9 = 39.82 (the C₀ constant × 13.73) and 7.97 = the other constants (0.57+7.06+0.09+0.29 = 8.01 ≈ 7.97). So D-056's constant = 13.73·2.9 + 8.01 = 47.84. My honest version: piece2's count is the two-unit form (const 2.7) instead of one C₀ (const 2.9) — SAVES 0.2 on the constant but ADDS 0.167 to the L-coefficient (0.6 vs 0.433). Piece 3 unchanged: 12.7279·C₀. So my L-coefficient: 0.6 + 12.7279·0.433 = 0.6 + 5.511 = 6.111 vs D-056's 5.95 (0.433·13.73). LL: 0.886 + 12.7279·0.886 = 12.163 ≈ 12.16 ✓ same. Constants: 2.7 + 12.7279·2.9 + 7.064 + 0.57 + 0.38 = 2.7 + 36.91 + 7.064 + 0.57 + 0.38 = 47.62 vs D-056's 47.84 — actually LOWER (the two-unit form's constant 2.7 < 2.9). So total: 6.111L + 12.163LL + 47.62 ≤ 10.5L + 48 ⟺ 12.163·LL ≤ 4.389·L + 0.38. At the pinch L = e: 12.163 ≤ 11.93 + 0.38 = 12.31 ✓ FITS by 0.15!! Let me double-check the pinch point: max of 12.163·log L − 4.389·L over L ≥ log 12 = 2.485: d/dL = 12.163/L − 4.389 = 0 ⟹ L* = 2.7716; value: 12.163·log(2.7716) − 4.389·2.7716 = 12.163·1.01947 − 12.1656 = 12.400 − 12.166 = 0.234 ≤ 0.38 ✓✓ FITS by 0.146 at the worst point. At L = 2.485 (t=10): 12.163·0.9103 − 4.389·2.485 = 11.072 − 10.907 = 0.165 ≤ 0.38 ✓ by 0.215. So the honest assembly fits 10.5/48 with margin ~0.15 at the pinch — TIGHT but provable (4–6× tighter than the D-056 fold's apparent margin, but the pinch is a smooth one-variable max — certifiable by calculus + interval evaluation).\n\nBUT — the piece-2 two-unit form (0.6L + 0.886LL + 2.7) is NOT derivable from the per-unit perimeter (2·C0hat = 0.866L + 1.77LL + 5.8 — the LL and constant terms blow the fold: LL-side would be 1.772 + 11.277 = 13.05, constants 5.8+36.91+7.06+0.95 = 50.72 — breaks 48 by 2.7 and the pinch: 13.05·LL ≤ (10.5−6.377)·L + (48−50.72) = 4.123L − 2.72: at L=2.485: LHS 13.05·0.91 = 11.88 vs RHS 10.25−2.72 = 7.53 — FAILS). So the two-unit perimeter form is REQUIRED. Confirmed the need for the new declared specialization.\n\nNow — the alternative interpretation: rather than a new perimeter item, note that the two-unit count bound 0.6L + 0.886LL + 2.7 could be declared as a SECOND clause of ZeroCountProp (the same declaration, two window shapes — both Trudgian specializations). Or a separate `ZeroCountProp2`. Either way it's a perimeter growth requiring user sign-off.\n\nHmm, wait — actually, hold on. Is there any chance the two-unit form is derivable from the one-unit form + a SHIFT? #{(t−1,t]} + #{(t,t+1]} ≤ C0hat(t) + C0hat(t+1). C0hat(t) + C0hat(t+1) vs the two-unit form 0.6L+0.886LL+2.7: C0hat(t)+C0hat(t+1) = 0.433·(log(t+2)+log(t+3)) + 0.886·(LL(t+2)+LL(t+3)) + 5.8 ≈ 0.866L + 1.772LL + 5.8. Too big (0.866 > 0.6). No.\n\nSo: 5f requires a new declared two-unit count. This is a perimeter growth (same Trudgian source). ALSO: I still owe the user the H(T)/3C0hat² clearance-coverage finding for ii′-6 (the near-sum count/clearance accounting on the contour) — that's a SEPARATE issue from piece 2, affecting marginTilde's baked 3·C0hat² and (2/3)·C0hat coefficients. Hmm — wait, let me re-examine whether that's real too, since it affects whether the baked margin survives at all.\n\nii′-6's H(T) (horizontal contour bound): |ζ′/ζ(σ+iT)| ≤ Σ_{|γ−T|<1} 1/|s−ρ| + |R(s)|. The near sum: count × clearance. L3 (exists_zero_avoiding_T) gives T ∈ [a, a+1] with clearance 1/(3·C0hat(a+1)) vs zeros with γ ∈ [a, a+1] ONLY. The near window |γ−T|<1 ⊂ (a−1, a+2). Zeros in (a+1, a+2) or (a−1, a): NO clearance from L3. So |ζ′/ζ| on the horizontal is NOT bounded by C₀/d_min as D-036 claimed — the honest bound needs the extended pigeonhole (clearance vs all zeros in (a−1, a+2), count ≤ 3·C0hat) ⟹ near sum ≤ 3C₀·(extended clearance 1/(9C₀+3))... \n\nHmm wait — actually, hold on: is that right? Let me redo: exists_avoiding_midpoint with the window [a, a+1] and k+1 midpoints where k = count bound: returns T ∈ [a, a+1] avoiding the k window zeros by 1/(2(k+1)). For the extended version: apply exists_avoiding_midpoint to the window [a−1/2, a+1/2]?? Hmm — but we need T at a specific height range for the contour (T ∈ [√n, √n+1]-ish for the height-window slack argument). Apply the midpoint lemma on [a, a+1] with the zero set = zeros in (a−1, a+2) (3-unit count ≤ 3C₀): midpoints in [a, a+1] — k₀+1 of them with k₀ = 3C₀ — each zero blocks ≤ 1 midpoint ⟹ T with clearance ≥ 1/(2(3C₀+1)) ≥ 1/(7C₀) from ALL zeros within (a−1, a+2) ⊇ |γ−T|<1 ✓. Then near sum ≤ count(|γ−T|<1) · 7C₀ ≤ 3C₀·7C₀ = 21·C₀². vs baked 3·C0hat². 7× worse on the C0hat² coefficient. As computed before, that kills the margin at 8×10⁴ (the crossover jumps past the certified base points and possibly past 5×10⁵!?).\n\nHmm, no wait — my earlier smarter split: near sum ≤ inner + outer: inner |γ−T| < 1/4: count ≤ C₀ (one unit), terms ≤ 7C₀ ⟹ 7C₀²; outer 1/4 ≤ |γ−T| < 1: terms ≤ 4, count ≤ 2C₀ ⟹ 8C₀. Total ≤ 7C₀² + 8C₀. vs baked 3C₀². The increment: 4C₀² + 8C₀. In the margin at n = 8×10⁴: the C0hat²-piece of B̃ is 2(e⁴+1)·7·(coefficient)·C0hat² — coefficient 3 → 7: increment 2(e⁴+1)·7·4·47.3 ≈ 111.2·28·47.3 ≈ 147 300?!? margin(8×10⁴) was ~15 764 — NEGATIVE. At n = 5×10⁵: C0hat² ≈ 54.9: increment ≈ 111.2·28·54.9 ≈ 170 900; margin(5×10⁵) = 2.0×10⁶ → 1.83M ✓ fine. The crossover: from 80 000 to...? The increment grows like C0hat² ~ (log T)² ~ (log n)² while S grows like n log n — the crossover moves modestly (the increment at crossover n ≈ 33 000: T ≈ 183: C0hat ≈ 6.7, C0hat² ≈ 45: increment ≈ 140 000 — vs margin at 33 000 ≈ 0 (crossover!). Hmm the crossover moves to where S − B − 140 000·(C0hat²/45)-ish = 0 — maybe n ≈ 60 000–120 000. N₀ was adopted 80 000 with margin 8001 — the new margin at 80 000 is NEGATIVE (increment 147 300 > 15 764). So N₀ must move to where margin > 0 — need recomputation, but plausibly ~1.5–2×10⁵ — still ≤ 5×10⁵ (the finite verification cap) ✓ workable. The convexity/secant argument: pos_of_convex_of_two_points with base points at N₀ and 10⁵... re-certify.\n\nSo the ii′-6 H(T) issue is REAL and moves the margin significantly (but survivably). HOWEVER — scope check: 5f is ONLY the R-bound. The H(T) issue belongs to ii′-6 (L0 assembly). For 5f, the required decision is just the two-unit perimeter form. The H(T) issue I should DOCUMENT (journal + a repair-map entry) but not solve now.\n\nHmm, wait — but if the H(T) issue will force a margin re-fold at ii′-6 anyway, does the 10.5/48 R-bound still fit the (future) margin? The R-bound enters the margin via Hhat's linear term (10.5·log + 48) AND I_III's (2/3·C0hat + 10.5 log + 48). If ii′-6's near-sum accounting changes C0hat²'s coefficient 3 → 7, the margin's B-side grows by ~4·C0hat²·778 — and the crossover moves — but the R-bound's 10.5/48 stays VALID (it's a standalone analytic bound). The margin re-verification at ii′-6 will use the same R-bound. So 5f at 10.5/48 is safe to do now.\n\nHmm — although — wait. Should I double-check the 3C0hat² in Hhat once more against ii′-6's actual future need? D-036 §2: \"|ζ′/ζ(s)| ≤ C₀(T)/d_min + A log(T+2) + B₀ ≤ 3C₀(T)² + A log(T+2) + B₀ =: H(T)\" — the near sum C₀(T)/d_min with d_min ≥ 1/(3C₀(√n+1)): C₀(T)·3C₀(√n+1) ≈ 3C₀². The count C₀(T) for |γ−T|<1 (two-unit window — the piece-2 issue AGAIN: honest count is the two-unit form 0.6L+0.886LL+2.7 ≈ C₀ + 0.167L − 0.2, fine) AND the clearance coverage issue (out-of-window zeros — the 3C₀² → 7C₀²+8C₀ issue). So Hhat has BOTH issues. ii′-6 will need the full repair. NOT 5f's problem — 5f is the standalone R-bound.\n\nDECISION for 5f: proceed with the honest assembly at 10.5/48, which requires the two-unit count form. Present to the user:\n1. The piece-2 finding (D-056's one-C₀ usage for the two-unit window — a real but small assembly gap; the bound survives via the honest two-unit Trudgian form + the unfolded loglog pinch analysis with ~0.15 margin at the pinch).\n2. The required perimeter growth: a two-unit mult-weighted count bound (same Trudgian source, new specialization: 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for |γ−t| ≤ 1, t ≥ 10).\n3. The documented ii′-6 finding (H(T) clearance coverage — 3C0hat² → ~7C0hat²+8C0hat honest; margin impact to be faced at ii′-6; N₀/crossover will move).\n\nActually hold on — before presenting, let me double-check the two-unit closed form once more, since it must be EXACT (it's a declared bound — well, it's a hypothesis, so it just needs to be TRUE and reasonably clean):\n\nTwo-unit mult-weighted count: #{ρ : |γ−t| ≤ 1, mult} = N(t+1) − N(t−1) ≤ F(t+1) − F(t−1) + S_b(t+1) + S_b(t−1) (Trudgian 2014: N(T) = F(T) + S(T), |S(T)| ≤ S_b(T) := 0.137 log T + 0.443 log log T + 1.588 for T ≥ e).\n\nF(t+1) − F(t−1): F(T) = (T/2π)(log(T/2π) − 1) + 7/8. F is convex-increasing (F'(T) = (1/2π)log(T/2π) > 0 for T > 2π). F(t+1)−F(t−1) = ∫_{t−1}^{t+1} F' ≤ 2·F'(t+1) = (1/π)·log((t+1)/2π) (F' increasing). ≤ (1/π)·log(t+2)... hmm need ≤ (1/π)·log(t+2) − 0.585-ish for the fold. Actually for the declaration I just need the CLOSED FORM to honestly majorize: claim N(t+1)−N(t−1) ≤ 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for t ≥ 10:\n- F-part ≤ (1/π)·log((t+1)/2π) ≤ 0.31831·log(t+2) − 0.31831·log(2π)·(1 − ...) hmm: log((t+1)/2π) = log(t+2) − log(2π) − log((t+2)/(t+1)) ≤ L − 1.8379 (since log((t+2)/(t+1)) ≥ 0). So F-part ≤ 0.31831·L − 0.58492.\n- S-pair ≤ 0.274·L + 0.886·LL + 3.176 (as before: 0.137·2·L... wait: 0.137·(log(t+1)+log(t−1)) ≤ 0.137·2·log(t+1) ≤ 0.274·L? log(t+1) ≤ log(t+2) = L ✓. 0.443·(LL(t+1)+LL(t−1)) ≤ 0.443·2·LL = 0.886·LL ✓ (t−1 ≥ 9 > e so LL(t−1) ≥ 0... loglog(t−1) requires log(t−1) ≥ 0 ⟺ t ≥ 2 ✓; and LL monotone ✓). Constants: 2·1.588 = 3.176.\n- Total ≤ (0.31831 + 0.274)·L + 0.886·LL + (3.176 − 0.58492) = 0.59231·L + 0.886·LL + 2.5911.\n- Closed form: 0.6·L + 0.886·LL + 2.7: difference = (0.6−0.59231)·L + (2.7−2.5911) = 0.00769·L + 0.1089 ≥ 0 ✓ for all L ≥ 0. HONEST ✓.\n\nSo the declared two-unit form: #{mult-weighted, |γ − t| ≤ 1} ≤ 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7 for t ≥ 10. (Hmm — should it be |t| for negative t too? The R-bound is stated for |t| ≥ 10 with σ ∈ [−5/2, 3] — the s = σ+it with t possibly negative. D-056 states |t| ≥ 10. The near window |γ−t|<1 for t negative uses the conjugate symmetry. For the Lean statement, handle t ≥ 10 and extend to |t| ≥ 10 by conjugation? The LiDisc capstones handled all |t| ≥ 10 — via nearZeros t with t possibly negative (they had the conj machinery: isNontrivialZero_conj). For 5f, following D-056: state for t ≥ 10 first? D-056 says |t| ≥ 10. The ii′-6 consumer needs |t| = T ≥ 10 positive heights (T = √n+1 > 0) — and the conjugate for the bottom horizontal. Let me design the Lean theorem for t ≥ 10 and note the t ≤ −10 extension via conj if needed. Actually the LiDisc capstone `logDeriv_riemannZeta_sub_nearZeros_le` was stated for 10 ≤ |t| (both signs) with the near sum over nearZeros t. For 5f the tight version should match: 10 ≤ |t|. The proof: t ≥ 10 direct; t ≤ −10 via conjugation (logDeriv ζ (conj s) = conj (logDeriv ζ s)? — riemannZeta_conj: ζ(conj s) = conj ζ(s); logDeriv conj: logDeriv ζ (conj s) = conj (logDeriv ζ s) — needs deriv under conj — Zeta23 might have it; the 5c/5d capstones handled both signs via logDeriv_riemannZeta_sub_nearZeros_le_left/right separately — for the LEFT half they reflected. For t < 0, nearZeros t = conj (nearZeros (−t)) presumably via isNontrivialZero_conj. This is mechanical but adds work. Design choice: prove for t ≥ 10; add the t ≤ −10 corollary via conjugation.)\n\nOK. Now — WAIT. One more simplification check: does 5f really need the two-unit form, or can the near window be SHRUNK? The near sum in R(s) is Σ_{|γ−t|<1} m/(s−ρ) — the window |γ−t|<1 is intrinsic to the R-bound's definition (it's what ii′-6 subtracts). Could 5f instead prove the R-bound for a DIFFERENT near window, e.g. |γ−t| < 1/2 (one unit)? Then the far sum includes 1/2 ≤ |γ−t| < 1 zeros with per-term ≤ 4.5√2/(x(1+x)) at x ∈ [1/2, 1] — the far-sum interval sum starts at k=... the |t−γ| ∈ [1/2,1] interval: per-term ≤ 4.5/(0.5·√1.25) = 8.05; count ≤ C₀; so the far sum gains ≤ 8.05·C₀... and piece 2 becomes ≤ C₀(t) (one unit!). Net: piece2 saves 0.167L−0.2, far sum gains 8.05·C₀ vs the k=1 interval's previous 4.5√2/(1·2)·C₀ = 3.18·C₀ — increment 4.87·C₀ ≈ 2.1·L. WORSE. No.\n\nSo the two-unit perimeter form is needed. But actually — hmm, ONE more alternative: bound the near sum via the SERIES difference directly without the count?? Σ_near m/|s₀−ρ| ≤ Σ_near m — no alternative.\n\nAlright — also quickly reconsider (β) once more (honest A=11.2, B₀=51 from the per-unit perimeter) vs (α) (two-unit declaration): (β) requires re-baking marginTilde/Hhat constants + re-verifying convexity (session-011 proof, ~2 tight numeric blocks) + re-certifying base points + N₀ crossover recomputation + paper text at ii′-7. (α) requires: one new declared hypothesis (same Trudgian source) + the pinch-point calculus lemma. (α) is much cheaper and keeps all certified artifacts valid. RECOMMEND (α).\n\nNote the perimeter growth is honest but must be declared in the paper's appendix at ii′-7 (the freeze allows this at ii′-7).\n\nHmm — one more thought on (α): is the two-unit form really a \"new\" perimeter item, or can it be folded into ZeroCountProp as a conjunction? ZeroCountProp currently: ∀ t ≥ 2, (window [t,t+1] mult-count) ≤ C0hat(t+1). The two-unit form: ∀ t ≥ 10, (#{|γ−t| ≤ 1} mult-count) ≤ 0.6 log(t+2) + 0.886 LL(t+2) + 2.7. These are two different shapes — cleanest as a separate def `ZeroCountProp2` (or a renamed combined prop). A separate def keeps the existing consumers untouched. The capstone signatures then take (hZC : ZeroCountProp) (hZC2 : ZeroCountProp2). The perimeter count goes from 4 to 5 declared items (same source family). At ii′-7, the paper's appendix declaration updates.\n\nHmm, or... actually — reconsider ONE more time whether the two-unit bound can be DERIVED from ZeroCountProp by a smarter split: #{|γ−t|≤1} = #{(t−1, t−1/2]} + #{(t−1/2, t]} + #{(t, t+1/2]} + #{(t+1/2, t+1]} — half-unit windows, each ≤ the unit bound C0hat — 4·C0hat?? worse. No: sub-window counts ≤ full-window count (monotonicity of the count in the window inclusion!) — each half-window ⊆ a unit window ⟹ ≤ C0hat. 4 half-windows ≤ 4·C0hat. Worse than 2·C0hat. No gain. The perimeter only speaks about full unit windows. CONFIRMED: need the declaration.\n\nLet me also double check that the honest two-unit form is indeed TRUE (it's a declaration, but it must be mathematically valid — the Trudgian S_b bound applies for T ≥ e ✓; F' increasing for T > 2π ✓; the mult-weighted N(t+1)−N(t−1) = Σ_{t−1 < γ ≤ t+1} m ✓ — N(T) counts with multiplicity by definition ✓; |γ−t| ≤ 1 vs (t−1, t+1]: the open/closed endpoints don't matter for the bound ✓).\n\nAnd the pinch lemma: for L ≥ log 12 (t ≥ 10): 12.163·log L ≤ 4.389·L + 0.38 — hmm let me restate with cleaner constants. The full assembly: |R| ≤ 6.111·L + 12.163·LL + 47.62 where L = log(t+2), LL = log L. Wait — but I should double-check the piece-3 right-side count: intervals (t+k, t+k+1] for k = 1..⌈t⌉-ish have counts ≤ C0hat(t+k+1) ≤ C0hat(2t+1)?? The window start t+k ≥ t+1 ≥ 11 ≥ 2 ✓ perimeter applies. C0hat(2t+1) = 0.433·log(2t+3) + 0.886·LL(2t+3) + 2.9 ≤ 0.433·(L + log 2·(1+...)) hmm: log(2t+3) vs L = log(t+2): (2t+3)/(t+2) = 2 − 1/(t+2) ≤ 2 ⟹ log(2t+3) ≤ L + log 2 = L + 0.693. LL(2t+3) = log(log(2t+3)) ≤ log(L + 0.693) ≤ LL + 0.693/L ≤ LL + 0.28 (L ≥ 2.485). So C0hat(2t+1) ≤ C0hat(t+1) + 0.433·0.693 + 0.886·0.28 = C0hat + 0.30 + 0.248 = C0hat + 0.548 ≤ C0hat + 0.55. (D-056 said +0.58 — consistent.) Piece 3 ≤ 4.5√2·[C0hat(t+1) + (C0hat(t+1) + 0.55) + 0.53]·... wait the tail: \"k > t tail ≤ C₀(2t)/(t+1) + 0.433/t ≤ 0.53\" — let me trust D-056's 0.53 but redo: tail = Σ_{k > t} 4.5√2·count_k/(k(k+1)) + the negative-γ side. Hmm — actually the per-interval sum Σ_{k=1}^{K} 1/(k(k+1)) = 1 − 1/(K+1) ≤ 1 — the LEFT side intervals (k = 1..~t−1): ≤ C0hat(t+1)·(1). The RIGHT side (k = 1..~t): ≤ C0hat(2t+1)·1. The TAIL (k > t): Σ_{k>t} C0hat(t+k+1)/(k(k+1)) — with C0hat(t+k+1) ≤ C0hat(2k+1) ≤ 0.433·log(2k+3) + ... ≤ 0.433·(log k + 0.7) + ... — D-056's bound: ≤ C₀(2t)/(t+1) + 0.433/t ≈ 0.53 at t=10 decreasing. For the Lean proof this tail needs a clean summable bound: Σ_{k>t} C0hat(t+k+1)/(k(k+1)) ≤ Σ_{k>t} [0.433·log(t+k+1) + 0.886·LL(t+k+1) + 2.9]/(k(k+1)) ≤ [0.433·log(2t+... hmm — for k > t: t+k+1 ≤ 2k+... ≤ 3k: log(t+k+1) ≤ log(3k) = log 3 + log k. And Σ_{k>t} log k/(k(k+1)) ≤ Σ_{k>t} log k/k² ≤ ∫_{t−1}... ≤ (log t + 1)/t·... At t ≥ 10: ≤ (log 10+1)/10 ≈ 0.33. Plus 2.9·Σ_{k>t} 1/(k(k+1)) = 2.9/(t+1) ≤ 0.27. Plus the LL piece ≤ 0.886·LL(3t)/... small. Tail ≤ ~0.7 at t = 10 decreasing. D-056 used 0.53. For safety use 0.75. Then piece 3 ≤ 4.5√2·[C0hat(t+1) + C0hat(t+1) + 0.55 + 0.75] = 6.36396·[2·C0hat(t+1) + 1.30] = 12.7279·C0hat(t+1) + 8.273. Hmm — slightly bigger constant than D-056's 7.06 (my tail is cruder). Total constants: 0.57 + 2.7 + 8.273 + 0.38 = 11.92; the C0hat constant piece: 12.7279·2.9 = 36.91. Total constant: 36.91 + 11.92 = 48.83 — vs 48!! OVER by 0.83. Hmm. Tighten the tail: at t ≥ 10: Σ_{k>t} log(3k)/(k(k+1)): bound Σ_{k>t} 1/(k(k+1)) = 1/(⌊t⌋+1) ≤ 1/10.5 hmm t ≥ 10 ⟹ k ≥ 11 (k > t ≥ 10, k integer ≥ 11): Σ_{k≥11} 1/(k(k+1)) = 1/11 ≈ 0.0909. Σ_{k≥11} log k/(k(k+1)) ≤ Σ_{k≥11} log k/k² ≤ ∫_{10}^∞ (log x)/x² dx = [−(log x + 1)/x]_{10}^∞ = (log 10 + 1)/10 = 0.3303. So tail ≤ 0.433·(0.3303 + log 3·0.0909) + 0.886·LL-ish·0.0909 + 2.9·0.0909 ≤ 0.433·(0.3303+0.0999) + 0.886·(log log(3·11))·0.0909 + 0.2636 ≈ 0.433·0.4302 + 0.886·1.206·0.0909 + 0.2636 ≈ 0.1863 + 0.0971 + 0.2636 ≈ 0.547. Hmm ≈ 0.55. So tail ≤ 0.55 (not 0.75). Piece 3 constant: 6.36396·(0.55 + 0.55) = 6.36396·1.10 = 7.0004 — wait: piece 3 = 4.5√2·[C₀ + (C₀+0.55) + 0.55] = 4.5√2·(2C₀ + 1.10) = 12.7279·C₀ + 7.0004. Constants: 0.57 + 2.7 + 7.00 + 0.38 = 10.65; C0hat-constant: 36.91. Total: 47.56 ≤ 48 ✓ (0.44 room). L-side: 6.111L + 12.163LL. Pinch check: need 12.163·LL − 4.389·L ≤ 0.44 for L ≥ 2.485: max at L* = 12.163/4.389 = 2.7716: value 12.163·1.01947 − 4.389·2.7716 = 12.400 − 12.166 = 0.234 ≤ 0.44 ✓ (1.9× margin). At L = 2.485: 0.165 ≤ 0.44 ✓. OK — FITS with ~0.2–0.44 margin. Tight but certifiable. (These are all my hand estimates — the Lean proof will need the constants done exactly; there's enough room.)\n\nAlso pieces 4–6 need their honest forms: piece 4/5: |1/s − 1/s₀| ≤ |s₀−s|/(|s||s₀|) ≤ 4.5/t² ≤ 0.045 ✓; piece 6: the ψ-difference — Lemma D (digamma remainder) + the log-difference bound: ½|log(s/2) − log(s₀/2)| + ½|1/s − 1/s₀| + ½(|r(s/2)|+|r(s₀/2)|) — D-056 got ≤ 0.29. Lemma D in Lean: `norm_digamma_sub_log_le_of_two_le_abs_im` (5d) gives ‖ψ(w) − log w‖ ≤ 3 for |im w| ≥ 2 — much weaker than Lemma D's 1.2/|w|² but here we only need the DIFFERENCE ψ(s/2) − ψ(s₀/2) = log(s/2) − log(s₀/2) + O(1/|s|²): |log(s/s₀)| = |log(s/s₀)| with s/s₀ near 1: |log(s/s₀)| ≤ 2·|s/s₀ − 1| ≤ 2·|s₀−s|/|s₀| ≤ 2·4.5/|t| ≤ 9/t. And the remainder difference: via 5d's ‖ψ−log‖ ≤ 3: |ψ(s/2)−ψ(s₀/2)| ≤ |log(s/2)−log(s₀/2)| + 6 — the +6 is WAY too big (piece 6 budget 0.29!). So 5f needs the SHARP digamma remainder (Lemma D: |r(w)| ≤ 1.2/|w|²) — which is D-039's content... which D-056 §1 PROVED on paper (the Binet + recurrence argument) but is it in Lean? 5d's bound is the crude ‖ψ(w) − log w‖ ≤ 3. Lemma D (1.2/|w|²) is NOT in Lean (D-056 §1 was a paper proof; the Lean side has only the 5d crude bound). So 5f also needs Lemma D in Lean — the Binet second formula + the recurrence error E(w) — that's a real analytic sub-build (~0.5 session per D-056 §1's structure: Binet integral bound + the max-principle argument for E(w)... the max-principle on g(u)/u⁴ — Lean has the maximum modulus machinery ✓ but this is work).\n\nHmm — OR avoid Lemma D: bound the ψ-DIFFERENCE directly via the digamma series: ψ(s/2) − ψ(s₀/2) = Σ_j [1/(s₀/2+j) − 1/(s/2+j)] = (s/2 − s₀/2)·Σ_j 1/((s/2+j)(s₀/2+j))... Σ_j 1/((s/2+j)(s₀/2+j)) ≤ Σ_j 1/|s₀/2+j|²-ish ≤ Σ 1/(t/2)²-ish — the series Σ_{j≥0} 1/((t/2)²+j²)-ish ≈ (π/t)-ish... Hmm: ψ(w₁) − ψ(w₂) = Σ_{n≥0} [1/(w₂+n) − 1/(w₁+n)] (the Weierstrass series difference — termwise) = (w₁−w₂)·Σ 1/((w₁+n)(w₂+n)). With |w₁−w₂| = |s−s₀|/2 ≤ 2.25 and |1/((w₁+n)(w₂+n))| ≤ 1/(|im|−...)²... For w = s/2, im w = t/2 ≥ 5: |w+n| ≥ t/2; |w₀+n| ≥ t/2: term ≤ 4/t². Σ over n ≥ 0 of 4/t² DIVERGES. Need the smarter form: |1/((w₁+n)(w₂+n))| ≤ 1/|w₀+n|²·(1+...)... Σ_n 1/|w+n|² for w with im = t/2: Σ_n 1/((t/2)² + (n+re w)²) ≈ ∫ dx/((t/2)²+x²) = π/(t/2) = 2π/t. So the difference ≤ 2.25·(2π/t)·(1+o(1)) ≈ 14/t·... hmm at t = 10: ≈ 1.4 — still bigger than 0.29·2 = 0.58 budget (piece 6 is ½|ψ-diff| ≤ 0.29 ⟹ |ψ-diff| ≤ 0.58). 2.25·2π/10 = 1.41 > 0.58. Hmm. But the sharp version: ψ(w) = log w − 1/(2w) + O(1/|w|²): the difference ψ(w)−ψ(w₀) = log(w/w₀) − (1/2)(1/w − 1/w₀) + O(1/|w|²): |log(w/w₀)| ≤ 1.1·|w/w₀ − 1| = 1.1·|w−w₀|/|w₀| ≤ 1.1·2.25/5 = 0.495 at t=10; the 1/(2w) difference: (1/2)·|w−w₀|/(|w||w₀|) ≤ 0.5·2.25/25 = 0.045; the r-difference: 2·1.2/|w|²·... ≤ 2.4/25 = 0.096. Total |ψ-diff| ≤ 0.495+0.045+0.096 = 0.636; half: 0.318 — hmm slightly over D-056's 0.29 but the log part: |log(w/w₀)| with w/w₀ = (s/2)/(s₀/2) = s/s₀: |s/s₀| = |s|/|s₀| ∈ [0.55/1, ...]... σ ∈ [−5/2,3], s₀ = 2+it: |s−s₀| = |σ−2| ≤ 4.5; |s₀| ≥ |t|: |log(s/s₀)| ≤ |s/s₀ − 1|/(1−|s/s₀−1|)-ish ≤ 1.1·(4.5/10) = 0.495 at t=10. So ½|ψ-diff| ≤ 0.318 vs D-056's 0.29. Over by 0.03 — because D-056's 0.23 for ½|log(s/s₀)| used |arg(s/s₀)| ≤ 4.5/|t| hmm: |log(s/s₀)|² = (log|s/s₀|)² + arg²; D-056: \"½|log(s/s₀)| ≤ 0.23 at |t| = 10\" — via |log|s/s₀|| ≤ 0.02 and |arg| ≤ 4.5/|t| = 0.45: |log(s/s₀)| ≤ √(0.02² + 0.45²) ≈ 0.45; ½·0.45 = 0.225 ≤ 0.23 ✓. My 1.1·|Δ| bound gave 0.495 (lossy by the 1.1 + only-modulus). The arg form: |arg(s/s₀)| ≤ |s−s₀|/|s₀|·(1+...) = 4.5/10 = 0.45 (arg ≤ tan-ish). OK so with the arg/modulus split, ½|log| ≤ 0.226, ½|1/(2w)-diff| ≤ 0.023, ½|r-diff| ≤ 0.048: total 0.297 ≈ 0.29 ✓ D-056's. So piece 6 needs the ARG bound on log(s/s₀) + the sharp digamma remainder r bound 1.2/|w|². The r bound (Lemma D) is the Binet argument — a real sub-build.\n\nAlternatively, piece 6 crude-but-sufficient: need ½|ψ(s/2) − ψ(s₀/2)| ≤ C₆ with the total fitting. Budget for piece 6: 48 − (other pieces). Other pieces at the pinch: Z₂ 0.57 + piece2 2.7 + piece3-const 7.00 + pieces4–5 0.09 = 10.36; C0hat-const 36.91; total-without-6: 47.27. Room for piece 6: 48 − 47.27 = 0.73. So piece 6 ≤ 0.73 suffices!! My crude 0.318–0.636... the ½|ψ-diff| ≤ 0.318 (arg-split version) fits; the cruder 0.636/2... wait ½·0.636 = 0.318 ✓ also fits (0.318 ≤ 0.73). And even cruder: via 5d's ‖ψ(w) − log w‖ ≤ 3: ½|ψ-diff| ≤ ½|log(w/w₀)| + ½·6 = 0.226 + 3 = 3.23 — too big. So the middle route: the digamma SERIES difference |ψ(w)−ψ(w₀)| ≤ |w−w₀|·Σ_n 1/|w+n||w₀+n| with Σ ≤ 2π/t·(1+o(1)) — the o(1) needs care — gives ½·2.25·(2π/t + small) ≈ ½·2.25·0.66 = 0.74 at t=10 — JUST over 0.73! Knife-edge again. The ARG-split + series route: ½|log(w/w₀)| ≤ 0.226 + ½·|series-remainder-difference|... \n\nHmm, actually the cleanest: |ψ(w) − ψ(w₀)| ≤ |log w − log w₀| + |(ψ−log)(w)| + |(ψ−log)(w₀)|. The (ψ−log) remainder via the SERIES: ψ(w) − log w = −1/(2w) − Σ_{n≥1} 1/((w+n)·n)·... the Weierstrass form: ψ(w) = −γ − 1/w + Σ_{n≥1}(1/n − 1/(w+n))... and log w = ... the identity ψ(w) = log w − 1/(2w) − Σ... not clean.\n\nOK — enough. The point: piece 6 has budget 0.73 and multiple routes land ≤ 0.32–0.74 — the sharp Lemma D route (0.29) is the paper's; a Lean-friendly route via the digamma series difference exists but needs the Σ 1/|w+n|² ≤ 2π/t·(1+o(1)) estimate (the 5d/5e-ii machinery has the separated reciprocal sums — `digamma_recip_sum_le` (C) gives Σ‖(w+j)⁻¹‖ ≤ 2/c + 2 + 2·log m for dist ≥ c — that's for the near-axis; the strip version Σ 1/((t/2)²+(n+u)²) ≤ π/(t/2)+... via arctan-FTC (5d's pattern) ✓ machinery exists).\n\nSo 5f's full piece list in Lean:\n1. dirichletC2 ≤ 0.57 — NEEDS a certified tsum bound! Σ Λ(n)/n² ≤ 0.57. In Lean: the tsum is symbolic. Options: (a) partial sum to N + tail bound — a finite computation: Σ_{n≤N} Λ(n)/n² + tail ≤ 0.57 with the tail (log N+1)/N... E-028 used N = 10⁶. In Lean, Σ_{n≤10⁶} Λ(n)/n² is a HUGE finite computation — decide-able but slow (10⁶ terms with real division... as rationals? Λ(n) is log p or 0 — the sum over prime powers: Σ_p log p ·(1/p² + 1/p⁴ + ...) = Σ_p log p/(p²−1)... the partial sum to 10⁶ as a rational number — evaluating in Lean by norm_num/decide is infeasible (10⁶ terms). Native_decide with floats?? Not trustworthy for the audit (well — native_decide IS trusted-ish... no, native_decide adds an axiom-free trust in the compiler — the project avoids it; the LiBasePoints used certified interval arithmetic via proved rational bounds). Alternative: (b) bound dirichletC2 by a clean analytic expression: Σ Λ(n)/n² = −ζ′(2)/ζ(2). Does Mathlib have ζ′(2)? No. (c) Coarser: Σ Λ(n)/n² ≤ Σ log n/n² =: −ζ′(2) ≈ 0.9375 — still needs a tsum bound. Σ_{n≥2} log n/n² ≤ ∫_1^∞ log x/x² + (max log x/x² at x = e^{1/2})... Σ_{n≥2} log n/n² ≤ (log 2)/4 + ∫_2^∞ log x/x² dx = 0.173 + (log 2 + 1)/2 = 0.173 + 0.847 = 1.02 — too big (need ≤ 0.57 + the 0.73 budget slack ≈ ≤ 1.3 — wait piece 1's budget: total constants 48 − (36.91 + 2.7 + 7.00 + 0.38) = 48 − 46.99 = 1.01! So piece 1 ≤ 1.01 suffices!! Σ Λ(n)/n² ≤ Σ_{n≥2} log n/n² ≤ 1.02 — KNIFE-EDGE over. Hmm. Sharper: Σ_{n≥2} log n/n²: exact ≈ 0.9375. Integral bound with the first terms exact: (log 2)/4 + (log 3)/9 + ∫_3^∞ log x/x² = 0.1733 + 0.1221 + (log 3+1)/3 = 0.1733+0.1221+0.6995 = 0.9949 ≤ 1.01 ✓ FITS by 0.015. KNIFE-EDGE but the first-terms-exact version is a clean Lean-provable bound (two exact rationals-logs + the integral (log 3 + 1)/3 via integration by parts — Mathlib has ∫ log x/x²? Hmm — `Real.integral_...`? Might need to derive: d/dx[−(log x + 1)/x] = (log x)/x² ✓ so ∫_3^N = (log 3+1)/3 − (log N+1)/N → (log 3+1)/3. Provable via FTC (intervalIntegral with the explicit antiderivative — doable: `intervalIntegral.integral_deriv_eq_sub` or by the hasDeriv pattern). And the tail series ≤ integral needs the decreasing-ness of log x/x² for x ≥ 3 (deriv ≤ 0) — `AntitoneOn.integral_le_sum` reversed: for decreasing f ≥ 0, Σ_{n≥N+1} f(n) ≤ ∫_N^∞ f — Mathlib: `Summable`/`integral_le_sum`... there are lemmas like `Real.sum_le_integral_of_decreasing`? For tsum: `tsum_le_integral...`? Might need the partial-sum form + limits. Routine but real work.)\n Actually — simpler: does the fold even need dirichletC2 ≤ 0.57? The R-bound theorem is |R| ≤ 10.5L + 48. Piece 1 enters the CONSTANT side. Budget 1.01. So I need dirichletC2 ≤ 1.01, provable via the first-two-terms + integral bound (≈ 0.995). OK — feasible. Note: this produces the bound ‖logDeriv ζ (2+it)‖ ≤ dirichletC2 ≤ 0.995 — slightly weaker than Z₂ = 0.57 but FITS the budget.\n\n2. The two-unit count (perimeter growth — USER DECISION).\n\n3. Piece 3 far sum: the per-interval machinery — significant Lean work (the interval decomposition of the far sum Σ_{|γ−t|≥1} m·(s₀−s)/((s−ρ)(s₀−ρ)) — needs: termwise bound 4.5√2/(x(1+x)) [x = |t−γ|]; the split into unit intervals on both sides + the negative-γ side via conjugation; per-interval mult-counts from the perimeter (left: ≤ C0hat(t+1) via mono for windows in [2, t]; the LOW windows (< 2): no zeros?? — need the zero-free input |γ| ≥ 14.13... WAIT — do we have that in Lean? The nontrivial zeros: |γ| ≥ 14.13 is the verified RH-to-height-3×10¹²'s weaker cousin — the zero-free region |t| ≤ 14-ish is... RHUpTo is a PERIMETER hypothesis (Platt–Trudgian) — available! hRH : RHUpTo 3×10¹² gives zeros on the line up to that height — but does it give the LOW bound |γ| ≥ 14? RHUpTo says zeros with |γ| ≤ 3×10¹² have re = 1/2 — it does NOT say there are no zeros with |γ| < 14!! The first-zero statement \"no nontrivial zeros with |γ| ≤ 14\" is a separate classical fact (backlund: the zeros start at 14.13). Is it in Zeta23 or our package? lowZeroConst — defined as Σ over lowZeros of mult·(1+1/‖ρ‖) — lowZeros := zeros with ‖ρ‖ ≤ some bound? Let me check the lowZeros def — from session-031: \"lowZeroConst\" built from the finite ball — if it's NONZERO, then the low windows have a count input via lowZeroConst (finite, unconditional). Let me check its definition/value.\n\nHmm — actually for piece 3, the LEFT intervals (t−k−1, t−k] for k = 1..⌈t−2⌉: windows starting at t−k−1 ≥ ... ≥ 2 requires k ≤ t−3; for k ∈ (t−3, t): windows starting in [0, 2) — the zeros there: none (14.13) — OR use lowZeroConst if it covers them. But actually — hmm, simpler: for the left side, intervals with t−k−1 < 2 contain only zeros with γ < 3 < 14.13 — if we have the zero-free fact, those intervals are EMPTY. If we don't, we need SOME count. Let me check what zero-free inputs exist: grep \"14.13\" or \"zeroFree\" in Zeta23/our package.\n\nAlso — wait, hmm: is it even true that the perimeter ZeroCountProp's range (t ≥ 2) suffices for all the left intervals? k from 1 to ~t: window start t−k−1 ranges from t−2 down to ~−1. Windows with start < 2: (t−k−1, t−k] with t−k−1 < 2 ⟺ k > t−3. For t ≥ 10: k ∈ (7, 10): windows like (1,2], (0,1], (−1,0]... zeros with γ ∈ (−1, 3]: NONE (|γ| ≥ 14.13). So need the zero-free fact. If unavailable: these intervals' zeros are part of the |γ| ≤ 3 ball — the lowZeros finset. lowZeroConst is a SUM (mult·(1+1/‖ρ‖)) — from it, the COUNT of lowZeros ≤ lowZeroConst/(1+1/‖ρ‖)-ish... messy. Check if Zeta23 has the 14.13 zero-free region.\n\nLet me grep for it.","signature":""},{"type":"text","text":"Now checking what zero-free/low-zero inputs exist (piece 3's low intervals need them) and the `lowZeros`/`lowZeroConst` definitions."},{"type":"tool_use","id":"Bash_116","name":"Bash","input":{"command":"cd D:/Python/Quantum/research/lean/NguyenRH1/NguyenRH1; grep -n \"def lowZeros\\|def lowZeroConst\\|lowZeros :=\" LiCircleBound.lean | head -4; grep -rn \"14.13\\|14.134\\|zeroFree\\|zero_free\\|no.*zero.*below\\|zeros.*empty\" LiSkeleton.lean LiCircleBound.lean LiDisc.lean | head -8; echo ===Z23===; grep -rn \"14.13\\|14.134\" D:/Python/Quantum/zeta-23-lean/Zeta23/ --include=\"*.lean\" -l | head -3","description":"Find lowZeros definition and zero-free inputs"},"extra_content":null}]