Theorem: Complex.hasSum_deriv_of_summable_norm
File: Mathlib/Analysis/Complex/LocallyUniformLimit.lean

Proof steps:
state_before: E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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)
state_after: E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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: rw [HasSum]
state_before: E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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))
state_after: E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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: have hc := (tendstoUniformlyOn_tsum hu hF_le).tendstoLocallyUniformlyOn
state_before: E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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))
state_after: case h.e'_3
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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: convert (hc.deriv (eventually_of_forall fun s =>
    DifferentiableOn.sum fun i _ => hf i) hU).tendsto_at hz using 1
state_before: case h.e'_3
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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
state_after: case h.e'_3.h
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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: ext1 s
state_before: case h.e'_3.h
E : Type u_1
ι : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
U K : Set ℂ
z : ℂ
M r δ : ℝ
φ : Filter ι
F : ι → ℂ → E
f g : ℂ → 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
state_after: no goals
tactic: exact (deriv_sum fun i _ => (hf i).differentiableAt (hU.mem_nhds hz)).symm