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

Complex.logGammaSeq_succ_sub

PrimeNumberTheoremAnd.Mathlib.Analysis.SpecialFunctions.Gamma.DigammaSeries · PrimeNumberTheoremAnd/Mathlib/Analysis/SpecialFunctions/Gamma/DigammaSeries.lean:215 to 248

Source documentation

The increment of logGammaSeq in closed form.

Exact Lean statement

lemma logGammaSeq_succ_sub {z : ℂ} (hz : 0 < z.re) (n : ℕ) :
    logGammaSeq z (n + 1) - logGammaSeq z n
      = z * ((Real.log ((n : ℝ) + 1) - Real.log n : ℝ) : ℂ) - log (1 + z / ((n : ℂ) + 1))

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma logGammaSeq_succ_sub {z : ℂ} (hz : 0 < z.re) (n : ) :    logGammaSeq z (n + 1) - logGammaSeq z n      = z * ((Real.log ((n : ) + 1) - Real.log n : ) : ℂ) - log (1 + z / ((n : ℂ) + 1)) := by  have hn1 : (0 : ) < (n : ) + 1 := by positivity  have hnC : ((n : ℂ) + 1)  0 := Nat.cast_add_one_ne_zero n  have hx : 1 + z / ((n : ℂ) + 1)  0 := by    intro h    have hzval : z = -((n : ℂ) + 1) := by      field_simp at h      linear_combination h    rw [hzval] at hz    simp only [neg_re, add_re, natCast_re, one_re] at hz    have : (0 : )  (n : ) := Nat.cast_nonneg n    linarith  have hfacC : (Real.log ((n + 1)!) : ℂ)      = (Real.log ((n : ) + 1) : ℂ) + (Real.log (n !) : ℂ) := by    have hfac : Real.log (((n + 1)! : ) : )        = Real.log ((n : ) + 1) + Real.log ((n ! : ) : ) := by      rw [Nat.factorial_succ]      push_cast      rw [Real.log_mul (by positivity) (by exact_mod_cast n.factorial_ne_zero)]    rw [ ofReal_add]    exact_mod_cast congrArg (fun t :  => (t : ℂ)) hfac  have hlog : log (z + ((n + 1 : ) : ℂ))      = (Real.log ((n : ) + 1) : ℂ) + log (1 + z / ((n : ℂ) + 1)) := by    have hxx : ((((n : ) + 1) : ) : ℂ) * (1 + z / ((n : ℂ) + 1)) = z + ((n + 1 : ) : ℂ) := by      push_cast      field_simp      ring    rw [ hxx, log_ofReal_mul hn1 hx]  unfold logGammaSeq  rw [Finset.sum_range_succ, hfacC, hlog]  push_cast  ring