Current task: —

← Session 35 — ii′-6-R: Lagarias 6.1 right-tail re-proof (E-032/D-073)

#2238 assistant 2026-08-26 13:41:08.647 UTC · 2460→4689 tok open ⤢
thinking (10707 chars)
Key findings: - `Real.arcsinh` does NOT exist in this Mathlib version! Need an alternative for the per-zero integral. Let me check if arcsinh exists under another name, or use the crude-split route (2 + log-form FTC) or a direct comparison route. Actually — the cleanest arcsinh-free route for the per-zero integral: ∫_{-5/2}^{3} dσ/√((σ−β)²+δ²) Alternative: bound the integrand pointwise by something with an easy antiderivative. Note 1/√((σ−β)²+δ²) ≤ 1/|σ−β| — diverges at β, no good globally. The split route: ∫_{|σ−β|≤δ} ≤ 2 (length 2δ × 1/δ) and ∫_{|σ−β|>δ} ≤ ∫ dσ/|σ−β| = log pieces via FTC for 1/x. The case analysis: the inner interval [β−δ, β+δ] ∩ [−5/2,3]. To avoid case analysis, I can over-integrate: use Set/interval subset monotonicity: - ∫_{max(−5/2, β−δ)}^{min(3, β+δ)} 1/δ ≤ 2 (length ≤ 2δ). - Outer left: ∫_{-5/2}^{β−δ} 1/|σ−β| — only if β−δ > −5/2, else empty/zero. Cases... Alternatively — a slicker pointwise majorant with a GLOBAL antiderivative: for all σ ∈ ℝ, 1/√((σ−β)²+δ²) ≤ [some h(σ)] where h has an easy global FTC. Consider h(σ) = (|σ−β|+δ)/((σ−β)²+δ²)? At σ=β: δ/δ² = 1/δ ✓ matches; for large |σ−β|: ~ 1/|σ−β| — still log-divergent. Its integral: ∫ (|x|+δ)/(x²+δ²) dx — the |x| makes it piecewise again. What about just doing FTC with the antiderivative F(σ) := Real.log((σ−β) + Real.sqrt((σ−β)²+δ²)) (this IS arcsinh((σ−β)/δ) + log δ up to the constant)! d/dσ log((σ−β)+√((σ−β)²+δ²)) = [1 + (σ−β)/√((σ−β)²+δ²)]/((σ−β)+√((σ−β)²+δ²)) = 1/√((σ−β)²+δ²) ✓ (standard identity: numerator = (√ + (σ−β))/√, divided by ((σ−β)+√) = 1/√). The denominator (σ−β)+√((σ−β)²+δ²) > 0 always (since √((σ−β)²+δ²) > |σ−β| ≥ −(σ−β) — strict because δ > 0 ✓). So F is well-defined and HasDerivAt F (integrand) everywhere — provable via HasDerivAt.log + HasDerivAt.add + Real.hasDerivAt_sqrt + algebra. NO arcsinh needed — build F directly from log + sqrt! Then ∫_{-5/2}^{3} = F(3) − F(−5/2) = log((3−β)+√((3−β)²+δ²)) − log((−5/2−β)+√((β+5/2)²+δ²))... and the bound: F(3) − F(−5/2) = log([ (3−β)+√((3−β)²+δ²) ] / [ (−5/2−β)+√((β+5/2)²+δ²) ]) — hmm the second argument (−5/2−β)+√((β+5/2)²+δ²) is small-but-positive. Let me bound: Numerator: (3−β)+√((3−β)²+δ²) ≤ (3−β) + ((3−β)+δ) = 2(3−β)+δ ≤ 6+δ (√(a²+δ²) ≤ a+δ for a ≥ 0 ✓; 3−β ≤ 3). Denominator: (−5/2−β)+√((β+5/2)²+δ²) ≥ δ (since √((β+5/2)²+δ²) ≥ ... hmm need lower bound: let u = β+5/2 > 0: −u+√(u²+δ²) = δ²/(u+√(u²+δ²)) ≥ δ²/(2u+δ) ≥ δ²/(2·(7/2)+δ) = δ²/(7+δ). So the ratio ≤ (6+δ)·(7+δ)/δ². Integral ≤ log((6+δ)(7+δ)/δ²) = log(6+δ) + log(7+δ) + 2·log(1/δ). With δ ≤ 1: log 7 + log 8 + 2 log(1/δ) = 1.9459+2.0794+2log(1/δ) = 4.026+2log(1/δ) ≤ 2·log(16.5/δ) = 5.606+2log(1/δ) ✓ SLACK 1.58. So per-zero: ∫ ≤ log(6+δ) + log(7+δ) + 2·log(1/δ) ≤ 2·log(16.5/δ), all via elementary log/sqrt algebra. The FTC with F = log(σ−β+√(...)) — one HasDerivAt computation. This is the cleanest. Actually — hmm, wait. Even simpler for the Lean formalization: instead of F via log+sqrt, note I only need an UPPER bound on the integral, and I can use the CRUDE SPLIT with interval subset monotonicity but handle cases via `intervalIntegral.integral_mono_on` over sub-intervals... the case analysis is the annoyance. The F-route has NO cases. Go with F. The HasDerivAt F computation: F(σ) = Real.log(g(σ)), g(σ) = (σ−β) + Real.sqrt((σ−β)²+δ²). - g(σ) > 0: Real.sqrt((σ−β)²+δ²) ≥ |σ−β| > −(σ−β) when... sqrt(x²+δ²) > |x| since x²+δ² > x² and sqrt strict mono: Real.sqrt((σ−β)²) = |σ−β| < sqrt((σ−β)²+δ²) ✓ (Real.sqrt_lt_sqrt (sq_nonneg..) (by nlinarith [δ>0])). So g(σ) > |σ−β| + (σ−β) ≥ 0 ✓ actually g(σ) = (σ−β) + sqrt > (σ−β) + |σ−β| ≥ 0 ✓ and strict: (σ−β)+|σ−β| ≥ 0 with sqrt > |σ−β| ⟹ g > (σ−β)+|σ−β| ≥ 0 ✓ so g(σ) > 0 ✓. - HasDerivAt g: (hasDerivAt_id.sub const).add (Real.hasDerivAt_sqrt (h : (σ−β)²+δ² ≠ 0) ∘ chain): Real.hasDerivAt_sqrt {x} (hx : x ≠ 0) : HasDerivAt Real.sqrt (1/(2√x)) x — the chain: HasDerivAt (sqrt ∘ h) (h'/(2√(h σ))) σ via HasDerivAt.comp ✓. - Then HasDerivAt.log (g(σ)) (g'(σ)/g(σ)) — Real.hasDerivAt_log (g σ ≠ 0). - Then show g'(σ)/g(σ) = 1/√((σ−β)²+δ²): g'(σ) = 1 + (σ−β)/√((σ−β)²+δ²)·... let me compute: d/dσ sqrt(h) with h = (σ−β)²+δ²: h' = 2(σ−β): deriv = 2(σ−β)/(2√h) = (σ−β)/√h. So g' = 1 + (σ−β)/√h = (√h + (σ−β))/√h = g/√h. So g'/g = 1/√h ✓. field_simp + ring with √h ≠ 0 and g ≠ 0 ✓. Good. The per-zero integral lemma: ```lean theorem integral_inv_sqrt_sq_add_sq_le (β δ : ℝ) (hδ : 0 < δ) : ∫ σ in (-5/2)..3, (Real.sqrt ((σ - β)^2 + δ^2))⁻¹ ≤ Real.log (6 + δ) + Real.log (7 + δ) + 2 * Real.log (1/δ) — hmm, or directly ≤ 2·log(16.5/δ) ``` Wait, but I want the bound in the form ≤ 2·Real.log(16.5/δ). Two steps: (a) the FTC evaluation + numerator/denominator bounds ⟹ ≤ log(6+δ)+log(7+δ)+2·log(1/δ); (b) ≤ 2·log(16.5/δ) for δ ≤ 1 via the certified constants (log 7 ≤ 1.946, log 8 ≤ 2.08, 2·log 16.5 ≥ 5.606 — need log 16.5 ≥ 2.803: 16.5 ≥ e^{2.803} = 16.47 ✓ certified via exp-partial-sums). Hmm — (b) needs log(6+δ) ≤ log 7 (δ ≤ 1 ✓ log mono), log(7+δ) ≤ log 8 ✓, then 1.946+2.08 = 4.026 ≤ 5.606 = 2·2.803. So the per-zero final: ∫ ≤ 2·Real.log(16.5/δ) = 2·(Real.log 16.5 − Real.log δ)... or keep 16.5/δ inside. For the assembly: δ ≥ c = 1/(9·C0hat(√n+2)) ⟹ 16.5/δ ≤ 16.5·9·C0hat(√n+2) ⟹ log(16.5/δ) ≤ log(148.5·C0hat(√n+2)) ✓ log mono. Then per-zero ≤ 2·log(148.5·C0hat(√n+2)), times the mult-sum ≤ Z2hat T: NI = 2·Z2hat(T)·log(148.5·C0hat(√n+2)). Hmm wait — δ := |T−γ|. The integrand 1/√((σ−β)²+(T−γ)²) with (T−γ) possibly negative — δ² = (T−γ)² = |T−γ|² ✓ use δ = |T−γ| and (T−γ)² = δ² via sq_abs. Fine — state the lemma with δ² in the integrand and δ > 0, apply with δ := |T−γ|, rewrite (T−γ)² = |T−γ|² via sq_abs (T−γ). Also need δ ≤ 1: near zeros have |γ−T| < 1 ⟹ δ < 1 ✓ (mem_nearZerosSub). Also β = ρ.re ∈ (0,1) (nontrivial zero) ✓. Now, the mid-horizontal zeta decomposition: logDeriv ζ(σ+iT) = [logDeriv − Σnear] + Σnear. The capstone: ‖logDeriv − Σnear‖ ≤ 10.5·log(|T|+2)+48 (ht : 10 ≤ T, him : s.im = T, hζ). For the integral ∫‖logDeriv‖ ≤ ∫‖Σnear‖ + ∫(10.5 log+48): ‖logDeriv s‖ = ‖(logDeriv s − Σnear) + Σnear‖ ≤ ‖logDeriv s − Σnear‖ + ‖Σnear‖ ≤ (10.5 log(T+2)+48) + ‖Σnear s‖ pointwise ✓. ∫‖Σnear(σ+iT)‖ dσ ≤ ∫ Σ_ρ ‖mult/(s−ρ)‖ dσ = Σ_ρ ∫ mult/‖s−ρ‖ dσ ≤ Σ_ρ mult·[per-zero bound] ≤ (Σ mult)·2·log(16.5/δ_min)... careful: per-zero bound is 2·log(16.5/δ_ρ) with δ_ρ = |T−γ_ρ| ≥ c ⟹ each ≤ 2·log(16.5/c). So Σ_ρ mult·2·log(16.5/c) = 2·log(16.5/c)·Σ mult ≤ 2·log(16.5/c)·Z2hat T ✓. The swap ∫Σ = Σ∫: intervalIntegral.integral_finsetSum (deprecated: integral_finset_sum — use the new name integral_finsetSum) with each term integrable: σ ↦ ‖(mult:ℂ)/(σ+iT−ρ)‖ = mult·(√((σ−β)²+δ²))⁻¹ — continuous (denominator > 0) ⟹ integrable ✓. And ∫‖Σnear‖ ≤ ∫Σ‖·‖: norm of sum ≤ sum of norms pointwise (norm_sum_le) + integral_mono_on ✓. ‖(mult:ℂ)/(s−ρ)‖ = mult/‖s−ρ‖ = mult·(√((σ−β)²+δ²))⁻¹: ‖s−ρ‖ with s = σ+iT: s−ρ = (σ−β) + (T−γ)i: ‖·‖ = √((σ−β)²+(T−γ)²) via Complex.norm_eq_sqrt... `Complex.norm_eq_sqrt_normSq`? or normSq: ‖s−ρ‖² = normSq(s−ρ) = (σ−β)²+(T−γ)² ⟹ ‖s−ρ‖ = sqrt(...) via Complex.normSq_eq_norm_sq + sqrt monotonicity: Real.sqrt (normSq z) = ‖z‖?? there's `Complex.norm_eq_sqrt_normSq`?? hmm — `Complex.norm_apply : ‖z‖ = √(normSq z)`? I recall `Complex.norm_eq_abs` and abs = √normSq: `Complex.abs_apply : Complex.abs z = √(normSq z)` and `Complex.norm_eq_abs`. So ‖z‖ = Real.sqrt (Complex.normSq z) ✓. normSq(s−ρ) = (s.re−ρ.re)²+(s.im−ρ.im)² ✓ simp [Complex.normSq_apply]. OK. The R-part integrability: σ ↦ ‖logDeriv ζ(σ+iT) − Σnear‖ — continuous? logDeriv ζ continuous on the path (ζ ≠ 0 ✓ + differentiable ✓ ⟹ logDeriv continuous where ζ ≠ 0: logDeriv = deriv ζ / ζ — deriv ζ continuous? ζ is differentiable everywhere (except 1) — is deriv riemannZeta continuous? For analyticity: riemannZeta is analytic off {1} — in this Mathlib, differentiability of ζ is via `differentiableAt_riemannZeta` (s ≠ 1); deriv continuity needs C¹-ness: AnalyticAt ⟹ ContDiff? `AnalyticAt.contDiffAt`/`AnalyticOnNhd.contDiffOn` exists (banked from session 037: AnalyticAt.contDiffAt confirmed). ζ analytic off {1} — is there `analyticOnNhd_riemannZeta`? Zeta23 surely has it or Mathlib: `differentiableOn_riemannZeta`... ContDiffOn needs analyticOnNhd. Hmm — alternatively: logDeriv ζ(σ+iT) as a function of σ: use `DifferentiableOn.continuousOn`?? deriv of a differentiable function isn't automatically continuous without C¹. But ζ is analytic ⟹ C^∞. Path: `contDiff_riemannZeta`? There might be `ContDiffAt ℂ n riemannZeta` — session 029 banked "AnalyticAt.comp HOU pin"; session 037 banked "AnalyticAt.contDiffAt" signature confirmed. Is there analyticAt_riemannZeta? In Zeta23 or Mathlib: `analyticAt_riemannZeta`? Hmm — LiSides has Jlag differentiability: Jlag_differentiableAt_dogleg (conditions: s ≠ 1 + ζ s ≠ 0?). Let me check what it uses — it proves DifferentiableAt for Jlag; for CONTINUITY of logDeriv I can use: DifferentiableAt ⟹ ContinuousAt of the FUNCTION logDeriv? No — logDeriv is deriv/ζ; deriv ζ at nearby points — continuity of deriv ζ needs C¹. BUT: I can avoid deriv-continuity entirely: the R-function σ ↦ logDeriv ζ(σ+iT) − Σnear(σ) — hmm. Alternative: prove integrability of σ ↦ ‖logDeriv ζ(σ+iT)‖ and σ ↦ ‖Σnear‖ separately; then ‖logDeriv‖ ≤ ‖R‖ + ‖Σ‖ pointwise... I need ∫‖logDeriv‖ ≤ ∫(‖R‖+‖Σ‖) = ∫‖R‖ + ∫‖Σ‖ — needs ‖logDeriv‖ measurable/integrable + ‖R‖+‖Σ‖ integrable + pointwise ≤. ‖logDeriv‖ integrable: continuous? Same issue. Hmm — but wait: is deriv riemannZeta continuous off 1? Mathlib: riemannZeta is `ContDiff ℂ ∞` off 1? There is `contDiffAt_riemannZeta`?? Let me probe. Actually — Zeta23 surely has the analyticity: completedRiemannZeta analytic, and ζ = Λ/ΓR — analytic off poles. In LiFEntire/LiSides there might be `analyticAt_riemannZeta_of_ne_one` or similar. Probe needed. Also for the LEFT vertical: MZeroProp gives the bound; integrability of t ↦ ‖logDeriv ζ(−5/2+it)‖ — same continuity question. Simplest robust route: prove `ContinuousOn (fun σ => logDeriv riemannZeta (σ + iT))` via: logDeriv ζ z = deriv ζ z / ζ z; on the path ζ ≠ 0 and z ≠ 1; if `ContDiffOn ℂ 1 riemannZeta {z | z ≠ 1}`-ish holds then deriv is continuous. Probe: `contDiffOn_riemannZeta` or via analyticOnNhd: `riemannZeta` analyticOnNhd {1}ᶜ? There IS `analyticOnNhd_riemannZeta`?? In recent Mathlib, `riemannZeta` is differentiable on {1}ᶜ (`differentiableOn_riemannZeta`) — and for analyticity... LiSides.lean has zetaA machinery: zetaA = (w−1)ζ analytic at 1 via removable singularity — the file LiResidue.lean. There might be analyticAt_riemannZeta {s : s ≠ 1} somewhere in the project (LiFEntire's zeta_zero_classification used completedRiemannZeta_eq_zero_iff). Let me grep for analyticAt_riemannZeta / contDiff / Continuous.*logDeriv in the project.
`Real.arcsinh` doesn't exist in this Mathlib — I'll build the antiderivative `F(σ) = log((σ−β) + √((σ−β)²+δ²))` directly (its derivative is exactly `1/√((σ−β)²+δ²)`, no case analysis needed). Also need the continuity of `logDeriv ζ` along the paths for integrability. Checking what analyticity/continuity infrastructure exists.
tool: Bash
input
{
  "command": "cd /d/Python/Quantum && cat > research/lean/NguyenRH1/Scratch.lean <<'EOF'\nimport Mathlib\nimport Zeta23\n\nopen Zeta23 Complex in\nexample : True := by\n  trivial\n\n#check @differentiableAt_riemannZeta\n-- probe analyticity/contdiff of zeta\nopen Complex in\n#check (show True from trivial)\nEOF\ncd research/lean/NguyenRH1 && ~/.elan/bin/lake env lean Scratch.lean 2>&1 | head -20",
  "description": "Probe differentiableAt_riemannZeta signature",
  "timeout": 240000
}
raw content_json (database row)
[{"type":"thinking","thinking":"Key findings:\n- `Real.arcsinh` does NOT exist in this Mathlib version! Need an alternative for the per-zero integral. Let me check if arcsinh exists under another name, or use the crude-split route (2 + log-form FTC) or a direct comparison route.\n\nActually — the cleanest arcsinh-free route for the per-zero integral:\n\n∫_{-5/2}^{3} dσ/√((σ−β)²+δ²)\n\nAlternative: bound the integrand pointwise by something with an easy antiderivative. Note 1/√((σ−β)²+δ²) ≤ 1/|σ−β| — diverges at β, no good globally.\n\nThe split route: ∫_{|σ−β|≤δ} ≤ 2 (length 2δ × 1/δ) and ∫_{|σ−β|>δ} ≤ ∫ dσ/|σ−β| = log pieces via FTC for 1/x. The case analysis: the inner interval [β−δ, β+δ] ∩ [−5/2,3]. To avoid case analysis, I can over-integrate: use Set/interval subset monotonicity:\n- ∫_{max(−5/2, β−δ)}^{min(3, β+δ)} 1/δ ≤ 2 (length ≤ 2δ).\n- Outer left: ∫_{-5/2}^{β−δ} 1/|σ−β| — only if β−δ > −5/2, else empty/zero. Cases...\n\nAlternatively — a slicker pointwise majorant with a GLOBAL antiderivative: for all σ ∈ ℝ,\n1/√((σ−β)²+δ²) ≤ [some h(σ)] where h has an easy global FTC. Consider h(σ) = (|σ−β|+δ)/((σ−β)²+δ²)? At σ=β: δ/δ² = 1/δ ✓ matches; for large |σ−β|: ~ 1/|σ−β| — still log-divergent. Its integral: ∫ (|x|+δ)/(x²+δ²) dx — the |x| makes it piecewise again.\n\nWhat about just doing FTC with the antiderivative F(σ) := Real.log((σ−β) + Real.sqrt((σ−β)²+δ²)) (this IS arcsinh((σ−β)/δ) + log δ up to the constant)! d/dσ log((σ−β)+√((σ−β)²+δ²)) = [1 + (σ−β)/√((σ−β)²+δ²)]/((σ−β)+√((σ−β)²+δ²)) = 1/√((σ−β)²+δ²) ✓ (standard identity: numerator = (√ + (σ−β))/√, divided by ((σ−β)+√) = 1/√). The denominator (σ−β)+√((σ−β)²+δ²) > 0 always (since √((σ−β)²+δ²) > |σ−β| ≥ −(σ−β) — strict because δ > 0 ✓). So F is well-defined and HasDerivAt F (integrand) everywhere — provable via HasDerivAt.log + HasDerivAt.add + Real.hasDerivAt_sqrt + algebra. NO arcsinh needed — build F directly from log + sqrt!\n\nThen ∫_{-5/2}^{3} = F(3) − F(−5/2) = log((3−β)+√((3−β)²+δ²)) − log((−5/2−β)+√((β+5/2)²+δ²))... and the bound: F(3) − F(−5/2) = log([ (3−β)+√((3−β)²+δ²) ] / [ (−5/2−β)+√((β+5/2)²+δ²) ]) — hmm the second argument (−5/2−β)+√((β+5/2)²+δ²) is small-but-positive. Let me bound:\nNumerator: (3−β)+√((3−β)²+δ²) ≤ (3−β) + ((3−β)+δ) = 2(3−β)+δ ≤ 6+δ (√(a²+δ²) ≤ a+δ for a ≥ 0 ✓; 3−β ≤ 3).\nDenominator: (−5/2−β)+√((β+5/2)²+δ²) ≥ δ (since √((β+5/2)²+δ²) ≥ ... hmm need lower bound: let u = β+5/2 > 0: −u+√(u²+δ²) = δ²/(u+√(u²+δ²)) ≥ δ²/(2u+δ) ≥ δ²/(2·(7/2)+δ) = δ²/(7+δ). So the ratio ≤ (6+δ)·(7+δ)/δ². Integral ≤ log((6+δ)(7+δ)/δ²) = log(6+δ) + log(7+δ) + 2·log(1/δ). With δ ≤ 1: log 7 + log 8 + 2 log(1/δ) = 1.9459+2.0794+2log(1/δ) = 4.026+2log(1/δ) ≤ 2·log(16.5/δ) = 5.606+2log(1/δ) ✓ SLACK 1.58.\n\nSo per-zero: ∫ ≤ log(6+δ) + log(7+δ) + 2·log(1/δ) ≤ 2·log(16.5/δ), all via elementary log/sqrt algebra. The FTC with F = log(σ−β+√(...)) — one HasDerivAt computation. This is the cleanest.\n\nActually — hmm, wait. Even simpler for the Lean formalization: instead of F via log+sqrt, note I only need an UPPER bound on the integral, and I can use the CRUDE SPLIT with interval subset monotonicity but handle cases via `intervalIntegral.integral_mono_on` over sub-intervals... the case analysis is the annoyance. The F-route has NO cases. Go with F.\n\nThe HasDerivAt F computation: F(σ) = Real.log(g(σ)), g(σ) = (σ−β) + Real.sqrt((σ−β)²+δ²).\n- g(σ) > 0: Real.sqrt((σ−β)²+δ²) ≥ |σ−β| > −(σ−β) when... sqrt(x²+δ²) > |x| since x²+δ² > x² and sqrt strict mono: Real.sqrt((σ−β)²) = |σ−β| < sqrt((σ−β)²+δ²) ✓ (Real.sqrt_lt_sqrt (sq_nonneg..) (by nlinarith [δ>0])). So g(σ) > |σ−β| + (σ−β) ≥ 0 ✓ actually g(σ) = (σ−β) + sqrt > (σ−β) + |σ−β| ≥ 0 ✓ and strict: (σ−β)+|σ−β| ≥ 0 with sqrt > |σ−β| ⟹ g > (σ−β)+|σ−β| ≥ 0 ✓ so g(σ) > 0 ✓.\n- HasDerivAt g: (hasDerivAt_id.sub const).add (Real.hasDerivAt_sqrt (h : (σ−β)²+δ² ≠ 0) ∘ chain): Real.hasDerivAt_sqrt {x} (hx : x ≠ 0) : HasDerivAt Real.sqrt (1/(2√x)) x — the chain: HasDerivAt (sqrt ∘ h) (h'/(2√(h σ))) σ via HasDerivAt.comp ✓.\n- Then HasDerivAt.log (g(σ)) (g'(σ)/g(σ)) — Real.hasDerivAt_log (g σ ≠ 0).\n- Then show g'(σ)/g(σ) = 1/√((σ−β)²+δ²): g'(σ) = 1 + (σ−β)/√((σ−β)²+δ²)·... let me compute: d/dσ sqrt(h) with h = (σ−β)²+δ²: h' = 2(σ−β): deriv = 2(σ−β)/(2√h) = (σ−β)/√h. So g' = 1 + (σ−β)/√h = (√h + (σ−β))/√h = g/√h. So g'/g = 1/√h ✓. field_simp + ring with √h ≠ 0 and g ≠ 0 ✓.\n\nGood. The per-zero integral lemma:\n\n```lean\ntheorem integral_inv_sqrt_sq_add_sq_le (β δ : ℝ) (hδ : 0 < δ) :\n    ∫ σ in (-5/2)..3, (Real.sqrt ((σ - β)^2 + δ^2))⁻¹ ≤\n      Real.log (6 + δ) + Real.log (7 + δ) + 2 * Real.log (1/δ) — hmm, or directly ≤ 2·log(16.5/δ)\n```\n\nWait, but I want the bound in the form ≤ 2·Real.log(16.5/δ). Two steps: (a) the FTC evaluation + numerator/denominator bounds ⟹ ≤ log(6+δ)+log(7+δ)+2·log(1/δ); (b) ≤ 2·log(16.5/δ) for δ ≤ 1 via the certified constants (log 7 ≤ 1.946, log 8 ≤ 2.08, 2·log 16.5 ≥ 5.606 — need log 16.5 ≥ 2.803: 16.5 ≥ e^{2.803} = 16.47 ✓ certified via exp-partial-sums).\n\nHmm — (b) needs log(6+δ) ≤ log 7 (δ ≤ 1 ✓ log mono), log(7+δ) ≤ log 8 ✓, then 1.946+2.08 = 4.026 ≤ 5.606 = 2·2.803. So the per-zero final: ∫ ≤ 2·Real.log(16.5/δ) = 2·(Real.log 16.5 − Real.log δ)... or keep 16.5/δ inside. For the assembly: δ ≥ c = 1/(9·C0hat(√n+2)) ⟹ 16.5/δ ≤ 16.5·9·C0hat(√n+2) ⟹ log(16.5/δ) ≤ log(148.5·C0hat(√n+2)) ✓ log mono.\n\nThen per-zero ≤ 2·log(148.5·C0hat(√n+2)), times the mult-sum ≤ Z2hat T: NI = 2·Z2hat(T)·log(148.5·C0hat(√n+2)).\n\nHmm wait — δ := |T−γ|. The integrand 1/√((σ−β)²+(T−γ)²) with (T−γ) possibly negative — δ² = (T−γ)² = |T−γ|² ✓ use δ = |T−γ| and (T−γ)² = δ² via sq_abs. Fine — state the lemma with δ² in the integrand and δ > 0, apply with δ := |T−γ|, rewrite (T−γ)² = |T−γ|² via sq_abs (T−γ).\n\nAlso need δ ≤ 1: near zeros have |γ−T| < 1 ⟹ δ < 1 ✓ (mem_nearZerosSub).\n\nAlso β = ρ.re ∈ (0,1) (nontrivial zero) ✓.\n\nNow, the mid-horizontal zeta decomposition: logDeriv ζ(σ+iT) = [logDeriv − Σnear] + Σnear. The capstone: ‖logDeriv − Σnear‖ ≤ 10.5·log(|T|+2)+48 (ht : 10 ≤ T, him : s.im = T, hζ). For the integral ∫‖logDeriv‖ ≤ ∫‖Σnear‖ + ∫(10.5 log+48):\n‖logDeriv s‖ = ‖(logDeriv s − Σnear) + Σnear‖ ≤ ‖logDeriv s − Σnear‖ + ‖Σnear‖ ≤ (10.5 log(T+2)+48) + ‖Σnear s‖ pointwise ✓.\n\n∫‖Σnear(σ+iT)‖ dσ ≤ ∫ Σ_ρ ‖mult/(s−ρ)‖ dσ = Σ_ρ ∫ mult/‖s−ρ‖ dσ ≤ Σ_ρ mult·[per-zero bound] ≤ (Σ mult)·2·log(16.5/δ_min)... careful: per-zero bound is 2·log(16.5/δ_ρ) with δ_ρ = |T−γ_ρ| ≥ c ⟹ each ≤ 2·log(16.5/c). So Σ_ρ mult·2·log(16.5/c) = 2·log(16.5/c)·Σ mult ≤ 2·log(16.5/c)·Z2hat T ✓.\n\nThe swap ∫Σ = Σ∫: intervalIntegral.integral_finsetSum (deprecated: integral_finset_sum — use the new name integral_finsetSum) with each term integrable: σ ↦ ‖(mult:ℂ)/(σ+iT−ρ)‖ = mult·(√((σ−β)²+δ²))⁻¹ — continuous (denominator > 0) ⟹ integrable ✓.\n\nAnd ∫‖Σnear‖ ≤ ∫Σ‖·‖: norm of sum ≤ sum of norms pointwise (norm_sum_le) + integral_mono_on ✓.\n\n‖(mult:ℂ)/(s−ρ)‖ = mult/‖s−ρ‖ = mult·(√((σ−β)²+δ²))⁻¹: ‖s−ρ‖ with s = σ+iT: s−ρ = (σ−β) + (T−γ)i: ‖·‖ = √((σ−β)²+(T−γ)²) via Complex.norm_eq_sqrt... `Complex.norm_eq_sqrt_normSq`? or normSq: ‖s−ρ‖² = normSq(s−ρ) = (σ−β)²+(T−γ)² ⟹ ‖s−ρ‖ = sqrt(...) via Complex.normSq_eq_norm_sq + sqrt monotonicity: Real.sqrt (normSq z) = ‖z‖?? there's `Complex.norm_eq_sqrt_normSq`?? hmm — `Complex.norm_apply : ‖z‖ = √(normSq z)`? I recall `Complex.norm_eq_abs` and abs = √normSq: `Complex.abs_apply : Complex.abs z = √(normSq z)` and `Complex.norm_eq_abs`. So ‖z‖ = Real.sqrt (Complex.normSq z) ✓. normSq(s−ρ) = (s.re−ρ.re)²+(s.im−ρ.im)² ✓ simp [Complex.normSq_apply].\n\nOK. The R-part integrability: σ ↦ ‖logDeriv ζ(σ+iT) − Σnear‖ — continuous? logDeriv ζ continuous on the path (ζ ≠ 0 ✓ + differentiable ✓ ⟹ logDeriv continuous where ζ ≠ 0: logDeriv = deriv ζ / ζ — deriv ζ continuous? ζ is differentiable everywhere (except 1) — is deriv riemannZeta continuous? For analyticity: riemannZeta is analytic off {1} — in this Mathlib, differentiability of ζ is via `differentiableAt_riemannZeta` (s ≠ 1); deriv continuity needs C¹-ness: AnalyticAt ⟹ ContDiff? `AnalyticAt.contDiffAt`/`AnalyticOnNhd.contDiffOn` exists (banked from session 037: AnalyticAt.contDiffAt confirmed). ζ analytic off {1} — is there `analyticOnNhd_riemannZeta`? Zeta23 surely has it or Mathlib: `differentiableOn_riemannZeta`... ContDiffOn needs analyticOnNhd. Hmm — alternatively: logDeriv ζ(σ+iT) as a function of σ: use `DifferentiableOn.continuousOn`?? deriv of a differentiable function isn't automatically continuous without C¹. But ζ is analytic ⟹ C^∞. Path: `contDiff_riemannZeta`? There might be `ContDiffAt ℂ n riemannZeta` — session 029 banked \"AnalyticAt.comp HOU pin\"; session 037 banked \"AnalyticAt.contDiffAt\" signature confirmed. Is there analyticAt_riemannZeta? In Zeta23 or Mathlib: `analyticAt_riemannZeta`? Hmm — LiSides has Jlag differentiability: Jlag_differentiableAt_dogleg (conditions: s ≠ 1 + ζ s ≠ 0?). Let me check what it uses — it proves DifferentiableAt for Jlag; for CONTINUITY of logDeriv I can use: DifferentiableAt ⟹ ContinuousAt of the FUNCTION logDeriv? No — logDeriv is deriv/ζ; deriv ζ at nearby points — continuity of deriv ζ needs C¹. BUT: I can avoid deriv-continuity entirely: the R-function σ ↦ logDeriv ζ(σ+iT) − Σnear(σ) — hmm.\n\nAlternative: prove integrability of σ ↦ ‖logDeriv ζ(σ+iT)‖ and σ ↦ ‖Σnear‖ separately; then ‖logDeriv‖ ≤ ‖R‖ + ‖Σ‖ pointwise... I need ∫‖logDeriv‖ ≤ ∫(‖R‖+‖Σ‖) = ∫‖R‖ + ∫‖Σ‖ — needs ‖logDeriv‖ measurable/integrable + ‖R‖+‖Σ‖ integrable + pointwise ≤. ‖logDeriv‖ integrable: continuous? Same issue.\n\nHmm — but wait: is deriv riemannZeta continuous off 1? Mathlib: riemannZeta is `ContDiff ℂ ∞` off 1? There is `contDiffAt_riemannZeta`?? Let me probe. Actually — Zeta23 surely has the analyticity: completedRiemannZeta analytic, and ζ = Λ/ΓR — analytic off poles. In LiFEntire/LiSides there might be `analyticAt_riemannZeta_of_ne_one` or similar. Probe needed.\n\nAlso for the LEFT vertical: MZeroProp gives the bound; integrability of t ↦ ‖logDeriv ζ(−5/2+it)‖ — same continuity question.\n\nSimplest robust route: prove `ContinuousOn (fun σ => logDeriv riemannZeta (σ + iT))` via: logDeriv ζ z = deriv ζ z / ζ z; on the path ζ ≠ 0 and z ≠ 1; if `ContDiffOn ℂ 1 riemannZeta {z | z ≠ 1}`-ish holds then deriv is continuous. Probe: `contDiffOn_riemannZeta` or via analyticOnNhd: `riemannZeta` analyticOnNhd {1}ᶜ? There IS `analyticOnNhd_riemannZeta`?? In recent Mathlib, `riemannZeta` is differentiable on {1}ᶜ (`differentiableOn_riemannZeta`) — and for analyticity... LiSides.lean has zetaA machinery: zetaA = (w−1)ζ analytic at 1 via removable singularity — the file LiResidue.lean. There might be analyticAt_riemannZeta {s : s ≠ 1} somewhere in the project (LiFEntire's zeta_zero_classification used completedRiemannZeta_eq_zero_iff). Let me grep for analyticAt_riemannZeta / contDiff / Continuous.*logDeriv in the project.","signature":""},{"type":"text","text":"`Real.arcsinh` doesn't exist in this Mathlib — I'll build the antiderivative `F(σ) = log((σ−β) + √((σ−β)²+δ²))` directly (its derivative is exactly `1/√((σ−β)²+δ²)`, no case analysis needed). Also need the continuity of `logDeriv ζ` along the paths for integrability. Checking what analyticity/continuity infrastructure exists."},{"type":"tool_use","id":"Bash_42","name":"Bash","input":{"command":"cd /d/Python/Quantum && cat > research/lean/NguyenRH1/Scratch.lean <<'EOF'\nimport Mathlib\nimport Zeta23\n\nopen Zeta23 Complex in\nexample : True := by\n  trivial\n\n#check @differentiableAt_riemannZeta\n-- probe analyticity/contdiff of zeta\nopen Complex in\n#check (show True from trivial)\nEOF\ncd research/lean/NguyenRH1 && ~/.elan/bin/lake env lean Scratch.lean 2>&1 | head -20","description":"Probe differentiableAt_riemannZeta signature","timeout":240000},"extra_content":null}]