-- Mathlib/Analysis/Complex/LocallyUniformLimit.lean
theorem hasSum_deriv_of_summable_norm {u : ι → ℝ} (hu : Summable u)
    (hf : ∀ i : ι, DifferentiableOn ℂ (F i) U) (hU : IsOpen U)
    (hF_le : ∀ (i : ι) (w : ℂ), w ∈ U → ‖F i w‖ ≤ u i) (hz : z ∈ U) :
    HasSum (fun i : ι => deriv (F i) z) (deriv (fun w : ℂ => ∑' i : ι, F i w) z)

Proof state:
case h.e'_3
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
⊢ (fun s => ∑ b ∈ s, deriv (F b) z) = fun i => (deriv ∘ fun t x => ∑ n ∈ t, F n x) i z

Tactic:
ext1 s

Result:
case h.e'_3.h
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
s : Finset ι
⊢ ∑ b ∈ s, deriv (F b) z = (deriv ∘ fun t x => ∑ n ∈ t, F n x) s z

Proof state:
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
⊢ Tendsto (fun s => ∑ b ∈ s, deriv (F b) z) atTop (𝓝 (deriv (fun w => ∑' (i : ι), F i w) z))

Tactic:
convert (hc.deriv (Eventually.of_forall fun s =>
  DifferentiableOn.sum fun i _ => hf i) hU).tendsto_at hz using 1

Result:
case h.e'_3
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
⊢ (fun s => ∑ b ∈ s, deriv (F b) z) = fun i => (deriv ∘ fun t x => ∑ n ∈ t, F n x) i z

Proof state:
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
⊢ HasSum (fun i => deriv (F i) z) (deriv (fun w => ∑' (i : ι), F i w) z)

Tactic:
rw [HasSum]

Result:
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
⊢ Tendsto (fun s => ∑ b ∈ s, deriv (F b) z) atTop (𝓝 (deriv (fun w => ∑' (i : ι), F i w) z))

Proof state:
case h.e'_3.h
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
s : Finset ι
⊢ ∑ b ∈ s, deriv (F b) z = (deriv ∘ fun t x => ∑ n ∈ t, F n x) s z

Tactic:
exact (deriv_sum fun i _ => (hf i).differentiableAt (hU.mem_nhds hz)).symm

Result:
no goals

Proof state:
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
⊢ Tendsto (fun s => ∑ b ∈ s, deriv (F b) z) atTop (𝓝 (deriv (fun w => ∑' (i : ι), F i w) z))

Tactic:
have hc := (tendstoUniformlyOn_tsum hu hF_le).tendstoLocallyUniformlyOn

Result:
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
U : Set ℂ
z : ℂ
F : ι → ℂ → E
inst✝ : CompleteSpace E
u : ι → ℝ
hu : Summable u
hf : ∀ (i : ι), DifferentiableOn ℂ (F i) U
hU : IsOpen U
hF_le : ∀ (i : ι), ∀ w ∈ U, ‖F i w‖ ≤ u i
hz : z ∈ U
hc : TendstoLocallyUniformlyOn (fun t x => ∑ n ∈ t, F n x) (fun x => ∑' (n : ι), F n x) atTop U
⊢ Tendsto (fun s => ∑ b ∈ s, deriv (F b) z) atTop (𝓝 (deriv (fun w => ∑' (i : ι), F i w) z))