Theorem: Complex.hasDerivAt_GammaIntegral
File: Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean

tactic: rw [GammaIntegral_eq_mellin]
state_before: s : ℂ
hs : 0 < s.re
⊢ HasDerivAt GammaIntegral (∫ (t : ℝ) in Ioi 0, ↑t ^ (s - 1) * (↑(Real.log t) * ↑(rexp (-t)))) s
state_after: s : ℂ
hs : 0 < s.re
⊢ HasDerivAt (mellin fun x => ↑(rexp (-x))) (∫ (t : ℝ) in Ioi 0, ↑t ^ (s - 1) * (↑(Real.log t) * ↑(rexp (-t)))) s

tactic: convert (mellin_hasDerivAt_of_isBigO_rpow (E := ℂ) _ _ (lt_add_one _) _ hs).2
state_before: s : ℂ
hs : 0 < s.re
⊢ HasDerivAt (mellin fun x => ↑(rexp (-x))) (∫ (t : ℝ) in Ioi 0, ↑t ^ (s - 1) * (↑(Real.log t) * ↑(rexp (-t)))) s
state_after: case convert_2
s : ℂ
hs : 0 < s.re
⊢ LocallyIntegrableOn (fun x => ↑(rexp (-x))) (Ioi 0) volume

case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[atTop] fun x => x ^ (-(s.re + 1))

case convert_4
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[𝓝[>] 0] fun x => x ^ (-0)

tactic: refine (Continuous.continuousOn ?_).locallyIntegrableOn measurableSet_Ioi
state_before: case convert_2
s : ℂ
hs : 0 < s.re
⊢ LocallyIntegrableOn (fun x => ↑(rexp (-x))) (Ioi 0) volume
state_after: case convert_2
s : ℂ
hs : 0 < s.re
⊢ Continuous fun x => ↑(rexp (-x))

tactic: exact continuous_ofReal.comp (Real.continuous_exp.comp continuous_neg)
state_before: case convert_2
s : ℂ
hs : 0 < s.re
⊢ Continuous fun x => ↑(rexp (-x))
state_after: no goals

tactic: rw [← isBigO_norm_left]
state_before: case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[atTop] fun x => x ^ (-(s.re + 1))
state_after: case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => ‖↑(rexp (-x))‖) =O[atTop] fun x => x ^ (-(s.re + 1))

tactic: simp_rw [Complex.norm_eq_abs, abs_ofReal, ← Real.norm_eq_abs, isBigO_norm_left]
state_before: case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => ‖↑(rexp (-x))‖) =O[atTop] fun x => x ^ (-(s.re + 1))
state_after: case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => rexp (-x)) =O[atTop] fun x => x ^ (-(s.re + 1))

tactic: simpa only [neg_one_mul] using (isLittleO_exp_neg_mul_rpow_atTop zero_lt_one _).isBigO
state_before: case convert_3
s : ℂ
hs : 0 < s.re
⊢ (fun x => rexp (-x)) =O[atTop] fun x => x ^ (-(s.re + 1))
state_after: no goals

tactic: simp_rw [neg_zero, rpow_zero]
state_before: case convert_4
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[𝓝[>] 0] fun x => x ^ (-0)
state_after: case convert_4
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[𝓝[>] 0] fun x => 1

tactic: refine isBigO_const_of_tendsto (?_ : Tendsto _ _ (𝓝 (1 : ℂ))) one_ne_zero
state_before: case convert_4
s : ℂ
hs : 0 < s.re
⊢ (fun x => ↑(rexp (-x))) =O[𝓝[>] 0] fun x => 1
state_after: case convert_4
s : ℂ
hs : 0 < s.re
⊢ Tendsto (fun x => ↑(rexp (-x))) (𝓝[>] 0) (𝓝 1)

tactic: rw [(by simp : (1 : ℂ) = Real.exp (-0))]
state_before: case convert_4
s : ℂ
hs : 0 < s.re
⊢ Tendsto (fun x => ↑(rexp (-x))) (𝓝[>] 0) (𝓝 1)
state_after: case convert_4
s : ℂ
hs : 0 < s.re
⊢ Tendsto (fun x => ↑(rexp (-x))) (𝓝[>] 0) (𝓝 ↑(rexp (-0)))

tactic: exact (continuous_ofReal.comp (Real.continuous_exp.comp continuous_neg)).continuousWithinAt
state_before: case convert_4
s : ℂ
hs : 0 < s.re
⊢ Tendsto (fun x => ↑(rexp (-x))) (𝓝[>] 0) (𝓝 ↑(rexp (-0)))
state_after: no goals

tactic: simp
state_before: s : ℂ
hs : 0 < s.re
⊢ 1 = ↑(rexp (-0))
state_after: no goals