← Session 36 — ii′-6-DL dog-leg + side bounds; Paper A review
thinking (20312 chars)
All the pieces:
1. `sf_abs_le_rectInt_add_zeroSum (hZC) {n} (hn : 1 ≤ n) {T} (hT1 : 1 ≤ T) (hTn : √n ≤ T) (hTn1 : T ≤ √n+1) (hTwide) : |Sf n| ≤ ‖RectangleIntegral' (Jlag n) (rectZ T) (rectW n T)‖ + ‖∑ ρ ∈ (zeroBothWindow_finite T).toFinset ∪ {(-2:ℂ)}, (zeroMult ρ : ℂ) * (1 - (ρ/(ρ-1))^n)‖`
2. `zeroSum_norm_le_four_FAlt_add_one (hRH : RHUpTo (3*10^12)) (hZCG : ZeroCountGlobalProp) (hNLZ : NoLowZeros) {n} {T} (hTle : T ≤ 3*10^12−1) (hT2 : 2 ≤ T) : ‖Σ‖ ≤ 4·FAlt T + 1`
3. `exists_zero_avoiding_T_wide (hZC) {a} (ha : 3 ≤ a) : ∃ T, a ≤ T ∧ T ≤ a+1 ∧ ∀ ρ, IsNontrivialZero ρ → a−1 < ρ.im → ρ.im < a+2 → 1/(9·C0hat(a+2)) ≤ |ρ.im − T|`
4. `Bn (F : ℝ → ℝ) (n : ℝ) := let T := √n + 1; 4·F T + 4·T·((2/3)·Z2hat T + 10.5·log(T+2) + 48) + 40·1.3352 + 2·(e⁴+1)·(7·Hhat T) + 2·DogLegRight n + IIMaj n + 1`
5. `SfBoundProp := ∀ n : ℕ, 100000 ≤ n → (n:ℝ) ≤ (3·10^12 − 1)^2 → |Sf n| ≤ Bn FAlt n`
6. `Hhat T := 3·C0hat T² + 10.5·log(T+2) + 48`.
7. `FAlt T := (1/(2π))·(T·log T) + 0.137·log T + 0.443·log(log T) + (7/8 + 1.588)`.
Also need: `RectangleIntegral'` def — the 1/(2πi) factor. And `rectangleIntegral_Jlag_eq` (§1): RectangleIntegral (Jlag n) (rectZ T) (rectW n T) = H(−T) − H(T) + V(right) − V(left).
Let me check RectangleIntegral' quickly. From Zeta23's ResidueCalcOnRectangles: HIntegral'/VIntegral' have (1/(2πi))• factors — RectangleIntegral' presumably := HIntegral' ... combination. Let me check.
The final goal structure per the recipe:
|Sf n| ≤ ‖RectInt'‖ + ‖Σ‖ [6-b identity]
≤ (1/2π)·‖RectInt‖ + (4·FAlt T + 1) [RectInt' def + norm_smul + bridge]
‖RectInt‖ ≤ ‖H(−T)‖ + ‖H(T)‖ + ‖Vr‖ + ‖Vl‖ [rectangleIntegral_Jlag_eq + norm_sub_le]
≤ [two-sides horizontal] + e^{1/3}·IIMaj + [I_III charge]
So |Sf n| ≤ (1/2π)·(Horiz2 + e^{1/3}·IIMaj + I_IIIcharge) + 4F + 1
≤ (1/2π)·(2(e⁴+1)(NI + 5.5R) + 2·DogLegRight + 2π·IIMaj + I_IIIcharge) + 4F + 1 [e^{1/3} ≤ 2π]
≤ (1/2π)·(2(e⁴+1)(7·Hhat T) + 2·DogLegRight + I_IIIcharge) + IIMaj + 4F + 1 [the horizontal pinch NI + 5.5R ≤ 7·Hhat; e^{1/3}·IIMaj/(2π) ≤ IIMaj]
wait — let me redo the arithmetic carefully. Bn's horizontal share: 2·(e⁴+1)·(7·Hhat T) + 2·DogLegRight. My 6-c-v two-sides bound: 2·((e⁴+1)·(NI + 5.5·R(T)) + DogLegRight) where NI = 2·Z2hat(T)·log(148.5·C0hat(√n+2)) and R(T) = 10.5·log(T+2)+48.
The pinch: NI + 5.5·R(T) ≤ 7·Hhat T ⟺ 2·Z2hat(T)·log(148.5·C0hat(√n+2)) + 5.5·(10.5 log(T+2)+48) ≤ 7·(3·C0hat(T)² + 10.5 log(T+2) + 48). Per the recipe: "suffices 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² since 5.5 ≤ 7 on the (10.5 log+48) part". So the pinch splits:
- 5.5·(10.5 log(T+2)+48) ≤ 7·(10.5 log(T+2)+48) ✓ (5.5 ≤ 7, the bracket ≥ 0).
- 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² — THE real-analytic comparison. Hmm — with C0hat(T)² — C0hat t = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 and Z2hat t = 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7. The argument of log on the LHS: 148.5·C0hat(√n+2) vs the RHS's 21·C0hat(T)².
E-030's V3 witness says the ratio ≤ 0.40 — the honest pinch. The recipe: "elementary L/LL comparisons with log x ≤ x/e (Real.log_le_sub_one_of_pos at x/e), certified numerics for the endpoint constants".
Let me think about the honest proof of 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² for T ∈ [√10⁵, 3·10¹²]:
Ingredients:
- C0hat(T) ≥ 2 (two_le_C0hat, T ≥ 1) — so C0hat(T)² ≥ 2·C0hat(T).
- log(148.5·C0hat(√n+2)): with T ≤ √n+1 ⟹ √n+2 ≤ T+1... wait — T ∈ [√n, √n+1] so √n+2 ≤ T+2?? — √n ≤ T ⟹ √n+2 ≤ T+2 ✓. So C0hat(√n+2) ≤ C0hat(T+2) (C0hat_mono, 1 ≤ √n+2 ✓... wait — need √n+2 ≤ T+2 ✓ and C0hat_mono (1 ≤ a) (a ≤ b) ✓ with a := √n+2 ≥ 1 ✓). So log(148.5·C0hat(√n+2)) ≤ log(148.5·C0hat(T+2)).
- C0hat(T+2) vs C0hat(T): C0hat(T+2) = 0.433·log(T+4) + 0.886·loglog(T+4) + 2.9. log(T+4) vs log(T+2): log(T+4) ≤ log(T+2) + log((T+4)/(T+2)) ≤ log(T+2) + 2/(T+2) (log(1+x) ≤ x)... For T ≥ 316: 2/(T+2) ≤ 0.0063. So C0hat(T+2) ≤ C0hat(T) + 0.433·0.0063 + 0.886·(loglog(T+4) − loglog(T+2)) + 0 ≈ C0hat(T) + 0.003. This is getting into certified-numerics territory.
Alternative simpler route: 148.5·C0hat(√n+2) vs something cleaner. Note log(148.5·C0hat(√n+2)) = log 148.5 + log(C0hat(√n+2)). log 148.5 ≤ 5.001 (e⁵ ≈ 148.41 < 148.5 — hmm — log 148.5: e^5 = 148.413, so log 148.5 ≈ 5.0006 — certify log 148.5 ≤ 5.001 via 148.5 ≤ e^5.001?? — e^5.001 = e^5·e^0.001 ≥ 148.413·1.001 = 148.56 ≥ 148.5 ✓ — messy certified numerics).
Hmm — alternatively: 148.5·C0hat(√n+2) ≤ (T+2)²?? — for T ≥ 316: C0hat(√n+2) ≤ C0hat(T+2) ≤ ~10 (C0hat at 3·10¹²+2 ≈ 0.433·29.5 + 0.886·3.4 + 2.9 ≈ 18.6 — hmm — C0hat(T+2) ≤ 19 on the whole range). 148.5·19 ≈ 2822 ≤ (318)² = 101124 ✓ — so log(148.5·C0hat(√n+2)) ≤ 2·log(T+2) — WAIT is that right? 148.5·C0hat(√n+2) ≤ (T+2)² ⟸ C0hat(√n+2) ≤ (T+2)²/148.5 — for T ≥ 316: (T+2)²/148.5 ≥ 318²/148.5 ≈ 681 ≥ 19 ≥ C0hat(√n+2) ✓ — need C0hat(√n+2) ≤ 681 — C0hat(√n+2) ≤ C0hat(T+2) and C0hat(T+2) ≤ 681?? — C0hat is increasing — on T ≤ 3·10¹²: C0hat(3·10¹²+2) ≈ 18.6 ≤ 681 ✓ — but formally bounding C0hat(T+2) by 681 needs a bound over the range... — C0hat(t) ≤ t for t ≥ ?? — C0hat(t) = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 ≤ t for t ≥ 4-ish (log(t+2) ≤ t+2−1, loglog(t+2) ≤ log(t+2) ≤ t+2) ⟹ C0hat(t) ≤ 0.433(t+1) + 0.886(t+1) + 2.9 = 1.32(t+1) + 2.9 ≤ t for t ≥ 5ish. So C0hat(√n+2) ≤ √n+2 for √n+2 ≥ 6 (n ≥ 16) — then 148.5·(√n+2) ≤ (√n+2)² ⟺ 148.5 ≤ √n+2 ⟺ √n ≥ 146.5 ⟺ n ≥ 21463 ✓ (n ≥ 10⁵). THEN: log(148.5·C0hat(√n+2)) ≤ log((√n+2)²) = 2·log(√n+2) ≤ 2·log(T+2) (√n ≤ T ⟹ √n+2 ≤ T+2 ✓).
So log(148.5·C0hat(√n+2)) ≤ 2·log(T+2)!! Clean. Then:
2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 2·Z2hat(T)·2·log(T+2) = 4·Z2hat(T)·log(T+2).
And Z2hat(T) = 0.6·log(T+2) + 0.886·loglog(T+2) + 2.7. Hmm — Z2hat(T) vs C0hat(T) = 0.433·log(T+2) + 0.886·loglog(T+2) + 2.9: Z2hat(T) ≤ 2·C0hat(T)?? — 0.6L + 0.886LL + 2.7 ≤ 2·(0.433L + 0.886LL + 2.9) = 0.866L + 1.772LL + 5.8 ⟺ 0 ≤ 0.266L + 0.886LL + 3.1 ✓ TRUE (L, LL ≥ 0 for T ≥ 1). So Z2hat(T) ≤ 2·C0hat(T) (elementary, no numerics).
Then 4·Z2hat(T)·log(T+2) ≤ 8·C0hat(T)·log(T+2). And we want ≤ 21·C0hat(T)² ⟸ 8·log(T+2) ≤ 21·C0hat(T) ⟺ C0hat(T) ≥ (8/21)·log(T+2). C0hat(T) = 0.433·log(T+2) + 0.886·loglog(T+2) + 2.9 ≥ 0.433·log(T+2) ≥ (8/21)·log(T+2) ⟺ 0.433 ≥ 8/21 ≈ 0.381 ✓ TRUE. So:
2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 4·Z2hat(T)·log(T+2) ≤ 8·C0hat(T)·log(T+2) ≤ 8·(C0hat(T)/0.433)·C0hat(T)?? — hmm — cleaner: C0hat(T) ≥ 0.433·log(T+2) ⟹ log(T+2) ≤ C0hat(T)/0.433. So 8·C0hat(T)·log(T+2) ≤ 8·C0hat(T)²/0.433 = 18.48·C0hat(T)² ≤ 21·C0hat(T)² ✓ (18.48 ≤ 21 — with 8/0.433 = 18.4757... ≤ 21 ✓).
Hmm — 8/0.433: 0.433·21 = 9.093 > 8 ✓ so 8·C0hat·log(T+2) ≤ 8·C0hat²/0.433 ≤ 21·C0hat² ⟺ 8/0.433 ≤ 21 ⟺ 8 ≤ 9.093 ✓.
So the chain (all elementary, no certified numerics!):
1. C0hat(√n+2) ≤ √n+2 [if C0hat(t) ≤ t for t ≥ some bound — need to prove: C0hat(t) = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 ≤ t for t ≥ ?? — let me verify at what t: at t = 148: 0.433·log(150) ≈ 0.433·5.01 ≈ 2.17, 0.886·log(5.01) ≈ 0.886·1.61 ≈ 1.43, +2.9 ≈ 6.5 ≤ 148 ✓. The bound C0hat(t) ≤ t holds WAY earlier. Formally: log(t+2) ≤ (t+2)/e·e?? — log x ≤ x/e (Real.log_le_sub_one_of_pos gives log x ≤ x−1 — log(t+2) ≤ t+1; loglog(t+2) ≤ log(t+2) ≤ t+1. So C0hat(t) ≤ 0.433(t+1) + 0.886(t+1) + 2.9 = 1.319·(t+1) + 2.9 ≤ t ⟺ 2.9 + 1.319 ≤ t − 1.319t + ... hmm — 1.319(t+1)+2.9 ≤ t ⟺ 1.319t + 1.319 + 2.9 ≤ t ⟺ 4.219 ≤ −0.319t — FALSE. So C0hat(t) ≤ t does NOT hold for small t via this crude route — at t = 20: 1.319·21 + 2.9 = 30.6 > 20 ✗. At t = 100: 1.319·101+2.9 = 136 > 100 ✗. At t = 200: 1.319·201+2.9 = 268 > 200 ✗. Hmm — the crude log x ≤ x−1 is too lossy. With log x ≤ 2√x (softer): log(t+2) ≤ 2√(t+2), loglog(t+2) ≤ √(t+2)... 0.433·2√ + 0.886·√ + 2.9 = 1.752√(t+2) + 2.9 ≤ t ⟺ ... at t = 148: 1.752·12.2 + 2.9 = 24.3 ≤ 148 ✓ — at t = 20: 1.752·4.7+2.9 = 11.1 ≤ 20 ✓ — at t = 10: 1.752·3.46+2.9 = 8.96 ≤ 10 ✓ — at t = 8: 1.752·3.16+2.9 = 8.44 > 8 ✗ — so C0hat(t) ≤ t for t ≥ ~10 via log x ≤ 2√x. Proving log x ≤ 2√x in Lean: Real.log_le_sub_one_of_pos at √x: log(√x) ≤ √x − 1 — log(√x) = (1/2)log x ⟹ log x ≤ 2(√x−1) ≤ 2√x ✓ — via Real.log_sqrt (log √x = (log x)/2) + Real.log_le_sub_one_of_pos (√x > 0).
So: C0hat(t) ≤ t for t ≥ 10:
C0hat(t) = 0.433L + 0.886LL + 2.9 with L := log(t+2), LL := log L.
L ≤ 2√(t+2) (via the above); LL = log L ≤ L/e·e?? — LL ≤ L − 1 ≤ L ≤ 2√(t+2) hmm — or LL ≤ √(t+2)?? — log L ≤ L − 1 ≤ L ≤ 2√(t+2) — use LL ≤ 2√(t+2) too. So C0hat(t) ≤ (0.433+0.886)·2√(t+2) + 2.9 = 2.638·√(t+2) + 2.9 ≤ t for t ≥ 10: at t = 10: 2.638·3.46 + 2.9 = 12.0 > 10 ✗. Hmm — at t = 15: 2.638·4.12+2.9 = 13.8 ≤ 15 ✓. at t = 13: 2.638·3.87+2.9 = 13.1 > 13 ✗. at t = 14: 2.638·4+2.9 = 13.45 ≤ 14 ✓. So C0hat(t) ≤ t for t ≥ 14. Formally: 2.638·√(t+2) + 2.9 ≤ t ⟺ 2.638·√(t+2) ≤ t − 2.9 ⟺ (2.638)²(t+2) ≤ (t−2.9)² for t ≥ 14: 6.96(t+2) ≤ (t−2.9)² = t² − 5.8t + 8.41 ⟺ 0 ≤ t² − 12.76t − 5.5 — at t = 14: 196 − 178.6 − 5.5 = 11.9 > 0 ✓ and increasing for t ≥ 14 (derivative 2t − 12.76 > 0 for t > 6.4) ✓. So C0hat(t) ≤ t for t ≥ 14, provable by: square both sides (nonneg), quadratic comparison, elementary.
Hmm — this is honest but fiddly. Since √n ≥ 316 (n ≥ 10⁵), I only need C0hat(√n+2) ≤ √n+2 for √n ≥ 316 — i.e., t ≥ 318 — where the bound is LOOSE. Maybe simpler: 148.5·C0hat(√n+2) ≤ (√n+2)² — directly: C0hat(√n+2) ≤ (√n+2)²/148.5 — with √n+2 ≥ 318: (√n+2)²/148.5 ≥ 318²/148.5 = 681 ≥ C0hat(√n+2)?? — need C0hat(√n+2) ≤ 681 — C0hat(√n+2) ≤ C0hat-ish bound — hmm — C0hat(t) ≤ t for t ≥ 318: 2.638√(t+2)+2.9 ≤ t at t = 318: 2.638·17.9+2.9 = 50.1 ≤ 318 ✓✓ — the square comparison at t ≥ 318 is even looser.
OK — the plan for the pinch lemma (Lean):
**pinch_horizontal**: for T ≥ √n (n ≥ 10⁵) — i.e., T ≥ 316...:
2·Z2hat(T)·log(148.5·C0hat(√n+2)) + 5.5·(10.5·log(T+2)+48) ≤ 7·Hhat T.
Structure:
(a) log(148.5·C0hat(√n+2)) ≤ 2·log(T+2):
- C0hat(√n+2) ≤ √n+2 [needs: C0hat(t) ≤ t for t ≥ 14, applied at t := √n+2 ≥ 318]
- 148.5·C0hat(√n+2) ≤ (√n+2)² [148.5 ≤ √n+2 since √n ≥ 316 ⟹ 148.5·C0hat ≤ (√n+2)·(√n+2) via C0hat ≤ √n+2 and 148.5 ≤ √n+2 — mul_le_mul (C0hat ≤ √n+2) (148.5 ≤ √n+2) (0 ≤ 148.5) (0 ≤ √n+2)]
- log(148.5·C0hat(√n+2)) ≤ log((√n+2)²) = 2·log(√n+2) ≤ 2·log(T+2) [√n+2 ≤ T+2 ✓].
(b) 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 2·Z2hat(T)·2·log(T+2) = 4·Z2hat(T)·log(T+2) [Z2hat ≥ 0].
(c) Z2hat(T) ≤ 2·C0hat(T) [elementary: 0.6L+0.886LL+2.7 ≤ 2·(0.433L+0.886LL+2.9) ⟺ 0 ≤ 0.266L+0.886LL+3.1 — L, LL ≥ 0 for T ≥ 1 ✓ (L = log(T+2) ≥ 1, LL ≥ 0 — as in Z2hat_mono's proof)].
(d) 4·Z2hat·log(T+2) ≤ 8·C0hat·log(T+2) ≤ 21·C0hat² ⟸ 8·log(T+2) ≤ 21·C0hat ⟸ log(T+2) ≤ (21/8)·C0hat ⟸ C0hat ≥ 0.433·log(T+2) and 1/0.433 ≤ 21/8 = 2.625 ⟺ 8 ≤ 2.625·0.433·8?? — let me redo: 8·C0hat·log(T+2) ≤ 21·C0hat² ⟺ 8·log(T+2) ≤ 21·C0hat (C0hat > 0) ⟸ log(T+2) ≤ (21/8)·C0hat(T) ⟸ C0hat(T) ≥ (8/21)·log(T+2) ⟸ 0.433·log(T+2) + 0.886LL + 2.9 ≥ (8/21)·log(T+2) ⟺ (0.433 − 0.381)·log(T+2) + 0.886LL + 2.9 ≥ 0 ✓ (0.433 > 8/21 = 0.380952... — certify 8/21 ≤ 0.433 ⟺ 8 ≤ 9.093 ⟺ 21·0.433 = 9.093 ✓ norm_num with 0.433·21 = 9.093 ≥ 8 ✓).
So: log(T+2) ≤ C0hat(T)/0.433 hmm — cleaner: 0.433·log(T+2) ≤ C0hat(T) (since 0.886LL + 2.9 ≥ 0) ⟹ 8·log(T+2) = (8/0.433)·(0.433·log(T+2)) ≤ (8/0.433)·C0hat(T) ≤ 21·C0hat(T) (8/0.433 ≤ 21 ⟺ 8 ≤ 9.093 ✓). Then 8·C0hat·log(T+2) ≤ 21·C0hat·C0hat = 21·C0hat² — via mul_le_mul (8·log(T+2) ≤ 21·C0hat) (C0hat ≤ C0hat) (0 ≤ C0hat) (0 ≤ 21·C0hat)... — mul_le_mul (h₁ : 8·log(T+2) ≤ 21·C0hat) (h₂ : C0hat ≤ C0hat) (0 ≤ C0hat) (0 ≤ 21·C0hat) : 8·log(T+2)·C0hat ≤ 21·C0hat·C0hat ✓ then rearrange (ring).
(e) 5.5·(10.5·log(T+2)+48) ≤ 7·(10.5·log(T+2)+48) ✓ (bracket ≥ 0 — 10.5·log(T+2)+48 ≥ 48 > 0 ✓).
(f) Hhat T = 3·C0hat² + (10.5·log(T+2)+48): so (b)+(d) gives NI ≤ 21·C0hat² + ... wait — assemble: NI + 5.5R = 2·Z2hat·log(148.5·C0hat) + 5.5·R ≤ 21·C0hat² + 7·R [from (a)-(d) and (e)] ≤ 7·(3·C0hat² + R) = 7·Hhat T ⟺ 21·C0hat² ≤ 21·C0hat² ✓ and 7·R ≤ 7·R ✓. ✓✓
So pinch_horizontal is fully elementary modulo:
- C0hat(t) ≤ t for t ≥ 14 (needs the log ≤ 2√ machine).
- 148.5 ≤ √n+2 (√n ≥ 316).
- Z2hat ≤ 2·C0hat (elementary L/LL nonneg).
- C0hat ≥ 0.433·log(T+2) (LL, const nonneg).
- 8 ≤ 21·0.433 (norm_num).
The C0hat(t) ≤ t lemma:
```lean
theorem C0hat_le_self {t : ℝ} (ht : 14 ≤ t) : C0hat t ≤ t := by
-- log(t+2) ≤ 2·√(t+2); loglog(t+2) ≤ 2·√(t+2) [via log x ≤ x−1 at √x]
have ht2 : (0:ℝ) < t + 2 := by linarith
have hL : Real.log (t + 2) ≤ 2 * Real.sqrt (t + 2) := by
have h1 := Real.log_le_sub_one_of_pos (Real.sqrt_pos.mpr ht2)
-- h1 : log(√(t+2)) ≤ √(t+2) − 1
rw [Real.log_sqrt ht2.le] at h1 -- log(√x) = (log x)/2
-- (log(t+2))/2 ≤ √(t+2) − 1 ⟹ log(t+2) ≤ 2√(t+2) − 2 ≤ 2√(t+2)
nlinarith [Real.sqrt_nonneg (t + 2)]
have hLL : Real.log (Real.log (t + 2)) ≤ 2 * Real.sqrt (t + 2) := by
have h1 := Real.log_le_sub_one_of_pos (Real.log_pos (show (1:ℝ) < t + 2 by linarith))
-- h1 : log(log(t+2)) ≤ log(t+2) − 1 ≤ log(t+2) ≤ 2√(t+2)
linarith [hL, Real.log_le_sub_one_of_pos (Real.log_pos ...)]
-- C0hat t = 0.433·L + 0.886·LL + 2.9 ≤ (0.433+0.886)·2√(t+2) + 2.9 ≤ t
have hsq : 2.638 * Real.sqrt (t + 2) + 2.9 ≤ t := by
-- square both sides
have hsqrt_pos : 0 < Real.sqrt (t + 2) := Real.sqrt_pos.mpr ht2
have h1 : (2.638 * Real.sqrt (t + 2) + 2.9) ^ 2 ≤ t ^ 2 := by
rw [Real.sq_sqrt ht2.le] -- hmm — need ((2.638√(t+2)+2.9)²) expansion
...
```
Hmm — proving 2.638·√(t+2) + 2.9 ≤ t for t ≥ 14: square: (2.638√(t+2)+2.9)² ≤ t² ⟺ 6.96(t+2) + 2·2.638·2.9·√(t+2) + 8.41 ≤ t² ⟺ 6.96t + 13.9 + 15.3·√(t+2) + 8.41 ≤ t² ⟺ 6.96t + 22.3 + 15.3·√(t+2) ≤ t². With √(t+2) ≤ (t+2)/2 (for t+2 ≥ 4 ⟺ t ≥ 2: √x ≤ x/2 ⟺ x ≥ 4): 15.3·√(t+2) ≤ 7.65(t+2) = 7.65t + 15.3. So LHS ≤ 6.96t + 22.3 + 7.65t + 15.3 = 14.61t + 37.6 ≤ t² ⟺ t² − 14.61t − 37.6 ≥ 0 — at t = 17: 289 − 248.4 − 37.6 = 3 > 0 ✓ — at t = 14: 196 − 204.5 − 37.6 = −46 ✗!! — hmm — so t ≥ 14 is NOT enough via this crude chain. Let me check the ACTUAL value at t = 14: C0hat(14) = 0.433·log(16) + 0.886·loglog(16) + 2.9 = 0.433·2.773 + 0.886·1.020 + 2.9 = 1.201 + 0.904 + 2.9 = 5.005 ≤ 14 ✓✓ — the bound holds easily at 14; my chain is just lossy. Since I only need t ≥ 318 (√n+2 for n ≥ 10⁵), let me just require t ≥ 100 (or 318): at t = 100: 2.638·√102 + 2.9 = 2.638·10.1 + 2.9 = 29.5 ≤ 100 ✓ via the square comparison: (2.638√(t+2)+2.9)² ≤ t² ⟸ 6.96(t+2) + 15.3√(t+2) + 8.41 ≤ t² — with √(t+2) ≤ (t+2)/4 at t ≥ 14?? — √x ≤ x/4 ⟺ x ≥ 16 ⟺ t ≥ 14 ✓ — 15.3·√(t+2) ≤ 15.3(t+2)/4 = 3.825(t+2): LHS ≤ 6.96(t+2) + 3.825(t+2) + 8.41 = 10.785(t+2) + 8.41 = 10.785t + 30 ≤ t² ⟺ t² − 10.785t − 30 ≥ 0 — at t = 14: 196 − 151 − 30 = 15 > 0 ✓ — and t² − 10.785t − 30 is increasing for t ≥ 14 (2t > 10.785 ✓). So C0hat(t) ≤ t for t ≥ 14 — with the auxiliary √x ≤ x/4 for x ≥ 16.
Ugh — this is getting heavy. Let me simplify the whole C0hat ≤ t business: actually, what I ACTUALLY need is just `148.5·C0hat(√n+2) ≤ (√n+2)²`. Since √n ≥ 316 (n ≥ 10⁵), set u := √n+2 ≥ 318: 148.5·C0hat(u) ≤ u² ⟸ C0hat(u) ≤ u²/148.5 ⟸ C0hat(u) ≤ u/148.5·... — C0hat(u) ≤ u (for u ≥ 318) and 148.5 ≤ u ⟹ 148.5·C0hat(u) ≤ u·u = u² ✓ (mul_le_mul (C0hat(u) ≤ u) (148.5 ≤ u) (0 ≤ 148.5) (0 ≤ u)). So I need C0hat(u) ≤ u for u ≥ 318 — where it's VERY loose. At u = 318: C0hat ≈ 0.433·5.77 + 0.886·1.75 + 2.9 ≈ 6.95 ≤ 318 ✓✓✓.
Simplest honest Lean route for C0hat(u) ≤ u at u ≥ 318: C0hat(u) = 0.433·log(u+2) + 0.886·loglog(u+2) + 2.9 ≤ 0.433·(u+1) + 0.886·(u) + 2.9?? — log(u+2) ≤ u+1 (log_le_sub_one), loglog(u+2) ≤ log(u+2) ≤ u+1: C0hat(u) ≤ (0.433+0.886)(u+1) + 2.9 = 1.319(u+1) + 2.9 ≤ u ⟺ 1.319u + 1.319 + 2.9 ≤ u ⟺ 4.219 ≤ −0.319u — FALSE again!! The crude log ≤ x−1 bound makes C0hat ~1.3u, not ≤ u. The issue: 0.433+0.886 > 1 coefficients... — wait no: log(u+2) ≤ u+1 has coefficient 1; both logs contribute ~u+1 each — total 1.319(u+1) — that exceeds u forever. The crude bound is hopeless; need log ≤ o(u): log(u+2) ≤ (u+2)/e·?? — log x ≤ x/e (at the optimum): log x ≤ x/e for all x > 0 (Real.log_le_sub_one_of_pos at x/e: log(x/e) ≤ x/e − 1 — log x − 1 ≤ x/e − 1 ⟹ log x ≤ x/e ✓ — the recipe mentions exactly this: "log x ≤ x/e (Real.log_le_sub_one_of_pos at x/e)").
log(u+2) ≤ (u+2)/e; loglog(u+2) ≤ log(u+2)/e ≤ (u+2)/e². So C0hat(u) ≤ (0.433/e + 0.886/e²)(u+2) + 2.9 = (0.433·0.3679 + 0.886·0.1353)(u+2) + 2.9 = (0.1593 + 0.1199)(u+2) + 2.9 = 0.279(u+2) + 2.9 ≤ u ⟺ 0.279u + 0.558 + 2.9 ≤ u ⟺ 3.458 ≤ 0.721u ⟺ u ≥ 4.8 ✓ — so C0hat(u) ≤ u for u ≥ ~5 via log ≤ x/e. With e ≤ 2.7183 certified (Real.exp_one_lt_d9 : e < 2.7182818286 — so 1/e ≥ 1/2.7183 — hmm — log x ≤ x/e needs e in the denominator — (u+2)/e ≤ (u+2)/2.7182?? — e > 2.7182 ⟹ 1/e < 1/2.7182 ⟹ (u+2)/e ≤ (u+2)·(1/2.7182) — hmm — 1/2.7182 ≈ 0.367885 vs 1/e ≈ 0.367879 — close but 1/e < 0.367885? — e > 2.7182 ⟹ 1/e < 1/2.7182 = 0.367885 ✓. So log(u+2) ≤ (u+2)/e ≤ 0.367885·(u+2)? — hmm — wait — log x ≤ x/e — the e is Euler's number: log x ≤ x/e ⟺ e·log x ≤ x ⟺ log(x^e) ≤ x — hmm — this is log x ≤ x/e — TRUE (standard: log x ≤ x/e since x/e is the tangent line to log at x = e). To prove in Lean: log(x/e) ≤ x/e − 1 (log_le_sub_one at x/e > 0) ⟹ log x − log e ≤ x/e − 1 ⟹ log x − 1 ≤ x/e − 1 ⟹ log x ≤ x/e ✓. With e ≈ 2.71828: log x ≤ x/e ≤ x/2.7182?? — NO — 1/e vs 1/2.7182: e ≥ 2.7182 ⟹ 1/e ≤ 1/2.7182 ⟹ x/e ≤ x/2.7182 ✓ — so log x ≤ x/e ≤ 0.36789·x... — hmm 1/2.7182 = 0.3678894... — and e ≤ 2.7183 gives 1/e ≥ 0.3678757 — the WRONG direction for upper-bounding 1/e. I need 1/e ≤ c for an upper bound on log x ≤ c·x — from e ≥ 2.7182 (lower bound on e): 1/e ≤ 1/2.7182 = 0.3678894. Do I have e ≥ 2.7182 certified? Real.exp_one_gt_d9?? — there might be `Real.exp_one_gt_d9 : 2.7182818283 < exp 1`? — hmm — exp_one_lt_d9 gives UPPER. For a lower bound on e: e > 2.7 trivially from exp_one_gt?? — or from add_one_le_exp: 1+1 ≤ e ✓ (e ≥ 2). e ≥ 2.7: from exp(1) ≥ sum of series terms: 1+1+1/2+1/6+1/24+1/120 = 2.7083 — via Real.add_one_le_exp?? — that gives x+1 ≤ e^x — at x=1: 2 ≤ e. For better: `Real.exp_one_gt_d9`? — let me check if it exists — likely yes (companion to lt_d9): `Real.exp_one_gt_d9 : 2.7182818283 < Real.exp 1`? — I'll grep.
So C0hat(u) ≤ u for u ≥ 318 (much weaker than u ≥ 5 — plenty of room):
C0hat(u) = 0.433L + 0.886LL + 2.9 with L := log(u+2), LL := log L.
L ≤ (u+2)/e ≤ 0.3679·(u+2) [needs 1/e ≤ 0.3679 ⟺ e ≥ 1/0.3679 = 2.71816 — from e ≥ 2.7182?? — 1/2.7182 = 0.3678894 > 0.3679?? — hmm — 0.3679 vs 1/2.7182 = 0.367889 — 0.3679 > 0.367889 ✓ so 1/e ≤ 1/2.7182 = 0.367889 ≤ 0.3679 ✓].
LL = log L ≤ L/e ≤ (u+2)/e² ≤ 0.3679²·(u+2) = 0.13535·(u+2)?? — hmm — LL = log L ≤ L/e — wait — log L ≤ L/e (log x ≤ x/e at x := L) ✓ ≤ 0.3679·L ≤ 0.3679·0.3679·(u+2) = 0.13535·(u+2).
C0hat(u) ≤ (0.433·0.3679 + 0.886·0.13535)(u+2) + 2.9 = (0.15930 + 0.11992)(u+2) + 2.9 = 0.27922(u+2) + 2.9 ≤ u ⟺ 0.27922u + 0.55844 + 2.9 ≤ u ⟺ 3.45844 ≤ 0.72078u ⟺ u ≥ 4.798 ✓ — at u ≥ 318 trivially ✓ — the final linarith with u ≥ 318: 0.27922u + 3.45844 ≤ 0.27922u + 0.72078u·?? — just: 0.27922(u+2) + 2.9 ≤ u ⟺ 2.9 + 0.55844 ≤ u − 0.27922u = 0.72078u ⟺ 3.45844 ≤ 0.72078u — at u ≥ 318: 0.72078·318 = 229.2 ≥ 3.45844 ✓✓ linarith closes with the coefficient arithmetic ✓ (linear in u once the 0.27922(u+2) bound is established).
So the pinch is fully elementary with e ≥ 2.7182 (or even e ≥ 2.7 — let me redo with 1/e ≤ 1/2.7 = 0.3704: C0hat(u) ≤ (0.433·0.3704 + 0.886·0.13717)(u+2) + 2.9 = (0.16036 + 0.12153)(u+2) + 2.9 = 0.28189(u+2) + 2.9 ≤ u ⟺ 3.46378 ≤ 0.71811u ⟺ u ≥ 4.82 ✓ — works with just e ≥ 2.7!). e ≥ 2.7 from: exp(1) ≥ 1 + 1 + 1/2 = 2.5 via add_one_le_exp?? — no — add_one_le_exp x : x+1 ≤ exp x — at x := 1: 2 ≤ e only. For e ≥ 2.7 need a series lower bound: Real.add_one_le_exp is too weak. Options: Real.exp_one_gt_d9 (if exists) or `Real.exp_one_near_10`? — or Real.sum_... Let me check for exp_one_gt_d9.
Alternatively — avoid e-lower-bounds: prove log x ≤ x/2.7 directly?? — log x ≤ x/2.7 ⟺ 2.7·log x ≤ x ⟺ log(x^2.7) ≤ x — hmm — or: log x ≤ x/e with e := Real.exp 1, then bound 1/e from ABOVE via e ≥ 2.7: 1/e ≤ 1/2.7: e ≥ 2.7 ⟸ 2.7 ≤ exp 1 ⟸ log 2.7 ≤ 1 ⟸ ... log 2.7 ≤ 1 ⟺ 2.7 ≤ e — circular. Hmm — e ≥ 2.7: exp(1) ≥ 2.7 — via the series: Real.exp 1 = ∑' 1/n! ≥ 1 + 1 + 1/2 + 1/6 = 2.6667 — not enough; +1/24 = 2.7083 ≥ 2.7 ✓ — proving exp(1) ≥ 2.7083 from the series definition needs the partial-sum bound for exp — `Real.sum_le_exp`? or `Real.exp_one_gt_...`? Let me check what exists: grep for exp_one_gt.
Actually — check `Real.exp_one_gt_d9` exists. If not, alternative: e ≥ 2.7182 from Real.exp_one_lt_d9's companion. Let me grep.
All 6-d components located. The horizontal pinch needs a certified lower bound on `e` — checking what's available.
tool: Bash
input
{
"command": "grep -rn \"exp_one_gt\\|exp_one_near\" \"D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib/Mathlib/Analysis/Complex/ExponentialBounds.lean\" | head -5; grep -rn \"theorem log_le_sub_one_of_pos\\|theorem log_le_rpow_div\\|nonrec theorem RectangleIntegral'\\|def RectangleIntegral'\\|theorem RectangleIntegral'\" \"D:/Python/Quantum/zeta-23-lean/\" 2>/dev/null | grep -v \".lake\" | head -8",
"description": "Check exp_one_gt and RectangleIntegral' def"
}
raw content_json (database row)
[{"type":"thinking","thinking":"All the pieces:\n\n1. `sf_abs_le_rectInt_add_zeroSum (hZC) {n} (hn : 1 ≤ n) {T} (hT1 : 1 ≤ T) (hTn : √n ≤ T) (hTn1 : T ≤ √n+1) (hTwide) : |Sf n| ≤ ‖RectangleIntegral' (Jlag n) (rectZ T) (rectW n T)‖ + ‖∑ ρ ∈ (zeroBothWindow_finite T).toFinset ∪ {(-2:ℂ)}, (zeroMult ρ : ℂ) * (1 - (ρ/(ρ-1))^n)‖`\n\n2. `zeroSum_norm_le_four_FAlt_add_one (hRH : RHUpTo (3*10^12)) (hZCG : ZeroCountGlobalProp) (hNLZ : NoLowZeros) {n} {T} (hTle : T ≤ 3*10^12−1) (hT2 : 2 ≤ T) : ‖Σ‖ ≤ 4·FAlt T + 1`\n\n3. `exists_zero_avoiding_T_wide (hZC) {a} (ha : 3 ≤ a) : ∃ T, a ≤ T ∧ T ≤ a+1 ∧ ∀ ρ, IsNontrivialZero ρ → a−1 < ρ.im → ρ.im < a+2 → 1/(9·C0hat(a+2)) ≤ |ρ.im − T|`\n\n4. `Bn (F : ℝ → ℝ) (n : ℝ) := let T := √n + 1; 4·F T + 4·T·((2/3)·Z2hat T + 10.5·log(T+2) + 48) + 40·1.3352 + 2·(e⁴+1)·(7·Hhat T) + 2·DogLegRight n + IIMaj n + 1`\n\n5. `SfBoundProp := ∀ n : ℕ, 100000 ≤ n → (n:ℝ) ≤ (3·10^12 − 1)^2 → |Sf n| ≤ Bn FAlt n`\n\n6. `Hhat T := 3·C0hat T² + 10.5·log(T+2) + 48`.\n\n7. `FAlt T := (1/(2π))·(T·log T) + 0.137·log T + 0.443·log(log T) + (7/8 + 1.588)`.\n\nAlso need: `RectangleIntegral'` def — the 1/(2πi) factor. And `rectangleIntegral_Jlag_eq` (§1): RectangleIntegral (Jlag n) (rectZ T) (rectW n T) = H(−T) − H(T) + V(right) − V(left).\n\nLet me check RectangleIntegral' quickly. From Zeta23's ResidueCalcOnRectangles: HIntegral'/VIntegral' have (1/(2πi))• factors — RectangleIntegral' presumably := HIntegral' ... combination. Let me check.\n\nThe final goal structure per the recipe:\n\n|Sf n| ≤ ‖RectInt'‖ + ‖Σ‖ [6-b identity]\n ≤ (1/2π)·‖RectInt‖ + (4·FAlt T + 1) [RectInt' def + norm_smul + bridge]\n‖RectInt‖ ≤ ‖H(−T)‖ + ‖H(T)‖ + ‖Vr‖ + ‖Vl‖ [rectangleIntegral_Jlag_eq + norm_sub_le]\n ≤ [two-sides horizontal] + e^{1/3}·IIMaj + [I_III charge]\nSo |Sf n| ≤ (1/2π)·(Horiz2 + e^{1/3}·IIMaj + I_IIIcharge) + 4F + 1\n ≤ (1/2π)·(2(e⁴+1)(NI + 5.5R) + 2·DogLegRight + 2π·IIMaj + I_IIIcharge) + 4F + 1 [e^{1/3} ≤ 2π]\n ≤ (1/2π)·(2(e⁴+1)(7·Hhat T) + 2·DogLegRight + I_IIIcharge) + IIMaj + 4F + 1 [the horizontal pinch NI + 5.5R ≤ 7·Hhat; e^{1/3}·IIMaj/(2π) ≤ IIMaj]\n\nwait — let me redo the arithmetic carefully. Bn's horizontal share: 2·(e⁴+1)·(7·Hhat T) + 2·DogLegRight. My 6-c-v two-sides bound: 2·((e⁴+1)·(NI + 5.5·R(T)) + DogLegRight) where NI = 2·Z2hat(T)·log(148.5·C0hat(√n+2)) and R(T) = 10.5·log(T+2)+48.\n\nThe pinch: NI + 5.5·R(T) ≤ 7·Hhat T ⟺ 2·Z2hat(T)·log(148.5·C0hat(√n+2)) + 5.5·(10.5 log(T+2)+48) ≤ 7·(3·C0hat(T)² + 10.5 log(T+2) + 48). Per the recipe: \"suffices 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² since 5.5 ≤ 7 on the (10.5 log+48) part\". So the pinch splits:\n- 5.5·(10.5 log(T+2)+48) ≤ 7·(10.5 log(T+2)+48) ✓ (5.5 ≤ 7, the bracket ≥ 0).\n- 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² — THE real-analytic comparison. Hmm — with C0hat(T)² — C0hat t = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 and Z2hat t = 0.6·log(t+2) + 0.886·loglog(t+2) + 2.7. The argument of log on the LHS: 148.5·C0hat(√n+2) vs the RHS's 21·C0hat(T)². \n\nE-030's V3 witness says the ratio ≤ 0.40 — the honest pinch. The recipe: \"elementary L/LL comparisons with log x ≤ x/e (Real.log_le_sub_one_of_pos at x/e), certified numerics for the endpoint constants\".\n\nLet me think about the honest proof of 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 21·C0hat(T)² for T ∈ [√10⁵, 3·10¹²]:\n\nIngredients:\n- C0hat(T) ≥ 2 (two_le_C0hat, T ≥ 1) — so C0hat(T)² ≥ 2·C0hat(T).\n- log(148.5·C0hat(√n+2)): with T ≤ √n+1 ⟹ √n+2 ≤ T+1... wait — T ∈ [√n, √n+1] so √n+2 ≤ T+2?? — √n ≤ T ⟹ √n+2 ≤ T+2 ✓. So C0hat(√n+2) ≤ C0hat(T+2) (C0hat_mono, 1 ≤ √n+2 ✓... wait — need √n+2 ≤ T+2 ✓ and C0hat_mono (1 ≤ a) (a ≤ b) ✓ with a := √n+2 ≥ 1 ✓). So log(148.5·C0hat(√n+2)) ≤ log(148.5·C0hat(T+2)).\n- C0hat(T+2) vs C0hat(T): C0hat(T+2) = 0.433·log(T+4) + 0.886·loglog(T+4) + 2.9. log(T+4) vs log(T+2): log(T+4) ≤ log(T+2) + log((T+4)/(T+2)) ≤ log(T+2) + 2/(T+2) (log(1+x) ≤ x)... For T ≥ 316: 2/(T+2) ≤ 0.0063. So C0hat(T+2) ≤ C0hat(T) + 0.433·0.0063 + 0.886·(loglog(T+4) − loglog(T+2)) + 0 ≈ C0hat(T) + 0.003. This is getting into certified-numerics territory.\n\nAlternative simpler route: 148.5·C0hat(√n+2) vs something cleaner. Note log(148.5·C0hat(√n+2)) = log 148.5 + log(C0hat(√n+2)). log 148.5 ≤ 5.001 (e⁵ ≈ 148.41 < 148.5 — hmm — log 148.5: e^5 = 148.413, so log 148.5 ≈ 5.0006 — certify log 148.5 ≤ 5.001 via 148.5 ≤ e^5.001?? — e^5.001 = e^5·e^0.001 ≥ 148.413·1.001 = 148.56 ≥ 148.5 ✓ — messy certified numerics).\n\nHmm — alternatively: 148.5·C0hat(√n+2) ≤ (T+2)²?? — for T ≥ 316: C0hat(√n+2) ≤ C0hat(T+2) ≤ ~10 (C0hat at 3·10¹²+2 ≈ 0.433·29.5 + 0.886·3.4 + 2.9 ≈ 18.6 — hmm — C0hat(T+2) ≤ 19 on the whole range). 148.5·19 ≈ 2822 ≤ (318)² = 101124 ✓ — so log(148.5·C0hat(√n+2)) ≤ 2·log(T+2) — WAIT is that right? 148.5·C0hat(√n+2) ≤ (T+2)² ⟸ C0hat(√n+2) ≤ (T+2)²/148.5 — for T ≥ 316: (T+2)²/148.5 ≥ 318²/148.5 ≈ 681 ≥ 19 ≥ C0hat(√n+2) ✓ — need C0hat(√n+2) ≤ 681 — C0hat(√n+2) ≤ C0hat(T+2) and C0hat(T+2) ≤ 681?? — C0hat is increasing — on T ≤ 3·10¹²: C0hat(3·10¹²+2) ≈ 18.6 ≤ 681 ✓ — but formally bounding C0hat(T+2) by 681 needs a bound over the range... — C0hat(t) ≤ t for t ≥ ?? — C0hat(t) = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 ≤ t for t ≥ 4-ish (log(t+2) ≤ t+2−1, loglog(t+2) ≤ log(t+2) ≤ t+2) ⟹ C0hat(t) ≤ 0.433(t+1) + 0.886(t+1) + 2.9 = 1.32(t+1) + 2.9 ≤ t for t ≥ 5ish. So C0hat(√n+2) ≤ √n+2 for √n+2 ≥ 6 (n ≥ 16) — then 148.5·(√n+2) ≤ (√n+2)² ⟺ 148.5 ≤ √n+2 ⟺ √n ≥ 146.5 ⟺ n ≥ 21463 ✓ (n ≥ 10⁵). THEN: log(148.5·C0hat(√n+2)) ≤ log((√n+2)²) = 2·log(√n+2) ≤ 2·log(T+2) (√n ≤ T ⟹ √n+2 ≤ T+2 ✓).\n\nSo log(148.5·C0hat(√n+2)) ≤ 2·log(T+2)!! Clean. Then:\n2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 2·Z2hat(T)·2·log(T+2) = 4·Z2hat(T)·log(T+2).\nAnd Z2hat(T) = 0.6·log(T+2) + 0.886·loglog(T+2) + 2.7. Hmm — Z2hat(T) vs C0hat(T) = 0.433·log(T+2) + 0.886·loglog(T+2) + 2.9: Z2hat(T) ≤ 2·C0hat(T)?? — 0.6L + 0.886LL + 2.7 ≤ 2·(0.433L + 0.886LL + 2.9) = 0.866L + 1.772LL + 5.8 ⟺ 0 ≤ 0.266L + 0.886LL + 3.1 ✓ TRUE (L, LL ≥ 0 for T ≥ 1). So Z2hat(T) ≤ 2·C0hat(T) (elementary, no numerics).\n\nThen 4·Z2hat(T)·log(T+2) ≤ 8·C0hat(T)·log(T+2). And we want ≤ 21·C0hat(T)² ⟸ 8·log(T+2) ≤ 21·C0hat(T) ⟺ C0hat(T) ≥ (8/21)·log(T+2). C0hat(T) = 0.433·log(T+2) + 0.886·loglog(T+2) + 2.9 ≥ 0.433·log(T+2) ≥ (8/21)·log(T+2) ⟺ 0.433 ≥ 8/21 ≈ 0.381 ✓ TRUE. So:\n\n2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 4·Z2hat(T)·log(T+2) ≤ 8·C0hat(T)·log(T+2) ≤ 8·(C0hat(T)/0.433)·C0hat(T)?? — hmm — cleaner: C0hat(T) ≥ 0.433·log(T+2) ⟹ log(T+2) ≤ C0hat(T)/0.433. So 8·C0hat(T)·log(T+2) ≤ 8·C0hat(T)²/0.433 = 18.48·C0hat(T)² ≤ 21·C0hat(T)² ✓ (18.48 ≤ 21 — with 8/0.433 = 18.4757... ≤ 21 ✓).\n\nHmm — 8/0.433: 0.433·21 = 9.093 > 8 ✓ so 8·C0hat·log(T+2) ≤ 8·C0hat²/0.433 ≤ 21·C0hat² ⟺ 8/0.433 ≤ 21 ⟺ 8 ≤ 9.093 ✓.\n\nSo the chain (all elementary, no certified numerics!):\n1. C0hat(√n+2) ≤ √n+2 [if C0hat(t) ≤ t for t ≥ some bound — need to prove: C0hat(t) = 0.433·log(t+2) + 0.886·loglog(t+2) + 2.9 ≤ t for t ≥ ?? — let me verify at what t: at t = 148: 0.433·log(150) ≈ 0.433·5.01 ≈ 2.17, 0.886·log(5.01) ≈ 0.886·1.61 ≈ 1.43, +2.9 ≈ 6.5 ≤ 148 ✓. The bound C0hat(t) ≤ t holds WAY earlier. Formally: log(t+2) ≤ (t+2)/e·e?? — log x ≤ x/e (Real.log_le_sub_one_of_pos gives log x ≤ x−1 — log(t+2) ≤ t+1; loglog(t+2) ≤ log(t+2) ≤ t+1. So C0hat(t) ≤ 0.433(t+1) + 0.886(t+1) + 2.9 = 1.319·(t+1) + 2.9 ≤ t ⟺ 2.9 + 1.319 ≤ t − 1.319t + ... hmm — 1.319(t+1)+2.9 ≤ t ⟺ 1.319t + 1.319 + 2.9 ≤ t ⟺ 4.219 ≤ −0.319t — FALSE. So C0hat(t) ≤ t does NOT hold for small t via this crude route — at t = 20: 1.319·21 + 2.9 = 30.6 > 20 ✗. At t = 100: 1.319·101+2.9 = 136 > 100 ✗. At t = 200: 1.319·201+2.9 = 268 > 200 ✗. Hmm — the crude log x ≤ x−1 is too lossy. With log x ≤ 2√x (softer): log(t+2) ≤ 2√(t+2), loglog(t+2) ≤ √(t+2)... 0.433·2√ + 0.886·√ + 2.9 = 1.752√(t+2) + 2.9 ≤ t ⟺ ... at t = 148: 1.752·12.2 + 2.9 = 24.3 ≤ 148 ✓ — at t = 20: 1.752·4.7+2.9 = 11.1 ≤ 20 ✓ — at t = 10: 1.752·3.46+2.9 = 8.96 ≤ 10 ✓ — at t = 8: 1.752·3.16+2.9 = 8.44 > 8 ✗ — so C0hat(t) ≤ t for t ≥ ~10 via log x ≤ 2√x. Proving log x ≤ 2√x in Lean: Real.log_le_sub_one_of_pos at √x: log(√x) ≤ √x − 1 — log(√x) = (1/2)log x ⟹ log x ≤ 2(√x−1) ≤ 2√x ✓ — via Real.log_sqrt (log √x = (log x)/2) + Real.log_le_sub_one_of_pos (√x > 0).\n\nSo: C0hat(t) ≤ t for t ≥ 10:\nC0hat(t) = 0.433L + 0.886LL + 2.9 with L := log(t+2), LL := log L.\nL ≤ 2√(t+2) (via the above); LL = log L ≤ L/e·e?? — LL ≤ L − 1 ≤ L ≤ 2√(t+2) hmm — or LL ≤ √(t+2)?? — log L ≤ L − 1 ≤ L ≤ 2√(t+2) — use LL ≤ 2√(t+2) too. So C0hat(t) ≤ (0.433+0.886)·2√(t+2) + 2.9 = 2.638·√(t+2) + 2.9 ≤ t for t ≥ 10: at t = 10: 2.638·3.46 + 2.9 = 12.0 > 10 ✗. Hmm — at t = 15: 2.638·4.12+2.9 = 13.8 ≤ 15 ✓. at t = 13: 2.638·3.87+2.9 = 13.1 > 13 ✗. at t = 14: 2.638·4+2.9 = 13.45 ≤ 14 ✓. So C0hat(t) ≤ t for t ≥ 14. Formally: 2.638·√(t+2) + 2.9 ≤ t ⟺ 2.638·√(t+2) ≤ t − 2.9 ⟺ (2.638)²(t+2) ≤ (t−2.9)² for t ≥ 14: 6.96(t+2) ≤ (t−2.9)² = t² − 5.8t + 8.41 ⟺ 0 ≤ t² − 12.76t − 5.5 — at t = 14: 196 − 178.6 − 5.5 = 11.9 > 0 ✓ and increasing for t ≥ 14 (derivative 2t − 12.76 > 0 for t > 6.4) ✓. So C0hat(t) ≤ t for t ≥ 14, provable by: square both sides (nonneg), quadratic comparison, elementary.\n\nHmm — this is honest but fiddly. Since √n ≥ 316 (n ≥ 10⁵), I only need C0hat(√n+2) ≤ √n+2 for √n ≥ 316 — i.e., t ≥ 318 — where the bound is LOOSE. Maybe simpler: 148.5·C0hat(√n+2) ≤ (√n+2)² — directly: C0hat(√n+2) ≤ (√n+2)²/148.5 — with √n+2 ≥ 318: (√n+2)²/148.5 ≥ 318²/148.5 = 681 ≥ C0hat(√n+2)?? — need C0hat(√n+2) ≤ 681 — C0hat(√n+2) ≤ C0hat-ish bound — hmm — C0hat(t) ≤ t for t ≥ 318: 2.638√(t+2)+2.9 ≤ t at t = 318: 2.638·17.9+2.9 = 50.1 ≤ 318 ✓✓ — the square comparison at t ≥ 318 is even looser. \n\nOK — the plan for the pinch lemma (Lean): \n**pinch_horizontal**: for T ≥ √n (n ≥ 10⁵) — i.e., T ≥ 316...:\n2·Z2hat(T)·log(148.5·C0hat(√n+2)) + 5.5·(10.5·log(T+2)+48) ≤ 7·Hhat T.\n\nStructure:\n(a) log(148.5·C0hat(√n+2)) ≤ 2·log(T+2):\n - C0hat(√n+2) ≤ √n+2 [needs: C0hat(t) ≤ t for t ≥ 14, applied at t := √n+2 ≥ 318]\n - 148.5·C0hat(√n+2) ≤ (√n+2)² [148.5 ≤ √n+2 since √n ≥ 316 ⟹ 148.5·C0hat ≤ (√n+2)·(√n+2) via C0hat ≤ √n+2 and 148.5 ≤ √n+2 — mul_le_mul (C0hat ≤ √n+2) (148.5 ≤ √n+2) (0 ≤ 148.5) (0 ≤ √n+2)]\n - log(148.5·C0hat(√n+2)) ≤ log((√n+2)²) = 2·log(√n+2) ≤ 2·log(T+2) [√n+2 ≤ T+2 ✓].\n(b) 2·Z2hat(T)·log(148.5·C0hat(√n+2)) ≤ 2·Z2hat(T)·2·log(T+2) = 4·Z2hat(T)·log(T+2) [Z2hat ≥ 0].\n(c) Z2hat(T) ≤ 2·C0hat(T) [elementary: 0.6L+0.886LL+2.7 ≤ 2·(0.433L+0.886LL+2.9) ⟺ 0 ≤ 0.266L+0.886LL+3.1 — L, LL ≥ 0 for T ≥ 1 ✓ (L = log(T+2) ≥ 1, LL ≥ 0 — as in Z2hat_mono's proof)].\n(d) 4·Z2hat·log(T+2) ≤ 8·C0hat·log(T+2) ≤ 21·C0hat² ⟸ 8·log(T+2) ≤ 21·C0hat ⟸ log(T+2) ≤ (21/8)·C0hat ⟸ C0hat ≥ 0.433·log(T+2) and 1/0.433 ≤ 21/8 = 2.625 ⟺ 8 ≤ 2.625·0.433·8?? — let me redo: 8·C0hat·log(T+2) ≤ 21·C0hat² ⟺ 8·log(T+2) ≤ 21·C0hat (C0hat > 0) ⟸ log(T+2) ≤ (21/8)·C0hat(T) ⟸ C0hat(T) ≥ (8/21)·log(T+2) ⟸ 0.433·log(T+2) + 0.886LL + 2.9 ≥ (8/21)·log(T+2) ⟺ (0.433 − 0.381)·log(T+2) + 0.886LL + 2.9 ≥ 0 ✓ (0.433 > 8/21 = 0.380952... — certify 8/21 ≤ 0.433 ⟺ 8 ≤ 9.093 ⟺ 21·0.433 = 9.093 ✓ norm_num with 0.433·21 = 9.093 ≥ 8 ✓).\n So: log(T+2) ≤ C0hat(T)/0.433 hmm — cleaner: 0.433·log(T+2) ≤ C0hat(T) (since 0.886LL + 2.9 ≥ 0) ⟹ 8·log(T+2) = (8/0.433)·(0.433·log(T+2)) ≤ (8/0.433)·C0hat(T) ≤ 21·C0hat(T) (8/0.433 ≤ 21 ⟺ 8 ≤ 9.093 ✓). Then 8·C0hat·log(T+2) ≤ 21·C0hat·C0hat = 21·C0hat² — via mul_le_mul (8·log(T+2) ≤ 21·C0hat) (C0hat ≤ C0hat) (0 ≤ C0hat) (0 ≤ 21·C0hat)... — mul_le_mul (h₁ : 8·log(T+2) ≤ 21·C0hat) (h₂ : C0hat ≤ C0hat) (0 ≤ C0hat) (0 ≤ 21·C0hat) : 8·log(T+2)·C0hat ≤ 21·C0hat·C0hat ✓ then rearrange (ring).\n(e) 5.5·(10.5·log(T+2)+48) ≤ 7·(10.5·log(T+2)+48) ✓ (bracket ≥ 0 — 10.5·log(T+2)+48 ≥ 48 > 0 ✓).\n(f) Hhat T = 3·C0hat² + (10.5·log(T+2)+48): so (b)+(d) gives NI ≤ 21·C0hat² + ... wait — assemble: NI + 5.5R = 2·Z2hat·log(148.5·C0hat) + 5.5·R ≤ 21·C0hat² + 7·R [from (a)-(d) and (e)] ≤ 7·(3·C0hat² + R) = 7·Hhat T ⟺ 21·C0hat² ≤ 21·C0hat² ✓ and 7·R ≤ 7·R ✓. ✓✓\n\nSo pinch_horizontal is fully elementary modulo:\n- C0hat(t) ≤ t for t ≥ 14 (needs the log ≤ 2√ machine).\n- 148.5 ≤ √n+2 (√n ≥ 316).\n- Z2hat ≤ 2·C0hat (elementary L/LL nonneg).\n- C0hat ≥ 0.433·log(T+2) (LL, const nonneg).\n- 8 ≤ 21·0.433 (norm_num).\n\nThe C0hat(t) ≤ t lemma:\n```lean\ntheorem C0hat_le_self {t : ℝ} (ht : 14 ≤ t) : C0hat t ≤ t := by\n -- log(t+2) ≤ 2·√(t+2); loglog(t+2) ≤ 2·√(t+2) [via log x ≤ x−1 at √x]\n have ht2 : (0:ℝ) < t + 2 := by linarith\n have hL : Real.log (t + 2) ≤ 2 * Real.sqrt (t + 2) := by\n have h1 := Real.log_le_sub_one_of_pos (Real.sqrt_pos.mpr ht2)\n -- h1 : log(√(t+2)) ≤ √(t+2) − 1\n rw [Real.log_sqrt ht2.le] at h1 -- log(√x) = (log x)/2\n -- (log(t+2))/2 ≤ √(t+2) − 1 ⟹ log(t+2) ≤ 2√(t+2) − 2 ≤ 2√(t+2)\n nlinarith [Real.sqrt_nonneg (t + 2)]\n have hLL : Real.log (Real.log (t + 2)) ≤ 2 * Real.sqrt (t + 2) := by\n have h1 := Real.log_le_sub_one_of_pos (Real.log_pos (show (1:ℝ) < t + 2 by linarith))\n -- h1 : log(log(t+2)) ≤ log(t+2) − 1 ≤ log(t+2) ≤ 2√(t+2)\n linarith [hL, Real.log_le_sub_one_of_pos (Real.log_pos ...)]\n -- C0hat t = 0.433·L + 0.886·LL + 2.9 ≤ (0.433+0.886)·2√(t+2) + 2.9 ≤ t\n have hsq : 2.638 * Real.sqrt (t + 2) + 2.9 ≤ t := by\n -- square both sides\n have hsqrt_pos : 0 < Real.sqrt (t + 2) := Real.sqrt_pos.mpr ht2\n have h1 : (2.638 * Real.sqrt (t + 2) + 2.9) ^ 2 ≤ t ^ 2 := by\n rw [Real.sq_sqrt ht2.le] -- hmm — need ((2.638√(t+2)+2.9)²) expansion\n ...\n```\n\nHmm — proving 2.638·√(t+2) + 2.9 ≤ t for t ≥ 14: square: (2.638√(t+2)+2.9)² ≤ t² ⟺ 6.96(t+2) + 2·2.638·2.9·√(t+2) + 8.41 ≤ t² ⟺ 6.96t + 13.9 + 15.3·√(t+2) + 8.41 ≤ t² ⟺ 6.96t + 22.3 + 15.3·√(t+2) ≤ t². With √(t+2) ≤ (t+2)/2 (for t+2 ≥ 4 ⟺ t ≥ 2: √x ≤ x/2 ⟺ x ≥ 4): 15.3·√(t+2) ≤ 7.65(t+2) = 7.65t + 15.3. So LHS ≤ 6.96t + 22.3 + 7.65t + 15.3 = 14.61t + 37.6 ≤ t² ⟺ t² − 14.61t − 37.6 ≥ 0 — at t = 17: 289 − 248.4 − 37.6 = 3 > 0 ✓ — at t = 14: 196 − 204.5 − 37.6 = −46 ✗!! — hmm — so t ≥ 14 is NOT enough via this crude chain. Let me check the ACTUAL value at t = 14: C0hat(14) = 0.433·log(16) + 0.886·loglog(16) + 2.9 = 0.433·2.773 + 0.886·1.020 + 2.9 = 1.201 + 0.904 + 2.9 = 5.005 ≤ 14 ✓✓ — the bound holds easily at 14; my chain is just lossy. Since I only need t ≥ 318 (√n+2 for n ≥ 10⁵), let me just require t ≥ 100 (or 318): at t = 100: 2.638·√102 + 2.9 = 2.638·10.1 + 2.9 = 29.5 ≤ 100 ✓ via the square comparison: (2.638√(t+2)+2.9)² ≤ t² ⟸ 6.96(t+2) + 15.3√(t+2) + 8.41 ≤ t² — with √(t+2) ≤ (t+2)/4 at t ≥ 14?? — √x ≤ x/4 ⟺ x ≥ 16 ⟺ t ≥ 14 ✓ — 15.3·√(t+2) ≤ 15.3(t+2)/4 = 3.825(t+2): LHS ≤ 6.96(t+2) + 3.825(t+2) + 8.41 = 10.785(t+2) + 8.41 = 10.785t + 30 ≤ t² ⟺ t² − 10.785t − 30 ≥ 0 — at t = 14: 196 − 151 − 30 = 15 > 0 ✓ — and t² − 10.785t − 30 is increasing for t ≥ 14 (2t > 10.785 ✓). So C0hat(t) ≤ t for t ≥ 14 — with the auxiliary √x ≤ x/4 for x ≥ 16.\n\nUgh — this is getting heavy. Let me simplify the whole C0hat ≤ t business: actually, what I ACTUALLY need is just `148.5·C0hat(√n+2) ≤ (√n+2)²`. Since √n ≥ 316 (n ≥ 10⁵), set u := √n+2 ≥ 318: 148.5·C0hat(u) ≤ u² ⟸ C0hat(u) ≤ u²/148.5 ⟸ C0hat(u) ≤ u/148.5·... — C0hat(u) ≤ u (for u ≥ 318) and 148.5 ≤ u ⟹ 148.5·C0hat(u) ≤ u·u = u² ✓ (mul_le_mul (C0hat(u) ≤ u) (148.5 ≤ u) (0 ≤ 148.5) (0 ≤ u)). So I need C0hat(u) ≤ u for u ≥ 318 — where it's VERY loose. At u = 318: C0hat ≈ 0.433·5.77 + 0.886·1.75 + 2.9 ≈ 6.95 ≤ 318 ✓✓✓. \n\nSimplest honest Lean route for C0hat(u) ≤ u at u ≥ 318: C0hat(u) = 0.433·log(u+2) + 0.886·loglog(u+2) + 2.9 ≤ 0.433·(u+1) + 0.886·(u) + 2.9?? — log(u+2) ≤ u+1 (log_le_sub_one), loglog(u+2) ≤ log(u+2) ≤ u+1: C0hat(u) ≤ (0.433+0.886)(u+1) + 2.9 = 1.319(u+1) + 2.9 ≤ u ⟺ 1.319u + 1.319 + 2.9 ≤ u ⟺ 4.219 ≤ −0.319u — FALSE again!! The crude log ≤ x−1 bound makes C0hat ~1.3u, not ≤ u. The issue: 0.433+0.886 > 1 coefficients... — wait no: log(u+2) ≤ u+1 has coefficient 1; both logs contribute ~u+1 each — total 1.319(u+1) — that exceeds u forever. The crude bound is hopeless; need log ≤ o(u): log(u+2) ≤ (u+2)/e·?? — log x ≤ x/e (at the optimum): log x ≤ x/e for all x > 0 (Real.log_le_sub_one_of_pos at x/e: log(x/e) ≤ x/e − 1 — log x − 1 ≤ x/e − 1 ⟹ log x ≤ x/e ✓ — the recipe mentions exactly this: \"log x ≤ x/e (Real.log_le_sub_one_of_pos at x/e)\").\n\nlog(u+2) ≤ (u+2)/e; loglog(u+2) ≤ log(u+2)/e ≤ (u+2)/e². So C0hat(u) ≤ (0.433/e + 0.886/e²)(u+2) + 2.9 = (0.433·0.3679 + 0.886·0.1353)(u+2) + 2.9 = (0.1593 + 0.1199)(u+2) + 2.9 = 0.279(u+2) + 2.9 ≤ u ⟺ 0.279u + 0.558 + 2.9 ≤ u ⟺ 3.458 ≤ 0.721u ⟺ u ≥ 4.8 ✓ — so C0hat(u) ≤ u for u ≥ ~5 via log ≤ x/e. With e ≤ 2.7183 certified (Real.exp_one_lt_d9 : e < 2.7182818286 — so 1/e ≥ 1/2.7183 — hmm — log x ≤ x/e needs e in the denominator — (u+2)/e ≤ (u+2)/2.7182?? — e > 2.7182 ⟹ 1/e < 1/2.7182 ⟹ (u+2)/e ≤ (u+2)·(1/2.7182) — hmm — 1/2.7182 ≈ 0.367885 vs 1/e ≈ 0.367879 — close but 1/e < 0.367885? — e > 2.7182 ⟹ 1/e < 1/2.7182 = 0.367885 ✓. So log(u+2) ≤ (u+2)/e ≤ 0.367885·(u+2)? — hmm — wait — log x ≤ x/e — the e is Euler's number: log x ≤ x/e ⟺ e·log x ≤ x ⟺ log(x^e) ≤ x — hmm — this is log x ≤ x/e — TRUE (standard: log x ≤ x/e since x/e is the tangent line to log at x = e). To prove in Lean: log(x/e) ≤ x/e − 1 (log_le_sub_one at x/e > 0) ⟹ log x − log e ≤ x/e − 1 ⟹ log x − 1 ≤ x/e − 1 ⟹ log x ≤ x/e ✓. With e ≈ 2.71828: log x ≤ x/e ≤ x/2.7182?? — NO — 1/e vs 1/2.7182: e ≥ 2.7182 ⟹ 1/e ≤ 1/2.7182 ⟹ x/e ≤ x/2.7182 ✓ — so log x ≤ x/e ≤ 0.36789·x... — hmm 1/2.7182 = 0.3678894... — and e ≤ 2.7183 gives 1/e ≥ 0.3678757 — the WRONG direction for upper-bounding 1/e. I need 1/e ≤ c for an upper bound on log x ≤ c·x — from e ≥ 2.7182 (lower bound on e): 1/e ≤ 1/2.7182 = 0.3678894. Do I have e ≥ 2.7182 certified? Real.exp_one_gt_d9?? — there might be `Real.exp_one_gt_d9 : 2.7182818283 < exp 1`? — hmm — exp_one_lt_d9 gives UPPER. For a lower bound on e: e > 2.7 trivially from exp_one_gt?? — or from add_one_le_exp: 1+1 ≤ e ✓ (e ≥ 2). e ≥ 2.7: from exp(1) ≥ sum of series terms: 1+1+1/2+1/6+1/24+1/120 = 2.7083 — via Real.add_one_le_exp?? — that gives x+1 ≤ e^x — at x=1: 2 ≤ e. For better: `Real.exp_one_gt_d9`? — let me check if it exists — likely yes (companion to lt_d9): `Real.exp_one_gt_d9 : 2.7182818283 < Real.exp 1`? — I'll grep.\n\nSo C0hat(u) ≤ u for u ≥ 318 (much weaker than u ≥ 5 — plenty of room):\nC0hat(u) = 0.433L + 0.886LL + 2.9 with L := log(u+2), LL := log L.\nL ≤ (u+2)/e ≤ 0.3679·(u+2) [needs 1/e ≤ 0.3679 ⟺ e ≥ 1/0.3679 = 2.71816 — from e ≥ 2.7182?? — 1/2.7182 = 0.3678894 > 0.3679?? — hmm — 0.3679 vs 1/2.7182 = 0.367889 — 0.3679 > 0.367889 ✓ so 1/e ≤ 1/2.7182 = 0.367889 ≤ 0.3679 ✓].\nLL = log L ≤ L/e ≤ (u+2)/e² ≤ 0.3679²·(u+2) = 0.13535·(u+2)?? — hmm — LL = log L ≤ L/e — wait — log L ≤ L/e (log x ≤ x/e at x := L) ✓ ≤ 0.3679·L ≤ 0.3679·0.3679·(u+2) = 0.13535·(u+2).\nC0hat(u) ≤ (0.433·0.3679 + 0.886·0.13535)(u+2) + 2.9 = (0.15930 + 0.11992)(u+2) + 2.9 = 0.27922(u+2) + 2.9 ≤ u ⟺ 0.27922u + 0.55844 + 2.9 ≤ u ⟺ 3.45844 ≤ 0.72078u ⟺ u ≥ 4.798 ✓ — at u ≥ 318 trivially ✓ — the final linarith with u ≥ 318: 0.27922u + 3.45844 ≤ 0.27922u + 0.72078u·?? — just: 0.27922(u+2) + 2.9 ≤ u ⟺ 2.9 + 0.55844 ≤ u − 0.27922u = 0.72078u ⟺ 3.45844 ≤ 0.72078u — at u ≥ 318: 0.72078·318 = 229.2 ≥ 3.45844 ✓✓ linarith closes with the coefficient arithmetic ✓ (linear in u once the 0.27922(u+2) bound is established).\n\nSo the pinch is fully elementary with e ≥ 2.7182 (or even e ≥ 2.7 — let me redo with 1/e ≤ 1/2.7 = 0.3704: C0hat(u) ≤ (0.433·0.3704 + 0.886·0.13717)(u+2) + 2.9 = (0.16036 + 0.12153)(u+2) + 2.9 = 0.28189(u+2) + 2.9 ≤ u ⟺ 3.46378 ≤ 0.71811u ⟺ u ≥ 4.82 ✓ — works with just e ≥ 2.7!). e ≥ 2.7 from: exp(1) ≥ 1 + 1 + 1/2 = 2.5 via add_one_le_exp?? — no — add_one_le_exp x : x+1 ≤ exp x — at x := 1: 2 ≤ e only. For e ≥ 2.7 need a series lower bound: Real.add_one_le_exp is too weak. Options: Real.exp_one_gt_d9 (if exists) or `Real.exp_one_near_10`? — or Real.sum_... Let me check for exp_one_gt_d9.\n\nAlternatively — avoid e-lower-bounds: prove log x ≤ x/2.7 directly?? — log x ≤ x/2.7 ⟺ 2.7·log x ≤ x ⟺ log(x^2.7) ≤ x — hmm — or: log x ≤ x/e with e := Real.exp 1, then bound 1/e from ABOVE via e ≥ 2.7: 1/e ≤ 1/2.7: e ≥ 2.7 ⟸ 2.7 ≤ exp 1 ⟸ log 2.7 ≤ 1 ⟸ ... log 2.7 ≤ 1 ⟺ 2.7 ≤ e — circular. Hmm — e ≥ 2.7: exp(1) ≥ 2.7 — via the series: Real.exp 1 = ∑' 1/n! ≥ 1 + 1 + 1/2 + 1/6 = 2.6667 — not enough; +1/24 = 2.7083 ≥ 2.7 ✓ — proving exp(1) ≥ 2.7083 from the series definition needs the partial-sum bound for exp — `Real.sum_le_exp`? or `Real.exp_one_gt_...`? Let me check what exists: grep for exp_one_gt.\n\nActually — check `Real.exp_one_gt_d9` exists. If not, alternative: e ≥ 2.7182 from Real.exp_one_lt_d9's companion. Let me grep.","signature":""},{"type":"text","text":"All 6-d components located. The horizontal pinch needs a certified lower bound on `e` — checking what's available."},{"type":"tool_use","id":"Bash_159","name":"Bash","input":{"command":"grep -rn \"exp_one_gt\\|exp_one_near\" \"D:/Python/Quantum/zeta-23-lean/.lake/packages/mathlib/Mathlib/Analysis/Complex/ExponentialBounds.lean\" | head -5; grep -rn \"theorem log_le_sub_one_of_pos\\|theorem log_le_rpow_div\\|nonrec theorem RectangleIntegral'\\|def RectangleIntegral'\\|theorem RectangleIntegral'\" \"D:/Python/Quantum/zeta-23-lean/\" 2>/dev/null | grep -v \".lake\" | head -8","description":"Check exp_one_gt and RectangleIntegral' def"},"extra_content":null}]