← Session 24 — ii′-2…4: swaps, (4.10) design, contour + website roadmap fixes
thinking (4346 chars)
The template is clear: `hasDerivAt_integral_of_dominated_loc_of_deriv_le` does the heavy lifting for parameter-integral differentiability, with the bound function `|x^(−s.re/2−1)|·|log x|` integrable via `integrable_log_over_pow`. For the B₂ version, the same structure works with one more power of decay (x^{−s−2}), allowing re s > −1. The bound function: |x^{−σ/2-ish...}| — for the B₂ integral at s with re s > −1: F'(z,x) = B̃₂(x)·x^{−z−2}·(−log x); on ball(s, ε) with ε = (σ+1)/2: re(−z−2) ≤ −(σ−ε)−2: |x^{−z−2}| = x^{−re(z)−2} ≤ x^{−(σ−ε)−2} = x^{−σ+ε−2}; with ε = (σ+1)/2: exponent −σ−2+(σ+1)/2 = −(σ+3)/2 hmm: −σ − 2 + (σ+1)/2 = (−2σ−4+σ+1)/2 = −(σ+3)/2; σ > −1 ⟹ (σ+3)/2 > 1 ✓ so bound = x^{−(σ+3)/2}·|log x| integrable ✓ via integrable_log_over_pow (r with r < −1: here −(σ+3)/2 < −1 ✓).
Good — the B₂ hasDerivAt is a near-clone of this proof with ε = (s.re+1)/2 and bound x^{−(s.re+3)/2}|log x|. The B̃₂ measurability: B̃₂ is continuous ⟹ measurable ✓ (even easier than B̃₁'s floor measurability).
Now — let me plan the whole ii′-5b file. New file `LiZetaBound.lean`? Per D-064: LiRBound.lean is the planned R-bound module. ii′-5b content (the |ζ| bound) could go in LiRBound.lean as its first piece. Let me structure LiRBound.lean:
§1: B̃₂ (b2Fun) — def via integral, continuity, values at integers, periodicity, bound ≤ 1/8, FTC derivative.
§2: The IBP identity for re s > 0: ∫₁^∞ B̃₁ x^{−s−1} = (s+1)∫₁^∞ B̃₂ x^{−s−2}.
§3: hasDerivAt_b2Integral (re s > −1) + integrability.
§4: The extended representation: zeta_eq_level2 (re s > −1, s ≠ 1).
§5: The disc bound: ‖ζ s‖ ≤ C(1+|t|)² for σ ≥ −1/2, |t| ≥ 10 (constants explicit).
Hmm wait — issue with §2's IBP: the per-interval IBP on [k, k+1] with B̃₂ not differentiable at endpoints... Let me think again about what IBP lemma to use. Mathlib options:
- `intervalIntegral.integral_deriv_mul_eq_sub (hu : ∀ x ∈ uIcc a b, HasDerivAt u (u' x) x) (hv : ...) (hu'int : IntervalIntegrable u' ...) (hv'int : ...) : ∫ u * v' = u b * v b − u a * v a − ∫ u' * v` — needs HasDerivAt at every point of uIcc — B̃₂ fails at integers.
- `intervalIntegral.integral_deriv_mul_eq_sub_of_hasDerivWithinAt`? Let me check: there are variants `integral_deriv_mul_eq_sub_of_hasDerivAt`?? hmm. Actually I recall `intervalIntegral.integral_deriv_mul_eq_sub_of_hasDerivWithinAt` exists?? Not sure. Let me search for the of_hasDerivWithinAt variant.
Actually — simpler idea: AVOID the IBP on [k,k+1] for B̃₂. Instead, note that on each interval (k, k+1), B̃₁(x) = x − k − 1/2 and we can compute the integral directly! ∫₁^N B̃₁(x)x^{−s−1}dx = Σ_{k=1}^{N−1} ∫ₖ^{k+1} (x−k−1/2)x^{−s−1}dx — each integral is elementary (polynomial × power): ∫(x−k−1/2)x^{−s−1} = ∫x^{−s} − (k+1/2)x^{−s−1} = x^{1−s}/(1−s) − (k+1/2)x^{−s}/(−s)... = x^{−s}/... evaluate: ∫ x^{−s}dx = x^{1−s}/(1−s) (s ≠ 1); ∫ x^{−s−1}dx = x^{−s}/(−s) (s ≠ 0). So the per-interval piece is EXPLICIT. Then telescope Σ over k and take N → ∞. Hmm — that's the "manual EM" route. The sum Σ_{k=1}^{N−1}[x^{1−s}/(1−s) − (k+1/2)x^{−s}/(−s)... wait sign: ∫ₖ^{k+1} x^{−s}dx = ((k+1)^{1−s} − k^{1−s})/(1−s); ∫ₖ^{k+1}x^{−s−1}dx = ((k+1)^{−s} − k^{−s})/(−s) = (k^{−s} − (k+1)^{−s})/s. So ∫ₖ^{k+1}B̃₁x^{−s−1} = ((k+1)^{1−s}−k^{1−s})/(1−s) − (k+1/2)(k^{−s}−(k+1)^{−s})/s.
The telescope of these against the (s+1)∫B̃₂ identity is then an algebraic identity per interval. Hmm — this is essentially redoing EM by hand; the B̃₂ IBP is cleaner conceptually but has the endpoint-differentiability friction.
Alternative: use the measure-theoretic IBP: `intervalIntegral.integral_mul_deriv_eq_deriv_mul`? That one: ∫ (u·v') = u(b)v(b) − u(a)v(a) − ∫ u'·v with conditions IntervalIntegrable + HasDerivAt everywhere? The general Sobolev IBP: Zeta23 HAS Sobolev.lean! Let me check what's in it — maybe a strong IBP.
Hmm, actually — let me look at how Zeta23's `integral_deriv_mul_add_const` (EulerMaclaurin.lean:41) is stated — it's their IBP helper used for the B₁ EM formula. If it requires HasDerivAt everywhere on uIcc, then for the B₂ step I can use the SAME trick they used for B₁: they handled B̃₁'s discontinuity?? B̃₁ itself is discontinuous at integers — their EM formula `sum_eq_integral_add_integral_deriv` handles it somehow — the formula has the floor function inside the integral directly. Let me read EulerMaclaurin.lean's main theorem and the IBP helper.
The template (`hasDerivAt_integral_of_dominated_loc_of_deriv_le` + `integrable_log_over_pow`) is directly reusable. Now checking Zeta23's IBP helper conditions for the B̃₂ step.
tool: Bash
input
{
"command": "cd D:/Python/Quantum/zeta-23-lean && sed -n '41,120p' Zeta23/FromPNTPlus/EulerMaclaurin.lean",
"description": "Read EulerMaclaurin IBP helpers"
}
raw content_json (database row)
[{"type":"thinking","thinking":"The template is clear: `hasDerivAt_integral_of_dominated_loc_of_deriv_le` does the heavy lifting for parameter-integral differentiability, with the bound function `|x^(−s.re/2−1)|·|log x|` integrable via `integrable_log_over_pow`. For the B₂ version, the same structure works with one more power of decay (x^{−s−2}), allowing re s > −1. The bound function: |x^{−σ/2-ish...}| — for the B₂ integral at s with re s > −1: F'(z,x) = B̃₂(x)·x^{−z−2}·(−log x); on ball(s, ε) with ε = (σ+1)/2: re(−z−2) ≤ −(σ−ε)−2: |x^{−z−2}| = x^{−re(z)−2} ≤ x^{−(σ−ε)−2} = x^{−σ+ε−2}; with ε = (σ+1)/2: exponent −σ−2+(σ+1)/2 = −(σ+3)/2 hmm: −σ − 2 + (σ+1)/2 = (−2σ−4+σ+1)/2 = −(σ+3)/2; σ > −1 ⟹ (σ+3)/2 > 1 ✓ so bound = x^{−(σ+3)/2}·|log x| integrable ✓ via integrable_log_over_pow (r with r < −1: here −(σ+3)/2 < −1 ✓).\n\nGood — the B₂ hasDerivAt is a near-clone of this proof with ε = (s.re+1)/2 and bound x^{−(s.re+3)/2}|log x|. The B̃₂ measurability: B̃₂ is continuous ⟹ measurable ✓ (even easier than B̃₁'s floor measurability).\n\nNow — let me plan the whole ii′-5b file. New file `LiZetaBound.lean`? Per D-064: LiRBound.lean is the planned R-bound module. ii′-5b content (the |ζ| bound) could go in LiRBound.lean as its first piece. Let me structure LiRBound.lean:\n\n§1: B̃₂ (b2Fun) — def via integral, continuity, values at integers, periodicity, bound ≤ 1/8, FTC derivative.\n§2: The IBP identity for re s > 0: ∫₁^∞ B̃₁ x^{−s−1} = (s+1)∫₁^∞ B̃₂ x^{−s−2}.\n§3: hasDerivAt_b2Integral (re s > −1) + integrability.\n§4: The extended representation: zeta_eq_level2 (re s > −1, s ≠ 1).\n§5: The disc bound: ‖ζ s‖ ≤ C(1+|t|)² for σ ≥ −1/2, |t| ≥ 10 (constants explicit).\n\nHmm wait — issue with §2's IBP: the per-interval IBP on [k, k+1] with B̃₂ not differentiable at endpoints... Let me think again about what IBP lemma to use. Mathlib options:\n- `intervalIntegral.integral_deriv_mul_eq_sub (hu : ∀ x ∈ uIcc a b, HasDerivAt u (u' x) x) (hv : ...) (hu'int : IntervalIntegrable u' ...) (hv'int : ...) : ∫ u * v' = u b * v b − u a * v a − ∫ u' * v` — needs HasDerivAt at every point of uIcc — B̃₂ fails at integers.\n- `intervalIntegral.integral_deriv_mul_eq_sub_of_hasDerivWithinAt`? Let me check: there are variants `integral_deriv_mul_eq_sub_of_hasDerivAt`?? hmm. Actually I recall `intervalIntegral.integral_deriv_mul_eq_sub_of_hasDerivWithinAt` exists?? Not sure. Let me search for the of_hasDerivWithinAt variant.\n\nActually — simpler idea: AVOID the IBP on [k,k+1] for B̃₂. Instead, note that on each interval (k, k+1), B̃₁(x) = x − k − 1/2 and we can compute the integral directly! ∫₁^N B̃₁(x)x^{−s−1}dx = Σ_{k=1}^{N−1} ∫ₖ^{k+1} (x−k−1/2)x^{−s−1}dx — each integral is elementary (polynomial × power): ∫(x−k−1/2)x^{−s−1} = ∫x^{−s} − (k+1/2)x^{−s−1} = x^{1−s}/(1−s) − (k+1/2)x^{−s}/(−s)... = x^{−s}/... evaluate: ∫ x^{−s}dx = x^{1−s}/(1−s) (s ≠ 1); ∫ x^{−s−1}dx = x^{−s}/(−s) (s ≠ 0). So the per-interval piece is EXPLICIT. Then telescope Σ over k and take N → ∞. Hmm — that's the \"manual EM\" route. The sum Σ_{k=1}^{N−1}[x^{1−s}/(1−s) − (k+1/2)x^{−s}/(−s)... wait sign: ∫ₖ^{k+1} x^{−s}dx = ((k+1)^{1−s} − k^{1−s})/(1−s); ∫ₖ^{k+1}x^{−s−1}dx = ((k+1)^{−s} − k^{−s})/(−s) = (k^{−s} − (k+1)^{−s})/s. So ∫ₖ^{k+1}B̃₁x^{−s−1} = ((k+1)^{1−s}−k^{1−s})/(1−s) − (k+1/2)(k^{−s}−(k+1)^{−s})/s.\n\nThe telescope of these against the (s+1)∫B̃₂ identity is then an algebraic identity per interval. Hmm — this is essentially redoing EM by hand; the B̃₂ IBP is cleaner conceptually but has the endpoint-differentiability friction.\n\nAlternative: use the measure-theoretic IBP: `intervalIntegral.integral_mul_deriv_eq_deriv_mul`? That one: ∫ (u·v') = u(b)v(b) − u(a)v(a) − ∫ u'·v with conditions IntervalIntegrable + HasDerivAt everywhere? The general Sobolev IBP: Zeta23 HAS Sobolev.lean! Let me check what's in it — maybe a strong IBP.\n\nHmm, actually — let me look at how Zeta23's `integral_deriv_mul_add_const` (EulerMaclaurin.lean:41) is stated — it's their IBP helper used for the B₁ EM formula. If it requires HasDerivAt everywhere on uIcc, then for the B₂ step I can use the SAME trick they used for B₁: they handled B̃₁'s discontinuity?? B̃₁ itself is discontinuous at integers — their EM formula `sum_eq_integral_add_integral_deriv` handles it somehow — the formula has the floor function inside the integral directly. Let me read EulerMaclaurin.lean's main theorem and the IBP helper.","signature":""},{"type":"text","text":"The template (`hasDerivAt_integral_of_dominated_loc_of_deriv_le` + `integrable_log_over_pow`) is directly reusable. Now checking Zeta23's IBP helper conditions for the B̃₂ step."},{"type":"tool_use","id":"Bash_179","name":"Bash","input":{"command":"cd D:/Python/Quantum/zeta-23-lean && sed -n '41,120p' Zeta23/FromPNTPlus/EulerMaclaurin.lean","description":"Read EulerMaclaurin IBP helpers"},"extra_content":null}]