← Session 24 — ii′-2…4: swaps, (4.10) design, contour + website roadmap fixes
thinking (3587 chars)
§2's unit IBP compiles. Now add the N-sum and the Ioi limit — completing the level-2 identity on re s > 0. Then §3 (hasDerivAt), §4 (identity extension), §5 (disc bound).
Let me write the N-sum lemma + the Ioi identity:
```lean
/-- The IBP identity summed to [1, N] (N ≥ 1 natural). -/
theorem intervalIntegral_b1_cpow_nat (N : ℕ) (hN : 1 ≤ N) (s : ℂ) (hs : s ≠ -1) :
∫ x in (1:ℝ)..(N : ℝ), (B1 x : ℂ) * (x : ℂ) ^ (-s - 1)
= (s + 1) * ∫ x in (1:ℝ)..(N : ℝ), (b2Fun x : ℂ) * (x : ℂ) ^ (-s - 2) := by
induction N with
| zero => exact absurd hN (by norm_num)
| succ N ih =>
rcases Nat.eq_zero_or_pos N with hN0 | hNpos
· subst hN0
norm_num -- ∫ 1..1 = 0 both sides
· have h1 : IntervalIntegrable (fun x : ℝ => (B1 x : ℂ) * (x : ℂ) ^ (-s - 1)) volume 1 (N : ℝ) := ...
```
Hmm the integrabilities again for the split. For ∫ 1..N and ∫ N..N+1 of B1·x^{−s−1}: IntervalIntegrable: B̃₁ integrable (hu'int-style) × v continuous: `IntervalIntegrable.mul_continuousOn`? — earlier their code: `IntervalIntegrable.continuousOn_mul ?_ h_cont` : IntervalIntegrable f → ContinuousOn g → IntervalIntegrable (f * g)? Let me check the exact name: from intervalIntegrable_deriv_mul_B1: `IntervalIntegrable.continuousOn_mul ?_ h_cont` — so IntervalIntegrable.continuousOn_mul : IntervalIntegrable f volume a b → ContinuousOn g [[a,b]] → IntervalIntegrable (fun x => f x * g x)?? or (g * f)? Their use: deriv f * B1 with h_cont : ContinuousOn (deriv f) — so IntervalIntegrable.continuousOn_mul (hB1 : IntervalIntegrable B1...) (hcont : ContinuousOn (deriv f)) gives deriv f * B1 — hmm the ORDER: result was (deriv f t * B1 t) — so continuousOn_mul's f is B1?? The name suggests IntervalIntegrable.continuousOn_mul (hf : IntervalIntegrable f) (hg : ContinuousOn g) : IntervalIntegrable (g * f)? or (f * g)? From their result (deriv f * B1) with h_cont : ContinuousOn (deriv f): the ContinuousOn function appears FIRST in the product: so continuousOn_mul : IntervalIntegrable g → ContinuousOn f → IntervalIntegrable (f * g)?? I.e. `IntervalIntegrable.continuousOn_mul (hg : IntervalIntegrable g) (hf : ContinuousOn f) : IntervalIntegrable (fun x => f x * g x)`?? Ugh — just try both orders at compile, or check signature now. Let me grep it.
Actually — simpler for the [1, N] split: I don't need a general interval-add lemma; induct with the unit step and use `intervalIntegral.integral_add_adjacent_intervals`? Check its name/form: it's `intervalIntegral.integral_add_adjacent_intervals (hab : IntervalIntegrable f volume a b) (hbc : IntervalIntegrable f volume b c) : (∫ x in a..b, f x) + (∫ x in b..c, f x) = ∫ x in a..c, f x`? I believe the name is right. For the inductive step: ∫₁^(N+1) = ∫₁^N + ∫_N^(N+1) — via (integral_add_adjacent_intervals h1 h2).symm? direction: h : ∫a..b + ∫b..c = ∫a..c: I want to rewrite ∫₁^(N+1) as the sum: rw [← integral_add_adjacent_intervals h1 h2] ✓.
The integrabilities:
- f₁ = ↑B̃₁·x^{−s−1} on 1..N: hu'int-style (B̃₁ bounded-ae-measurable) × cpow continuous: product-integrable: IntervalIntegrable.continuousOn_mul or mul_continuousOn — the two variants: `IntervalIntegrable.continuousOn_mul (hf : IntervalIntegrable f ...) (hg : ContinuousOn g ...) : IntervalIntegrable (f * g)...` and `.mul_continuousOn` the other order. I'll try continuousOn_mul first with f = B̃₁-factor... our product is B̃₁ * cpow: f := ↑B1 (IntervalIntegrable via the bounded lemma), g := cpow (ContinuousOn) — need name order (f*g) vs (g*f) — commutative so either works via mul_comm congr.
Let me check signatures quickly then write the whole remainder.
Unit IBP green. Checking the interval-add and product-integrability names before writing the N-sum + limit.
tool: Bash
input
{
"command": "cd D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib && grep -rn \"theorem integral_add_adjacent_intervals\\|lemma integral_add_adjacent_intervals\" Mathlib/MeasureTheory/Integral/IntervalIntegral/*.lean | head -2; grep -rn \"theorem IntervalIntegrable.continuousOn_mul\\|theorem IntervalIntegrable.mul_continuousOn\" Mathlib/MeasureTheory/Integral/ -r --include=*.lean | head -4; grep -rn \"theorem integrableOn_Ioi_rpow_of_lt\\|lemma integrableOn_Ioi_rpow_of_lt\" Mathlib/ -r --include=*.lean | head -2",
"description": "Check interval-add, product-integrability, rpow-integrability names"
}
raw content_json (database row)
[{"type":"thinking","thinking":"§2's unit IBP compiles. Now add the N-sum and the Ioi limit — completing the level-2 identity on re s > 0. Then §3 (hasDerivAt), §4 (identity extension), §5 (disc bound).\n\nLet me write the N-sum lemma + the Ioi identity:\n\n```lean\n/-- The IBP identity summed to [1, N] (N ≥ 1 natural). -/\ntheorem intervalIntegral_b1_cpow_nat (N : ℕ) (hN : 1 ≤ N) (s : ℂ) (hs : s ≠ -1) :\n ∫ x in (1:ℝ)..(N : ℝ), (B1 x : ℂ) * (x : ℂ) ^ (-s - 1)\n = (s + 1) * ∫ x in (1:ℝ)..(N : ℝ), (b2Fun x : ℂ) * (x : ℂ) ^ (-s - 2) := by\n induction N with\n | zero => exact absurd hN (by norm_num)\n | succ N ih =>\n rcases Nat.eq_zero_or_pos N with hN0 | hNpos\n · subst hN0\n norm_num -- ∫ 1..1 = 0 both sides\n · have h1 : IntervalIntegrable (fun x : ℝ => (B1 x : ℂ) * (x : ℂ) ^ (-s - 1)) volume 1 (N : ℝ) := ...\n```\n\nHmm the integrabilities again for the split. For ∫ 1..N and ∫ N..N+1 of B1·x^{−s−1}: IntervalIntegrable: B̃₁ integrable (hu'int-style) × v continuous: `IntervalIntegrable.mul_continuousOn`? — earlier their code: `IntervalIntegrable.continuousOn_mul ?_ h_cont` : IntervalIntegrable f → ContinuousOn g → IntervalIntegrable (f * g)? Let me check the exact name: from intervalIntegrable_deriv_mul_B1: `IntervalIntegrable.continuousOn_mul ?_ h_cont` — so IntervalIntegrable.continuousOn_mul : IntervalIntegrable f volume a b → ContinuousOn g [[a,b]] → IntervalIntegrable (fun x => f x * g x)?? or (g * f)? Their use: deriv f * B1 with h_cont : ContinuousOn (deriv f) — so IntervalIntegrable.continuousOn_mul (hB1 : IntervalIntegrable B1...) (hcont : ContinuousOn (deriv f)) gives deriv f * B1 — hmm the ORDER: result was (deriv f t * B1 t) — so continuousOn_mul's f is B1?? The name suggests IntervalIntegrable.continuousOn_mul (hf : IntervalIntegrable f) (hg : ContinuousOn g) : IntervalIntegrable (g * f)? or (f * g)? From their result (deriv f * B1) with h_cont : ContinuousOn (deriv f): the ContinuousOn function appears FIRST in the product: so continuousOn_mul : IntervalIntegrable g → ContinuousOn f → IntervalIntegrable (f * g)?? I.e. `IntervalIntegrable.continuousOn_mul (hg : IntervalIntegrable g) (hf : ContinuousOn f) : IntervalIntegrable (fun x => f x * g x)`?? Ugh — just try both orders at compile, or check signature now. Let me grep it.\n\nActually — simpler for the [1, N] split: I don't need a general interval-add lemma; induct with the unit step and use `intervalIntegral.integral_add_adjacent_intervals`? Check its name/form: it's `intervalIntegral.integral_add_adjacent_intervals (hab : IntervalIntegrable f volume a b) (hbc : IntervalIntegrable f volume b c) : (∫ x in a..b, f x) + (∫ x in b..c, f x) = ∫ x in a..c, f x`? I believe the name is right. For the inductive step: ∫₁^(N+1) = ∫₁^N + ∫_N^(N+1) — via (integral_add_adjacent_intervals h1 h2).symm? direction: h : ∫a..b + ∫b..c = ∫a..c: I want to rewrite ∫₁^(N+1) as the sum: rw [← integral_add_adjacent_intervals h1 h2] ✓.\n\nThe integrabilities:\n- f₁ = ↑B̃₁·x^{−s−1} on 1..N: hu'int-style (B̃₁ bounded-ae-measurable) × cpow continuous: product-integrable: IntervalIntegrable.continuousOn_mul or mul_continuousOn — the two variants: `IntervalIntegrable.continuousOn_mul (hf : IntervalIntegrable f ...) (hg : ContinuousOn g ...) : IntervalIntegrable (f * g)...` and `.mul_continuousOn` the other order. I'll try continuousOn_mul first with f = B̃₁-factor... our product is B̃₁ * cpow: f := ↑B1 (IntervalIntegrable via the bounded lemma), g := cpow (ContinuousOn) — need name order (f*g) vs (g*f) — commutative so either works via mul_comm congr.\n\nLet me check signatures quickly then write the whole remainder.","signature":""},{"type":"text","text":"Unit IBP green. Checking the interval-add and product-integrability names before writing the N-sum + limit."},{"type":"tool_use","id":"Bash_227","name":"Bash","input":{"command":"cd D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib && grep -rn \"theorem integral_add_adjacent_intervals\\|lemma integral_add_adjacent_intervals\" Mathlib/MeasureTheory/Integral/IntervalIntegral/*.lean | head -2; grep -rn \"theorem IntervalIntegrable.continuousOn_mul\\|theorem IntervalIntegrable.mul_continuousOn\" Mathlib/MeasureTheory/Integral/ -r --include=*.lean | head -4; grep -rn \"theorem integrableOn_Ioi_rpow_of_lt\\|lemma integrableOn_Ioi_rpow_of_lt\" Mathlib/ -r --include=*.lean | head -2","description":"Check interval-add, product-integrability, rpow-integrability names"},"extra_content":null}]