Theorem: DirichletCharacter.LSeries_twist_vonMangoldt_eq
File: Mathlib/NumberTheory/LSeries/Dirichlet.lean

tactic: rcases eq_or_ne N 0 with rfl | hN
state_before: N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: case inl
s : ℂ
hs : 1 < s.re
χ : DirichletCharacter ℂ 0
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s

case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s

tactic: have hχ : LSeriesSummable ↗χ s := (LSeriesSummable_iff hN χ).mpr hs
state_before: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s

tactic: have hs' : abscissaOfAbsConv ↗χ < s.re := by
  rwa [absicssaOfAbsConv_eq_one hN, ← EReal.coe_one, EReal.coe_lt_coe_iff]
state_before: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s

tactic: have hΛ : LSeriesSummable (↗χ * ↗Λ) s := LSeriesSummable_twist_vonMangoldt χ hs
state_before: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
hΛ : LSeriesSummable ((fun n => χ ↑n) * fun n => ↑(Λ n)) s
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s

tactic: rw [eq_div_iff <| LSeries_ne_zero_of_one_lt_re χ hs, ← LSeries_convolution' hΛ hχ,
  convolution_twist_vonMangoldt, LSeries_deriv hs', neg_neg]
state_before: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
hΛ : LSeriesSummable ((fun n => χ ↑n) * fun n => ↑(Λ n)) s
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
hΛ : LSeriesSummable ((fun n => χ ↑n) * fun n => ↑(Λ n)) s
⊢ L ((fun n => χ ↑n) * fun n => Complex.log ↑n) s = L (logMul fun n => χ ↑n) s

tactic: exact LSeries_congr s fun _ ↦ by simp only [Pi.mul_apply, mul_comm, logMul]
state_before: case inr
N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
hΛ : LSeriesSummable ((fun n => χ ↑n) * fun n => ↑(Λ n)) s
⊢ L ((fun n => χ ↑n) * fun n => Complex.log ↑n) s = L (logMul fun n => χ ↑n) s
state_after: no goals

tactic: simpa only [modZero_eq_delta, delta_mul_eq_smul_delta, vonMangoldt_apply_one, ofReal_zero,
  zero_smul, LSeries_zero, Pi.zero_apply, LSeries_delta, Pi.one_apply, div_one, zero_eq_neg]
  using deriv_const s 1
state_before: case inl
s : ℂ
hs : 1 < s.re
χ : DirichletCharacter ℂ 0
⊢ L ((fun n => χ ↑n) * fun n => ↑(Λ n)) s = -deriv (L fun n => χ ↑n) s / L (fun n => χ ↑n) s
state_after: no goals

tactic: rwa [absicssaOfAbsConv_eq_one hN, ← EReal.coe_one, EReal.coe_lt_coe_iff]
state_before: N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
⊢ (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
state_after: no goals

tactic: simp only [Pi.mul_apply, mul_comm, logMul]
state_before: N : ℕ
χ : DirichletCharacter ℂ N
s : ℂ
hs : 1 < s.re
hN : N ≠ 0
hχ : LSeriesSummable (fun n => χ ↑n) s
hs' : (abscissaOfAbsConv fun n => χ ↑n) < ↑s.re
hΛ : LSeriesSummable ((fun n => χ ↑n) * fun n => ↑(Λ n)) s
n✝ : ℕ
x✝ : n✝ ≠ 0
⊢ ((fun n => χ ↑n) * fun n => Complex.log ↑n) n✝ = logMul (fun n => χ ↑n) n✝
state_after: no goals