Current task: —

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

#2132 assistant 2026-08-26 06:02:31.313 UTC · 753→3083 tok open ⤢
thinking (4518 chars)
Three errors: 1. **Line 357 (e)**: after `rw [show σ = (σ−2)+2, Real.rpow_add]` the goal became `Λ m * ↑m ^ (σ−2+2−2) = Λ m * ↑m ^ (σ−2)` — field_simp normalized but left `σ−2+2−2` vs `σ−2` — needs a `ring`-level finish on the exponent. The `e` proof after field_simp has the leftover `↑m ^ (σ - 2 + 2 - 2)` — field_simp probably cleared denominators and produced this; add `ring_nf` or handle the exponent: simplest: after the rw chain, the goal should be closable by `ring`? The displayed leftover is an exponent-arithmetic identity — `ring_nf` should close, or rewrite σ−2+2−2 = σ−2 by `ring_nf` on the exponent... Let me restructure e's proof: ``` have e : Λ m / (m : ℝ) ^ σ = (1 / (m : ℝ) ^ (σ - 2)) * (Λ m / (m : ℝ) ^ (2 : ℝ)) := by rw [show (σ : ℝ) = (σ - 2) + 2 by ring, Real.rpow_add (by positivity : (0:ℝ) < (m:ℝ))] field_simp [show (m : ℝ) ≠ 0 by positivity] ring_nf ``` Hmm — field_simp then the leftover was an identity `Λ * ↑m^(σ−2+2−2) = Λ * ↑m^(σ−2)` — the exponent has (σ−2+2−2): `ring_nf` should normalize σ−2+2−2 → σ−2 making both sides match... Actually safer: make e's RHS form match what field_simp produces: use congr 1 on the exponent? Alternative clean: avoid rpow_add: prove e via Real.rpow_sub: x^(σ) = x^(σ−2)·x² ⟹ Λ/x^σ = Λ/(x^{σ−2}·x²) = (1/x^{σ−2})·(Λ/x²): ``` rw [show (σ : ℝ) = (σ - 2) + 2 by ring, Real.rpow_add (by positivity : (0 : ℝ) < (m : ℝ)), show (2 : ℝ) = ((2 : ℕ) : ℝ) by norm_num, Real.rpow_natCast] field_simp [show (m : ℝ) ≠ 0 by positivity] ``` Hmm — the leftover `↑m ^ (σ - 2 + 2 - 2)` — that came from field_simp multiplying both sides by m^{σ−2}·m^σ... The identity `Λ * ↑m ^ (σ - 2 + 2 - 2) = Λ * ↑m ^ (σ - 2)` — just needs the exponent simplified: `congr 1; ring`? congr 1 on the multiplication: goals Λ = Λ ✓rfl and ↑m^(σ−2+2−2) = ↑m^(σ−2): congr 1 again: exponent identity σ−2+2−2 = σ−2: ring ✓. But nested congrs — simpler: `ring_nf` at the end (ring_nf normalizes ring expressions INCLUDING real exponents' arithmetic ✓). Let me use: field_simp then `ring_nf`. 2. **Line 363 (Real.rpow_neg)**: its signature wants 0 ≤ x (not 0 < x)! `Real.rpow_neg (hx : 0 ≤ x) : x ^ (-y) = (x ^ y)⁻¹`?? — the error says expected 0 ≤ 2. Easy: `Real.rpow_neg (by norm_num : (0 : ℝ) ≤ 2)`. Hmm wait — actually rpow_neg needs 0 ≤ x: x^(-y) = (x^y)⁻¹ — for x = 0 it's 0⁻¹ = 0 junk ✓ so 0 ≤ x suffices. Pass ≤. Hmm — but then the one_div_le_one_div_of_le after: (2^{σ−2})⁻¹ = 1/2^{σ−2}: the ⁻¹ vs 1/ form — the goal after rw [Real.rpow_neg]: 1/↑m^(σ−2) ≤ (↑2^(σ−2))⁻¹ — then one_div_le_one_div_of_le needs the 1/ form: rewrite ⁻¹ to 1/: `rw [Real.rpow_neg, ← one_div]`? or the one_div lemma's conclusion matches ⁻¹? one_div_le_one_div_of_le proves `1/b ≤ 1/a` — the goal's RHS is (2^(σ−2))⁻¹ — one_div x = x⁻¹ defeq ✓ — apply one_div_le_one_div_of_le might unify 1/x with x⁻¹ ✓ (defeq). Let me also add `show ... = 1 / ...` if needed — try with the ≤ fix first. 3. **Line 403 (Summable.tsum_le_tsum)**: the comparison lemma norm_term_vonMangoldt_le_two_pow is stated at (σ : ℂ) (cast of REAL σ) but the tsum is at ((σ : ℝ) + t * Complex.I) — DIFFERENT complex points! My comparison lemma's s = (σ:ℂ) (real σ cast to ℂ) but the actual integrand point is σ+it (complex with im = t). The norm ‖term Λ s n‖ depends only on s.re (norm_term_eq has n ^ s.re) — so I should state the comparison for the actual point ((σ:ℝ)+t·I): ‖term Λ (σ+tI) n‖ ≤ 2^{−(σ−2)}‖term Λ 2 n‖ — with ((σ+tI).re) = σ. Fix: state the comparison with s : ℂ general + hs : 2 ≤ s.re? The cleanest: make the comparison lemma take s : ℂ with (hs : 2 ≤ s.re): Actually simplest: parameterize by the complex point: norm_term_vonMangoldt_le_two_pow {s : ℂ} {σ : ℝ} (hs : s.re = σ) (hσ : 2 ≤ σ) (n : ℕ) : ‖term Λ s n‖ ≤ 2^{−(σ−2)}·‖term Λ 2 n‖. Then apply with s := σ+tI, hs := by simp. Or just restate for the point directly: ``` lemma norm_term_vonMangoldt_le_two_pow {σ t : ℝ} (hσ : 2 ≤ σ) (m : ℕ) : ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) ((σ : ℝ) + t * Complex.I) m‖ ≤ (2 : ℝ) ^ (-(σ - 2)) * ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) (2 : ℂ) m‖ := by have hσre : ((σ : ℝ) + t * Complex.I).re = σ := by simp ... ``` with hσre proved by simp (the (σ:ℝ)+t*I .re = σ: simp [Complex.add_re, Complex.ofReal_re, Complex.mul_re, Complex.I_re] ✓). And the callers' hσre : ((σ:ℂ).re) = σ := rfl stays for the (2:ℂ) side ✓. Apply at the tsum with the same point ✓. Apply the three fixes.
Three fixes: `ring_nf` finish for the rpow_add exponent, `Real.rpow_neg` wants `0 ≤ x`, and the comparison lemma must be at the actual point σ+it (not the real cast).
tool: Edit
input
{
  "file_path": "D:\\Python\\Quantum\\research\\lean\\NguyenRH1\\NguyenRH1\\LiDogLeg.lean",
  "old_string": "lemma norm_term_vonMangoldt_le_two_pow {\u03c3 : \u211d} (h\u03c3 : 2 \u2264 \u03c3) (m : \u2115) :\n    \u2016LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : \u2102)) (\u03c3 : \u2102) m\u2016 \u2264\n      (2 : \u211d) ^ (-(\u03c3 - 2)) * \u2016LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : \u2102)) (2 : \u2102) m\u2016 := by\n  have h\u03c3re : ((\u03c3 : \u2102).re) = \u03c3 := rfl\n  have h2re : ((2 : \u2102).re) = 2 := rfl\n  simp only [LSeries.norm_term_eq, h\u03c3re, h2re]\n  split\n  \u00b7 norm_num\n  \u00b7 next hm =>\n    have h\u039b : \u2016(ArithmeticFunction.vonMangoldt m : \u2102)\u2016 =\n        ArithmeticFunction.vonMangoldt m :=\n      Complex.norm_of_nonneg ArithmeticFunction.vonMangoldt_nonneg\n    rw [h\u039b]\n    rcases eq_or_ne m 1 with rfl | hm1\n    \u00b7 simp [ArithmeticFunction.vonMangoldt_apply_one]\n    \u00b7 have hm2 : 2 \u2264 m := by omega\n      have e : ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ \u03c3 =\n          (1 / (m : \u211d) ^ (\u03c3 - 2)) * (ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ (2 : \u211d)) := by\n        rw [show (\u03c3 : \u211d) = (\u03c3 - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0 : \u211d) < (m : \u211d))]\n        field_simp [show (m : \u211d) \u2260 0 by positivity]\n      rw [e]\n      have hle : (1 : \u211d) / (m : \u211d) ^ (\u03c3 - 2) \u2264 (2 : \u211d) ^ (-(\u03c3 - 2)) := by\n        rw [Real.rpow_neg (by norm_num : (0 : \u211d) < 2)]\n        apply one_div_le_one_div_of_le (Real.rpow_pos_of_pos (by norm_num : (0 : \u211d) < 2) _)\n        exact Real.rpow_le_rpow (by norm_num : (0 : \u211d) \u2264 2)\n          (by exact_mod_cast hm2 : (2 : \u211d) \u2264 (m : \u211d)) (by linarith : (0 : \u211d) \u2264 \u03c3 - 2)\n      have hpos : (0 : \u211d) \u2264 ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ (2 : \u211d) :=\n        div_nonneg ArithmeticFunction.vonMangoldt_nonneg\n          (Real.rpow_nonneg (by positivity : (0 : \u211d) \u2264 (m : \u211d)) _)\n      exact mul_le_mul_of_nonneg_right hle hpos",
  "new_string": "lemma norm_term_vonMangoldt_le_two_pow {\u03c3 t : \u211d} (h\u03c3 : 2 \u2264 \u03c3) (m : \u2115) :\n    \u2016LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : \u2102))\n        ((\u03c3 : \u211d) + t * Complex.I) m\u2016 \u2264\n      (2 : \u211d) ^ (-(\u03c3 - 2)) * \u2016LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : \u2102)) (2 : \u2102) m\u2016 := by\n  have h\u03c3re : ((\u03c3 : \u211d) + t * Complex.I).re = \u03c3 := by simp\n  have h2re : ((2 : \u2102).re) = 2 := rfl\n  simp only [LSeries.norm_term_eq, h\u03c3re, h2re]\n  split\n  \u00b7 norm_num\n  \u00b7 next hm =>\n    have h\u039b : \u2016(ArithmeticFunction.vonMangoldt m : \u2102)\u2016 =\n        ArithmeticFunction.vonMangoldt m :=\n      Complex.norm_of_nonneg ArithmeticFunction.vonMangoldt_nonneg\n    rw [h\u039b]\n    rcases eq_or_ne m 1 with rfl | hm1\n    \u00b7 simp [ArithmeticFunction.vonMangoldt_apply_one]\n    \u00b7 have hm2 : 2 \u2264 m := by omega\n      have e : ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ \u03c3 =\n          (1 / (m : \u211d) ^ (\u03c3 - 2)) * (ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ (2 : \u211d)) := by\n        rw [show (\u03c3 : \u211d) = (\u03c3 - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0 : \u211d) < (m : \u211d))]\n        field_simp [show (m : \u211d) \u2260 0 by positivity]\n        ring_nf\n      rw [e]\n      have hle : (1 : \u211d) / (m : \u211d) ^ (\u03c3 - 2) \u2264 (2 : \u211d) ^ (-(\u03c3 - 2)) := by\n        rw [Real.rpow_neg (by norm_num : (0 : \u211d) \u2264 2)]\n        apply one_div_le_one_div_of_le (Real.rpow_pos_of_pos (by norm_num : (0 : \u211d) < 2) _)\n        exact Real.rpow_le_rpow (by norm_num : (0 : \u211d) \u2264 2)\n          (by exact_mod_cast hm2 : (2 : \u211d) \u2264 (m : \u211d)) (by linarith : (0 : \u211d) \u2264 \u03c3 - 2)\n      have hpos : (0 : \u211d) \u2264 ArithmeticFunction.vonMangoldt m / (m : \u211d) ^ (2 : \u211d) :=\n        div_nonneg ArithmeticFunction.vonMangoldt_nonneg\n          (Real.rpow_nonneg (by positivity : (0 : \u211d) \u2264 (m : \u211d)) _)\n      exact mul_le_mul_of_nonneg_right hle hpos"
}
raw content_json (database row)
[{"type":"thinking","thinking":"Three errors:\n\n1. **Line 357 (e)**: after `rw [show σ = (σ−2)+2, Real.rpow_add]` the goal became `Λ m * ↑m ^ (σ−2+2−2) = Λ m * ↑m ^ (σ−2)` — field_simp normalized but left `σ−2+2−2` vs `σ−2` — needs a `ring`-level finish on the exponent. The `e` proof after field_simp has the leftover `↑m ^ (σ - 2 + 2 - 2)` — field_simp probably cleared denominators and produced this; add `ring_nf` or handle the exponent: simplest: after the rw chain, the goal should be closable by `ring`? The displayed leftover is an exponent-arithmetic identity — `ring_nf` should close, or rewrite σ−2+2−2 = σ−2 by `ring_nf` on the exponent... Let me restructure e's proof:\n```\n      have e : Λ m / (m : ℝ) ^ σ = (1 / (m : ℝ) ^ (σ - 2)) * (Λ m / (m : ℝ) ^ (2 : ℝ)) := by\n        rw [show (σ : ℝ) = (σ - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0:ℝ) < (m:ℝ))]\n        field_simp [show (m : ℝ) ≠ 0 by positivity]\n        ring_nf\n```\nHmm — field_simp then the leftover was an identity `Λ * ↑m^(σ−2+2−2) = Λ * ↑m^(σ−2)` — the exponent has (σ−2+2−2): `ring_nf` should normalize σ−2+2−2 → σ−2 making both sides match... Actually safer: make e's RHS form match what field_simp produces: use congr 1 on the exponent? Alternative clean: avoid rpow_add: prove e via Real.rpow_sub: x^(σ) = x^(σ−2)·x² ⟹ Λ/x^σ = Λ/(x^{σ−2}·x²) = (1/x^{σ−2})·(Λ/x²):\n```\n        rw [show (σ : ℝ) = (σ - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0 : ℝ) < (m : ℝ)),\n          show (2 : ℝ) = ((2 : ℕ) : ℝ) by norm_num, Real.rpow_natCast]\n        field_simp [show (m : ℝ) ≠ 0 by positivity]\n```\nHmm — the leftover `↑m ^ (σ - 2 + 2 - 2)` — that came from field_simp multiplying both sides by m^{σ−2}·m^σ... The identity `Λ * ↑m ^ (σ - 2 + 2 - 2) = Λ * ↑m ^ (σ - 2)` — just needs the exponent simplified: `congr 1; ring`? congr 1 on the multiplication: goals Λ = Λ ✓rfl and ↑m^(σ−2+2−2) = ↑m^(σ−2): congr 1 again: exponent identity σ−2+2−2 = σ−2: ring ✓. But nested congrs — simpler: `ring_nf` at the end (ring_nf normalizes ring expressions INCLUDING real exponents' arithmetic ✓).\n\nLet me use: field_simp then `ring_nf`.\n\n2. **Line 363 (Real.rpow_neg)**: its signature wants 0 ≤ x (not 0 < x)! `Real.rpow_neg (hx : 0 ≤ x) : x ^ (-y) = (x ^ y)⁻¹`?? — the error says expected 0 ≤ 2. Easy: `Real.rpow_neg (by norm_num : (0 : ℝ) ≤ 2)`. Hmm wait — actually rpow_neg needs 0 ≤ x: x^(-y) = (x^y)⁻¹ — for x = 0 it's 0⁻¹ = 0 junk ✓ so 0 ≤ x suffices. Pass ≤.\n\nHmm — but then the one_div_le_one_div_of_le after: (2^{σ−2})⁻¹ = 1/2^{σ−2}: the ⁻¹ vs 1/ form — the goal after rw [Real.rpow_neg]: 1/↑m^(σ−2) ≤ (↑2^(σ−2))⁻¹ — then one_div_le_one_div_of_le needs the 1/ form: rewrite ⁻¹ to 1/: `rw [Real.rpow_neg, ← one_div]`? or the one_div lemma's conclusion matches ⁻¹? one_div_le_one_div_of_le proves `1/b ≤ 1/a` — the goal's RHS is (2^(σ−2))⁻¹ — one_div x = x⁻¹ defeq ✓ — apply one_div_le_one_div_of_le might unify 1/x with x⁻¹ ✓ (defeq). Let me also add `show ... = 1 / ...` if needed — try with the ≤ fix first.\n\n3. **Line 403 (Summable.tsum_le_tsum)**: the comparison lemma norm_term_vonMangoldt_le_two_pow is stated at (σ : ℂ) (cast of REAL σ) but the tsum is at ((σ : ℝ) + t * Complex.I) — DIFFERENT complex points! My comparison lemma's s = (σ:ℂ) (real σ cast to ℂ) but the actual integrand point is σ+it (complex with im = t). The norm ‖term Λ s n‖ depends only on s.re (norm_term_eq has n ^ s.re) — so I should state the comparison for the actual point ((σ:ℝ)+t·I): ‖term Λ (σ+tI) n‖ ≤ 2^{−(σ−2)}‖term Λ 2 n‖ — with ((σ+tI).re) = σ. Fix: state the comparison with s : ℂ general + hs : 2 ≤ s.re? The cleanest: make the comparison lemma take s : ℂ with (hs : 2 ≤ s.re):\n\nActually simplest: parameterize by the complex point: norm_term_vonMangoldt_le_two_pow {s : ℂ} {σ : ℝ} (hs : s.re = σ) (hσ : 2 ≤ σ) (n : ℕ) : ‖term Λ s n‖ ≤ 2^{−(σ−2)}·‖term Λ 2 n‖. Then apply with s := σ+tI, hs := by simp. Or just restate for the point directly:\n```\nlemma norm_term_vonMangoldt_le_two_pow {σ t : ℝ} (hσ : 2 ≤ σ) (m : ℕ) :\n    ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) ((σ : ℝ) + t * Complex.I) m‖ ≤\n      (2 : ℝ) ^ (-(σ - 2)) * ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) (2 : ℂ) m‖ := by\n  have hσre : ((σ : ℝ) + t * Complex.I).re = σ := by simp\n  ...\n```\nwith hσre proved by simp (the (σ:ℝ)+t*I .re = σ: simp [Complex.add_re, Complex.ofReal_re, Complex.mul_re, Complex.I_re] ✓). And the callers' hσre : ((σ:ℂ).re) = σ := rfl stays for the (2:ℂ) side ✓. Apply at the tsum with the same point ✓.\n\nApply the three fixes.","signature":""},{"type":"text","text":"Three fixes: `ring_nf` finish for the rpow_add exponent, `Real.rpow_neg` wants `0 ≤ x`, and the comparison lemma must be at the actual point σ+it (not the real cast)."},{"type":"tool_use","id":"Edit_242","name":"Edit","input":{"file_path":"D:\\Python\\Quantum\\research\\lean\\NguyenRH1\\NguyenRH1\\LiDogLeg.lean","old_string":"lemma norm_term_vonMangoldt_le_two_pow {σ : ℝ} (hσ : 2 ≤ σ) (m : ℕ) :\n    ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) (σ : ℂ) m‖ ≤\n      (2 : ℝ) ^ (-(σ - 2)) * ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) (2 : ℂ) m‖ := by\n  have hσre : ((σ : ℂ).re) = σ := rfl\n  have h2re : ((2 : ℂ).re) = 2 := rfl\n  simp only [LSeries.norm_term_eq, hσre, h2re]\n  split\n  · norm_num\n  · next hm =>\n    have hΛ : ‖(ArithmeticFunction.vonMangoldt m : ℂ)‖ =\n        ArithmeticFunction.vonMangoldt m :=\n      Complex.norm_of_nonneg ArithmeticFunction.vonMangoldt_nonneg\n    rw [hΛ]\n    rcases eq_or_ne m 1 with rfl | hm1\n    · simp [ArithmeticFunction.vonMangoldt_apply_one]\n    · have hm2 : 2 ≤ m := by omega\n      have e : ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ σ =\n          (1 / (m : ℝ) ^ (σ - 2)) * (ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ (2 : ℝ)) := by\n        rw [show (σ : ℝ) = (σ - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0 : ℝ) < (m : ℝ))]\n        field_simp [show (m : ℝ) ≠ 0 by positivity]\n      rw [e]\n      have hle : (1 : ℝ) / (m : ℝ) ^ (σ - 2) ≤ (2 : ℝ) ^ (-(σ - 2)) := by\n        rw [Real.rpow_neg (by norm_num : (0 : ℝ) < 2)]\n        apply one_div_le_one_div_of_le (Real.rpow_pos_of_pos (by norm_num : (0 : ℝ) < 2) _)\n        exact Real.rpow_le_rpow (by norm_num : (0 : ℝ) ≤ 2)\n          (by exact_mod_cast hm2 : (2 : ℝ) ≤ (m : ℝ)) (by linarith : (0 : ℝ) ≤ σ - 2)\n      have hpos : (0 : ℝ) ≤ ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ (2 : ℝ) :=\n        div_nonneg ArithmeticFunction.vonMangoldt_nonneg\n          (Real.rpow_nonneg (by positivity : (0 : ℝ) ≤ (m : ℝ)) _)\n      exact mul_le_mul_of_nonneg_right hle hpos","new_string":"lemma norm_term_vonMangoldt_le_two_pow {σ t : ℝ} (hσ : 2 ≤ σ) (m : ℕ) :\n    ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ))\n        ((σ : ℝ) + t * Complex.I) m‖ ≤\n      (2 : ℝ) ^ (-(σ - 2)) * ‖LSeries.term (fun n => (ArithmeticFunction.vonMangoldt n : ℂ)) (2 : ℂ) m‖ := by\n  have hσre : ((σ : ℝ) + t * Complex.I).re = σ := by simp\n  have h2re : ((2 : ℂ).re) = 2 := rfl\n  simp only [LSeries.norm_term_eq, hσre, h2re]\n  split\n  · norm_num\n  · next hm =>\n    have hΛ : ‖(ArithmeticFunction.vonMangoldt m : ℂ)‖ =\n        ArithmeticFunction.vonMangoldt m :=\n      Complex.norm_of_nonneg ArithmeticFunction.vonMangoldt_nonneg\n    rw [hΛ]\n    rcases eq_or_ne m 1 with rfl | hm1\n    · simp [ArithmeticFunction.vonMangoldt_apply_one]\n    · have hm2 : 2 ≤ m := by omega\n      have e : ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ σ =\n          (1 / (m : ℝ) ^ (σ - 2)) * (ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ (2 : ℝ)) := by\n        rw [show (σ : ℝ) = (σ - 2) + 2 by ring,\n          Real.rpow_add (by positivity : (0 : ℝ) < (m : ℝ))]\n        field_simp [show (m : ℝ) ≠ 0 by positivity]\n        ring_nf\n      rw [e]\n      have hle : (1 : ℝ) / (m : ℝ) ^ (σ - 2) ≤ (2 : ℝ) ^ (-(σ - 2)) := by\n        rw [Real.rpow_neg (by norm_num : (0 : ℝ) ≤ 2)]\n        apply one_div_le_one_div_of_le (Real.rpow_pos_of_pos (by norm_num : (0 : ℝ) < 2) _)\n        exact Real.rpow_le_rpow (by norm_num : (0 : ℝ) ≤ 2)\n          (by exact_mod_cast hm2 : (2 : ℝ) ≤ (m : ℝ)) (by linarith : (0 : ℝ) ≤ σ - 2)\n      have hpos : (0 : ℝ) ≤ ArithmeticFunction.vonMangoldt m / (m : ℝ) ^ (2 : ℝ) :=\n        div_nonneg ArithmeticFunction.vonMangoldt_nonneg\n          (Real.rpow_nonneg (by positivity : (0 : ℝ) ≤ (m : ℝ)) _)\n      exact mul_le_mul_of_nonneg_right hle hpos"},"extra_content":null}]