Current task: —

← Session 24 — ii′-2…4: swaps, (4.10) design, contour + website roadmap fixes

#1260 assistant 2026-08-22 18:07:16.036 UTC · 187→2159 tok open ⤢
thinking (4923 chars)
All of §2 + integrability lemmas compile. Now §3: the parameter-integral hasDerivAt. This is the clone of Zeta23's hasDerivAt_Zeta0Integral with ε = (s.re+1)/2 and the extra decay. Let me write it based on their proof structure (which I have from the earlier sed output): ```lean /-- The B̃₂ parameter integral is differentiable on re s > −1, with the log-weighted derivative. -/ theorem hasDerivAt_b2Integral {s : ℂ} (hs : -1 < s.re) : HasDerivAt (fun z : ℂ => ∫ x in Set.Ioi (1:ℝ), (b2Fun x : ℂ) * (x : ℂ) ^ (-z - 2)) (∫ x in Set.Ioi (1:ℝ), (b2Fun x : ℂ) * ((x : ℂ) ^ (-s - 2) * (-Real.log x))) s := by set f : ℝ → ℂ := fun x ↦ (b2Fun x : ℂ) set F : ℂ → ℝ → ℂ := fun z x ↦ (x : ℂ) ^ (-z - 2) * f x set F' : ℂ → ℝ → ℂ := fun z x ↦ (x : ℂ) ^ (-z - 2) * (-Real.log x) * f x set ε := (s.re + 1) / 2 have ε_pos : 0 < ε := by linarith set bound : ℝ → ℝ := fun x ↦ |x ^ (-(s.re + 3) / 2)| * |Real.log x| -- hmm: on ball(s, ε): re(−z−2) ≤ −(σ−ε)−2: x^(−re z − 2) ≤ x^(−σ+ε−2) = x^((−σ−3)/2) — since ε = (σ+1)/2: −σ−2+(σ+1)/2 = (−2σ−4+σ+1)/2 = (−σ−3)/2 ✓ let μ : Measure ℝ := volume.restrict (Set.Ioi (1:ℝ)) have hF_meas : ∀ᶠ (z : ℂ) in 𝓝 s, AEStronglyMeasurable (F z) μ := by have : {z : ℂ | -1 < z.re} ∈ 𝓝 s := by rw [mem_nhds_iff] exact ⟨{z | -1 < z.re}, fun _ a ↦ a, isOpen_lt continuous_const Complex.continuous_re, hs⟩ filter_upwards [this] with z hz exact (integrableOn_b2_cpow hz).aestronglyMeasurable.congr ... ``` Hmm — F z = fun x => x^(−z−2)·f x vs my integrability form fun x => f x·x^(−z−2) — mul_comm: AEStronglyMeasurable congr: `(integrableOn_b2_cpow hz).aestronglyMeasurable` gives meas of fun x => ↑b2Fun x * ↑x^(−z−2); F z x = ↑x^(−z−2)·↑b2Fun x — congr via mul_comm: `AEStronglyMeasurable.congr (hf) (Eventually.of_forall fun x => mul_comm _ _)`? There's `AEStronglyMeasurable.congr (hf : AEStronglyMeasurable f μ) (h : f =ᵐ[μ] g)` ✓. Fine. The rest of the clone: - hF_int : Integrable (F s) μ := (integrableOn_b2_cpow hs).congr' mul_comm-form. IntegrableOn.congr' — a.e. version: `IntegrableOn.congr' (h : IntegrableOn f s μ) (h' : f =ᵐ[μ.restrict s] g)`? name check: there's `IntegrableOn.congr_fun_ae (h) (hst : f =ᵐ[μ.restrict s] g)` ✓ (saw at line 147 earlier). - hF'_meas : AEStronglyMeasurable (F' s) μ := from integrableOn_b2_cpow_log hs + congr (F' s x = x^(−s−2)·(−log x)·f x vs my form ↑b2Fun·(x^·(−log)): product comm/assoc). - h_bound : ∀ᵐ x ∂μ, ∀ z ∈ ball s ε, ‖F' z x‖ ≤ bound x: the norm chain: ‖F' z x‖ = |x^(−z.re−2)|·|log x|·|b2Fun| ≤ x^(−z.re−2)·|log x|·(1/8) ≤ x^((−σ−3)/2)·|log x| = bound x — the key step: x^(−z.re−2) ≤ x^((−σ−3)/2) for x ≥ 1: Real.rpow_le_rpow_of_exponent_le (1 ≤ x) (exponent ≤): −z.re−2 ≤ (−σ−3)/2 ⟺ ... from dist z s < ε: |z.re − σ| ≤ dist < ε = (σ+1)/2 ⟹ z.re > σ − (σ+1)/2 = (σ−1)/2: −z.re − 2 < −(σ−1)/2 − 2 = (−σ−3)/2 ✓ (strict — use .le). - bound_integrable: integrable_log_over_pow (r := (−s.re−1)/2): r−1 = (−σ−3)/2 ✓ matches bound's exponent: bound x = |x^((−σ−3)/2)|·|log x| = x^((−σ−3)/2)|log x| (x ≥ 1) — the congr to their form: their form ‖x^(r−1)‖·‖log x‖ with r−1 = (−σ−3)/2 ⟹ r = (−σ−1)/2 < 0 ✓. - h_diff : ∀ᵐ x ∂μ, ∀ z ∈ ball s ε, HasDerivAt (fun w ↦ F w x) (F' z x) z: per their proof: HasDerivAt.comp of const_cpow: x^(−w−2) has derivative x^(−z−2)·(−log x)·(−1)... — their computation: F w x = x^(−w−1)·f x; d/dw x^(−w−1) = x^(−z−1)·(−log x)·(−1)?? wait: d/dw x^(−w−1) = x^(−w−1)·log x·(−1) = −x^(−z−1)log x at w = z. Their F' z x = x^(−s−1)·(−log x)·f x — consistent ✓. Mine: F w x = x^(−w−2)·f x: derivative = x^(−z−2)·(−log x)·... wait d/dw x^(−w−2) = x^(−w−2)·(log x)·(−1) = −x^(−z−2)·log x ✓ matches F' = x^(−z−2)·(−log x)·f ✓. The const_cpow: `HasDerivAt.const_cpow (hf : HasDerivAt ℂ f f' z) (hc : f z ≠ 0 ∨ c ≠ 0)?` — from their usage: `HasDerivAt.const_cpow (c := (x : ℂ)) (f := fun w ↦ w) (f' := 1) (x := -z-1) (hasDerivAt_id _) ?_` with side goal discharged via `cpow_eq_zero_iff`+ofReal_log... the ?_ was (f x ≠ 0) ∨ (c ≠ 0)-ish? They proved `left; rw [Complex.ofReal_log]; linarith` — hmm — that suggests the side condition was about... looking at their code: ``` · simp only [mul_one, mul_eq_mul_left_iff, cpow_eq_zero_iff, ofReal_eq_zero, ne_eq] left rw [Complex.ofReal_log] linarith ``` Hmm this discharged some side condition. I'll adapt at compile — with my exponent −w−2: the −z−2 ≠ 0 side: from the ball: z within ε of s: if z = −2: |s.re − (−2)| = σ+2 ≤ dist < ε = (σ+1)/2 ⟹ σ+2 < (σ+1)/2 ⟹ σ < −3 contradiction with σ > −1 ✓. - The final: hasDerivAt_integral_of_dominated_loc_of_deriv_le (F) (F') (x₀ := s) (s := ball s ε) (bound) (μ) (ball_mem_nhds) hF_meas hF_int hF'_meas h_bound bound_integrable h_diff — then `.2` and congr the forms (their `convert! ... using 3` with ring_nf for the mul-order). Let me check the exact name/signature of hasDerivAt_integral_of_dominated_loc_of_deriv_le and HasDerivAt.const_cpow side conditions.
§2 fully green. Now §3 — the parameter-integral derivative. Checking the two key lemma signatures first.
tool: Bash
input
{
  "command": "cd D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib && grep -rn \"theorem hasDerivAt_integral_of_dominated_loc_of_deriv_le\" Mathlib/ -r --include=*.lean | head -2 && grep -rn \"theorem HasDerivAt.const_cpow\\b\" Mathlib/ -r --include=*.lean | head -2",
  "description": "Locate the two key lemmas"
}
raw content_json (database row)
[{"type":"thinking","thinking":"All of §2 + integrability lemmas compile. Now §3: the parameter-integral hasDerivAt. This is the clone of Zeta23's hasDerivAt_Zeta0Integral with ε = (s.re+1)/2 and the extra decay. Let me write it based on their proof structure (which I have from the earlier sed output):\n\n```lean\n/-- The B̃₂ parameter integral is differentiable on re s > −1, with the\nlog-weighted derivative. -/\ntheorem hasDerivAt_b2Integral {s : ℂ} (hs : -1 < s.re) :\n    HasDerivAt (fun z : ℂ => ∫ x in Set.Ioi (1:ℝ), (b2Fun x : ℂ) * (x : ℂ) ^ (-z - 2))\n      (∫ x in Set.Ioi (1:ℝ), (b2Fun x : ℂ) * ((x : ℂ) ^ (-s - 2) * (-Real.log x))) s := by\n  set f : ℝ → ℂ := fun x ↦ (b2Fun x : ℂ)\n  set F : ℂ → ℝ → ℂ := fun z x ↦ (x : ℂ) ^ (-z - 2) * f x\n  set F' : ℂ → ℝ → ℂ := fun z x ↦ (x : ℂ) ^ (-z - 2) * (-Real.log x) * f x\n  set ε := (s.re + 1) / 2\n  have ε_pos : 0 < ε := by linarith\n  set bound : ℝ → ℝ := fun x ↦ |x ^ (-(s.re + 3) / 2)| * |Real.log x|\n  -- hmm: on ball(s, ε): re(−z−2) ≤ −(σ−ε)−2: x^(−re z − 2) ≤ x^(−σ+ε−2) = x^((−σ−3)/2) — since ε = (σ+1)/2: −σ−2+(σ+1)/2 = (−2σ−4+σ+1)/2 = (−σ−3)/2 ✓\n  let μ : Measure ℝ := volume.restrict (Set.Ioi (1:ℝ))\n  have hF_meas : ∀ᶠ (z : ℂ) in 𝓝 s, AEStronglyMeasurable (F z) μ := by\n    have : {z : ℂ | -1 < z.re} ∈ 𝓝 s := by\n      rw [mem_nhds_iff]\n      exact ⟨{z | -1 < z.re}, fun _ a ↦ a, isOpen_lt continuous_const Complex.continuous_re, hs⟩\n    filter_upwards [this] with z hz\n    exact (integrableOn_b2_cpow hz).aestronglyMeasurable.congr ... \n```\nHmm — F z = fun x => x^(−z−2)·f x vs my integrability form fun x => f x·x^(−z−2) — mul_comm: AEStronglyMeasurable congr: `(integrableOn_b2_cpow hz).aestronglyMeasurable` gives meas of fun x => ↑b2Fun x * ↑x^(−z−2); F z x = ↑x^(−z−2)·↑b2Fun x — congr via mul_comm: `AEStronglyMeasurable.congr (hf) (Eventually.of_forall fun x => mul_comm _ _)`? There's `AEStronglyMeasurable.congr (hf : AEStronglyMeasurable f μ) (h : f =ᵐ[μ] g)` ✓. Fine.\n\nThe rest of the clone:\n- hF_int : Integrable (F s) μ := (integrableOn_b2_cpow hs).congr' mul_comm-form. IntegrableOn.congr' — a.e. version: `IntegrableOn.congr' (h : IntegrableOn f s μ) (h' : f =ᵐ[μ.restrict s] g)`? name check: there's `IntegrableOn.congr_fun_ae (h) (hst : f =ᵐ[μ.restrict s] g)` ✓ (saw at line 147 earlier).\n- hF'_meas : AEStronglyMeasurable (F' s) μ := from integrableOn_b2_cpow_log hs + congr (F' s x = x^(−s−2)·(−log x)·f x vs my form ↑b2Fun·(x^·(−log)): product comm/assoc).\n- h_bound : ∀ᵐ x ∂μ, ∀ z ∈ ball s ε, ‖F' z x‖ ≤ bound x: the norm chain: ‖F' z x‖ = |x^(−z.re−2)|·|log x|·|b2Fun| ≤ x^(−z.re−2)·|log x|·(1/8) ≤ x^((−σ−3)/2)·|log x| = bound x — the key step: x^(−z.re−2) ≤ x^((−σ−3)/2) for x ≥ 1: Real.rpow_le_rpow_of_exponent_le (1 ≤ x) (exponent ≤): −z.re−2 ≤ (−σ−3)/2 ⟺ ... from dist z s < ε: |z.re − σ| ≤ dist < ε = (σ+1)/2 ⟹ z.re > σ − (σ+1)/2 = (σ−1)/2: −z.re − 2 < −(σ−1)/2 − 2 = (−σ−3)/2 ✓ (strict — use .le).\n- bound_integrable: integrable_log_over_pow (r := (−s.re−1)/2): r−1 = (−σ−3)/2 ✓ matches bound's exponent: bound x = |x^((−σ−3)/2)|·|log x| = x^((−σ−3)/2)|log x| (x ≥ 1) — the congr to their form: their form ‖x^(r−1)‖·‖log x‖ with r−1 = (−σ−3)/2 ⟹ r = (−σ−1)/2 < 0 ✓.\n- h_diff : ∀ᵐ x ∂μ, ∀ z ∈ ball s ε, HasDerivAt (fun w ↦ F w x) (F' z x) z: per their proof: HasDerivAt.comp of const_cpow: x^(−w−2) has derivative x^(−z−2)·(−log x)·(−1)... — their computation: F w x = x^(−w−1)·f x; d/dw x^(−w−1) = x^(−z−1)·(−log x)·(−1)?? wait: d/dw x^(−w−1) = x^(−w−1)·log x·(−1) = −x^(−z−1)log x at w = z. Their F' z x = x^(−s−1)·(−log x)·f x — consistent ✓. Mine: F w x = x^(−w−2)·f x: derivative = x^(−z−2)·(−log x)·... wait d/dw x^(−w−2) = x^(−w−2)·(log x)·(−1) = −x^(−z−2)·log x ✓ matches F' = x^(−z−2)·(−log x)·f ✓.\n  The const_cpow: `HasDerivAt.const_cpow (hf : HasDerivAt ℂ f f' z) (hc : f z ≠ 0 ∨ c ≠ 0)?` — from their usage: `HasDerivAt.const_cpow (c := (x : ℂ)) (f := fun w ↦ w) (f' := 1) (x := -z-1) (hasDerivAt_id _) ?_` with side goal discharged via `cpow_eq_zero_iff`+ofReal_log... the ?_ was (f x ≠ 0) ∨ (c ≠ 0)-ish? They proved `left; rw [Complex.ofReal_log]; linarith` — hmm — that suggests the side condition was about... looking at their code:\n```\n      · simp only [mul_one, mul_eq_mul_left_iff, cpow_eq_zero_iff, ofReal_eq_zero, ne_eq]\n        left\n        rw [Complex.ofReal_log]\n        linarith\n```\nHmm this discharged some side condition. I'll adapt at compile — with my exponent −w−2: the −z−2 ≠ 0 side: from the ball: z within ε of s: if z = −2: |s.re − (−2)| = σ+2 ≤ dist < ε = (σ+1)/2 ⟹ σ+2 < (σ+1)/2 ⟹ σ < −3 contradiction with σ > −1 ✓.\n\n- The final: hasDerivAt_integral_of_dominated_loc_of_deriv_le (F) (F') (x₀ := s) (s := ball s ε) (bound) (μ) (ball_mem_nhds) hF_meas hF_int hF'_meas h_bound bound_integrable h_diff — then `.2` and congr the forms (their `convert! ... using 3` with ring_nf for the mul-order).\n\nLet me check the exact name/signature of hasDerivAt_integral_of_dominated_loc_of_deriv_le and HasDerivAt.const_cpow side conditions.","signature":""},{"type":"text","text":"§2 fully green. Now §3 — the parameter-integral derivative. Checking the two key lemma signatures first."},{"type":"tool_use","id":"Bash_258","name":"Bash","input":{"command":"cd D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib && grep -rn \"theorem hasDerivAt_integral_of_dominated_loc_of_deriv_le\" Mathlib/ -r --include=*.lean | head -2 && grep -rn \"theorem HasDerivAt.const_cpow\\b\" Mathlib/ -r --include=*.lean | head -2","description":"Locate the two key lemmas"},"extra_content":null}]