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

ZetaAppendix.deriv_kernel_integral_by_parts_cpow

PrimeNumberTheoremAnd.IEANTN.ZetaAppendix · PrimeNumberTheoremAnd/IEANTN/ZetaAppendix.lean:2777 to 2834

Mathematical statement

Exact Lean statement

lemma deriv_kernel_integral_by_parts_cpow {a b : ℝ} (ha : 0 < a) (hab : a < b)
    (s : ℂ) (n : ℕ) :
    ∫ y in a..b,
        deriv (fun t : ℝ ↦ (t : ℂ) ^ (-s)) y *
          ((Real.sin (2 * Real.pi * (n + 1 : ℝ) * y) /
            (Real.pi * (n + 1 : ℝ))) : ℂ) =
      deriv (fun t : ℝ ↦ (t : ℂ) ^ (-s)) b *
          ((-Real.cos (2 * Real.pi * (n + 1 : ℝ) * b) /
            (2 * Real.pi ^ 2 * (n + 1 : ℝ) ^ 2)) : ℂ) -
        deriv (fun t : ℝ ↦ (t : ℂ) ^ (-s)) a *
          ((-Real.cos (2 * Real.pi * (n + 1 : ℝ) * a) /
            (2 * Real.pi ^ 2 * (n + 1 : ℝ) ^ 2)) : ℂ) -
        ∫ y in a..b,
          (s * (s + 1) * (y : ℂ) ^ (-s - 2)) *
            ((-Real.cos (2 * Real.pi * (n + 1 : ℝ) * y) /
              (2 * Real.pi ^ 2 * (n + 1 : ℝ) ^ 2)) : ℂ)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma deriv_kernel_integral_by_parts_cpow {a b : } (ha : 0 < a) (hab : a < b)    (s : ℂ) (n : ) :    ∫ y in a..b,        deriv (fun t :   (t : ℂ) ^ (-s)) y *          ((Real.sin (2 * Real.pi * (n + 1 : ) * y) /            (Real.pi * (n + 1 : ))) : ℂ) =      deriv (fun t :   (t : ℂ) ^ (-s)) b *          ((-Real.cos (2 * Real.pi * (n + 1 : ) * b) /            (2 * Real.pi ^ 2 * (n + 1 : ) ^ 2)) : ℂ) -        deriv (fun t :   (t : ℂ) ^ (-s)) a *          ((-Real.cos (2 * Real.pi * (n + 1 : ) * a) /            (2 * Real.pi ^ 2 * (n + 1 : ) ^ 2)) : ℂ) -        ∫ y in a..b,          (s * (s + 1) * (y : ℂ) ^ (-s - 2)) *            ((-Real.cos (2 * Real.pi * (n + 1 : ) * y) /              (2 * Real.pi ^ 2 * (n + 1 : ) ^ 2)) : ℂ) := by  let u :  := fun y  deriv (fun t :   (t : ℂ) ^ (-s)) y  let v :  := fun y     ((-Real.cos (2 * Real.pi * (n + 1 : ) * y) /      (2 * Real.pi ^ 2 * (n + 1 : ) ^ 2)) : ℂ)  let u' :  := fun y  s * (s + 1) * (y : ℂ) ^ (-s - 2)  let v' :  := fun y     ((Real.sin (2 * Real.pi * (n + 1 : ) * y) /      (Real.pi * (n + 1 : ))) : ℂ)  have hIoo_to_Icc :       {x : }, x  Set.Ioo (min a b) (max a b)  x  Set.Icc a b := by    intro x hx    rw [min_eq_left hab.le, max_eq_right hab.le] at hx    exact Set.Ioo_subset_Icc_self hx  have h_ibp :      ∫ y in a..b, u y * v' y =        u b * v b - u a * v a - ∫ y in a..b, u' y * v y := by    exact intervalIntegral.integral_mul_deriv_eq_deriv_mul_of_hasDerivAt      (by        simpa [u, Set.uIcc_of_le hab.le] using          (Complex.continuousOn_deriv_ofReal_cpow_neg (s := s) (a := a) (b := b) ha))      (by        simp only [ofReal_cos, ofReal_mul, ofReal_ofNat, ofReal_add, ofReal_natCast, ofReal_one,          Set.uIcc_of_le hab.le, v]        fun_prop)      (by        intro x hx        have hx_pos : 0 < x := lt_of_lt_of_le ha (hIoo_to_Icc hx).1        simpa [u, u'] using hasDerivAt_deriv_ofReal_cpow_neg s hx_pos)      (by        intro x _hx        simpa [v, v'] using hasDerivAt_cos_antideriv n x)      (by        have hcont : ContinuousOn u' (Set.uIcc a b) := by          simpa [u', Set.uIcc_of_le hab.le] using            (continuousOn_second_deriv_ofReal_cpow_neg (s := s) (a := a) (b := b) ha)        exact hcont.intervalIntegrable)      (by        apply ContinuousOn.intervalIntegrable        simp only [ofReal_sin, ofReal_mul, ofReal_ofNat, ofReal_add, ofReal_natCast, ofReal_one,          Set.uIcc_of_le hab.le, v']        fun_prop)  simpa [u, v, u', v'] using h_ibp