Hardy zeta

11.19. HardyZeta.ThetaKernelBounds🔗

theorem norm_psi_le_inv_re {z : ℂ} {c : ℝ} (hc : 0 < c) (hz : c ≤ z.re) : ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) := z:ℂc:ℝhc:0 < chz:c ≤ z.re⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.re⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * c⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.re⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ ‖psi z‖ ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ Real.exp (-Real.pi * z.re) / (1 - Real.exp (-Real.pi * z.re)) ≤ 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) calc Real.exp (-Real.pi * z.re) / (1 - Real.exp (-Real.pi * z.re)) ≤ (1 / (Real.pi * z.re)) / (1 - Real.exp (-Real.pi * c)) := z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ Real.exp (-Real.pi * z.re) / (1 - Real.exp (-Real.pi * z.re)) ≤ 1 / (Real.pi * z.re) / (1 - Real.exp (-Real.pi * c)) exact div_le_div₀ (z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ 0 ≤ 1 / (Real.pi * z.re) All goals completed! 🐙) he hd (z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ 1 - Real.exp (-Real.pi * c) ≤ 1 - Real.exp (-Real.pi * z.re) All goals completed! 🐙) _ = _ := z:ℂc:ℝhc:0 < chz:c ≤ z.rehz0:0 < z.rehpc:0 < Real.pi * chpz:0 < Real.pi * z.rehd:0 < 1 - Real.exp (-Real.pi * c)he:Real.exp (-Real.pi * z.re) ≤ 1 / (Real.pi * z.re)hec:Real.exp (-Real.pi * z.re) ≤ Real.exp (-Real.pi * c)⊢ 1 / (Real.pi * z.re) / (1 - Real.exp (-Real.pi * c)) = 1 / (Real.pi * z.re * (1 - Real.exp (-Real.pi * c))) All goals completed! 🐙 /-- A horizontal strip has a fixed positive lower bound for the cosine factor. -/theorem cos_im_lower {z : ℂ} {b : ℝ} (hb : b < Real.pi / 2) (hz : |z.im| ≤ b) : 0 < Real.cos b ∧ Real.cos b ≤ Real.cos z.im := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ b⊢ 0 < Real.cos b ∧ Real.cos b ≤ Real.cos z.im z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ 0 < Real.cos b ∧ Real.cos b ≤ Real.cos z.im z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ 0 < Real.cos bz:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ Real.cos b ≤ Real.cos z.im z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ 0 < Real.cos b z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ b ∈ Ioo (-(Real.pi / 2)) (Real.pi / 2) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ -(Real.pi / 2) < bz:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ b < Real.pi / 2 z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ -(Real.pi / 2) < bz:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ b < Real.pi / 2 All goals completed! 🐙 z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ Real.cos b ≤ Real.cos z.im simpa only [Real.cos_abs] using Real.cos_le_cos_of_nonneg_of_le_pi (abs_nonneg z.im) (z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhb0:0 ≤ b⊢ b ≤ Real.pi All goals completed! 🐙) hz /-- A concrete horizontal-strip constant. -/def thetaStripConstant (b : ℝ) : ℝ := 2 / (Real.pi * Real.cos b * (1 - Real.exp (-Real.pi * Real.cos b))) + 1theorem norm_thetaLogKernel_le_of_re_nonneg {z : ℂ} {b : ℝ} (hb : b < Real.pi / 2) (hz : |z.im| ≤ b) (hx : 0 ≤ z.re) : ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.im⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos b⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < c⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < D⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-z.re / 4) calc ‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ((1 / (Real.pi * c * D)) * Real.exp (-z.re)) + Real.exp (-z.re / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ ‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * (1 / (Real.pi * c * D) * Real.exp (-z.re)) + Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)h:2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ ≤ 2 * Real.exp (z.re / 4) * (1 / (Real.pi * c * D) * Real.exp (-z.re))⊢ ‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * (1 / (Real.pi * c * D) * Real.exp (-z.re)) + Real.exp (-z.re / 4) All goals completed! 🐙 _ = (2 / (Real.pi * c * D)) * Real.exp (-3 * z.re / 4) + Real.exp (-z.re / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ 2 * Real.exp (z.re / 4) * (1 / (Real.pi * c * D) * Real.exp (-z.re)) + Real.exp (-z.re / 4) = 2 / (Real.pi * c * D) * Real.exp (-3 * z.re / 4) + Real.exp (-z.re / 4) All goals completed! 🐙 _ ≤ (2 / (Real.pi * c * D)) * Real.exp (-z.re / 4) + Real.exp (-z.re / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ 2 / (Real.pi * c * D) * Real.exp (-3 * z.re / 4) + Real.exp (-z.re / 4) ≤ 2 / (Real.pi * c * D) * Real.exp (-z.re / 4) + Real.exp (-z.re / 4) All goals completed! 🐙 _ = thetaStripConstant b * Real.exp (-z.re / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ 2 / (Real.pi * c * D) * Real.exp (-z.re / 4) + Real.exp (-z.re / 4) = thetaStripConstant b * Real.exp (-z.re / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.rehc:0 < Real.cos bhcos:Real.cos b ≤ Real.cos z.imc:ℝ := Real.cos bD:ℝ := 1 - Real.exp (-Real.pi * c)hc0:0 < chD:0 < Dhex:1 ≤ Real.exp z.rehre:c ≤ (cexp z).rehpsi:‖psi (cexp z)‖ ≤ 1 / (Real.pi * c * D) * Real.exp (-z.re)hstrip:|z.im| < Real.pi / 2hbase:‖thetaLogKernel z‖ ≤ 2 * Real.exp (z.re / 4) * ‖psi (cexp z)‖ + Real.exp (-z.re / 4)hprod:Real.exp (z.re / 4) * Real.exp (-z.re) = Real.exp (-3 * z.re / 4)he:Real.exp (-3 * z.re / 4) ≤ Real.exp (-z.re / 4)⊢ 2 / (Real.pi * Real.cos b * (1 - Real.exp (-Real.pi * Real.cos b))) * Real.exp (-z.re / 4) + Real.exp (-z.re / 4) = (2 / (Real.pi * Real.cos b * (1 - Real.exp (-Real.pi * Real.cos b))) + 1) * Real.exp (-z.re / 4) All goals completed! 🐙 /-- Uniform exponential decay at both ends of every closed interior strip. -/theorem norm_thetaLogKernel_le {z : ℂ} {b : ℝ} (hb : b < Real.pi / 2) (hz : |z.im| ≤ b) : ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) := z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ b⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4)z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:0 ≤ z.re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) All goals completed! 🐙 z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0hz':|(-z).im| ≤ b⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0hz':|(-z).im| ≤ bhx':0 ≤ (-z).re⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0hz':|(-z).im| ≤ bhx':0 ≤ (-z).reh:‖thetaLogKernel (-z)‖ ≤ thetaStripConstant b * Real.exp (-(-z).re / 4)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) z:ℂb:ℝhb:b < Real.pi / 2hz:|z.im| ≤ bhx:z.re ≤ 0hz':|(-z).im| ≤ bhx':0 ≤ (-z).reh:‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-(-z).re / 4)⊢ ‖thetaLogKernel z‖ ≤ thetaStripConstant b * Real.exp (-|z.re| / 4) All goals completed! 🐙 /-- Absolute integrability on every horizontal line strictly inside the strip. -/theorem integrable_thetaLogKernel_horizontal {b : ℝ} (hb : |b| < Real.pi / 2) : Integrable (fun u : ℝ ↦ thetaLogKernel ((u : ℂ) + b * I)) := b:ℝhb:|b| < Real.pi / 2⊢ Integrable (fun u => thetaLogKernel (↑u + ↑b * I)) volume b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ Integrable (fun u => thetaLogKernel (↑u + ↑b * I)) volume b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ AEStronglyMeasurable (fun u => thetaLogKernel (↑u + ↑b * I)) volumeb:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ ∀ᵐ (a : ℝ), ‖thetaLogKernel (↑a + ↑b * I)‖ ≤ thetaStripConstant |b| * Real.exp (-|a| / 4) b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ AEStronglyMeasurable (fun u => thetaLogKernel (↑u + ↑b * I)) volume b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ Continuous fun u => thetaLogKernel (↑u + ↑b * I) b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ ∀ (x : ℝ), ContinuousAt (fun u => thetaLogKernel (↑u + ↑b * I)) x b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volumeu:ℝ⊢ ContinuousAt (fun u => thetaLogKernel (↑u + ↑b * I)) u apply (differentiableAt_thetaLogKernel (b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volumeu:ℝ⊢ |(↑u + ↑b * I).im| < Real.pi / 2 All goals completed! 🐙)).continuousAt.comp All goals completed! 🐙 b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volume⊢ ∀ᵐ (a : ℝ), ‖thetaLogKernel (↑a + ↑b * I)‖ ≤ thetaStripConstant |b| * Real.exp (-|a| / 4) b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volumeu:ℝ⊢ ‖thetaLogKernel (↑u + ↑b * I)‖ ≤ thetaStripConstant |b| * Real.exp (-|u| / 4) simpa using norm_thetaLogKernel_le (z := (u : ℂ) + b * I) hb (b:ℝhb:|b| < Real.pi / 2hbound:Integrable (fun u => thetaStripConstant |b| * Real.exp (-|u| / 4)) volumeu:ℝ⊢ |(↑u + ↑b * I).im| ≤ |b| All goals completed! 🐙)