Skip to main content
AlexKontorovich/PrimeNumberTheoremAnd
Source indexedtheorem · leanprover/lean4:v4.32.0

integral_Ioi_exp_neg_mul_sin

PrimeNumberTheoremAnd.LaplaceInversion · PrimeNumberTheoremAnd/LaplaceInversion.lean:1706 to 1727

Mathematical statement

Exact Lean statement

theorem integral_Ioi_exp_neg_mul_sin (a : ℝ) (ha : 0 < a) :
    ∫ x : ℝ in Set.Ioi 0, Real.exp (-a * x) * Real.sin x = 1 / (a ^ 2 + 1)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem integral_Ioi_exp_neg_mul_sin (a : ) (ha : 0 < a) :    ∫ x :  in Set.Ioi 0, Real.exp (-a * x) * Real.sin x = 1 / (a ^ 2 + 1) := by  let z : ℂ := (-(a : ℂ)) + Complex.I  have hzre : z.re < 0 := by simp [z, ha]  have hint : Integrable (fun x :  => Complex.exp (z * x)) (volume.restrict (Set.Ioi 0)) := by    exact integrableOn_exp_mul_complex_Ioi (a := z) hzre 0  have him := integral_im (μ := volume.restrict (Set.Ioi 0)) hint  have hpoint : (fun x :  => Real.exp (-a * x) * Real.sin x) =      fun x :  => (Complex.exp (z * x)).im := by    funext x    simp [z, Complex.exp_im, mul_add, mul_comm]  calc    ∫ x :  in Set.Ioi 0, Real.exp (-a * x) * Real.sin x        = ∫ x :  in Set.Ioi 0, (Complex.exp (z * x)).im := by          rw [hpoint]    _ = (∫ x :  in Set.Ioi 0, Complex.exp (z * x)).im := by          simpa using him    _ = (-Complex.exp (z * (0 : )) / z).im := by          rw [integral_exp_mul_complex_Ioi (a := z) hzre 0]    _ = 1 / (a ^ 2 + 1) := by          simp [z, Complex.div_im, Complex.normSq]          ring