Theorem: hasFDerivAt_tsum_of_isPreconnected
File: Mathlib/Analysis/Calculus/Series.lean

tactic: classical
  have A :
    ∀ x : E, x ∈ s → Tendsto (fun t : Finset α => ∑ n in t, f n x) atTop (𝓝 (∑' n, f n x)) := by
    intro y hy
    apply Summable.hasSum
    exact summable_of_summable_hasFDerivAt_of_isPreconnected hu hs h's hf hf' hx₀ hf0 hy
  refine hasFDerivAt_of_tendstoUniformlyOn hs (tendstoUniformlyOn_tsum hu hf')
    (fun t y hy => ?_) A _ hx
  exact HasFDerivAt.sum fun n _ => hf n y hy
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
⊢ HasFDerivAt (fun y => ∑' (n : α), f n y) (∑' (n : α), f' n x) x

tactic: have A :
  ∀ x : E, x ∈ s → Tendsto (fun t : Finset α => ∑ n in t, f n x) atTop (𝓝 (∑' n, f n x)) := by
  intro y hy
  apply Summable.hasSum
  exact summable_of_summable_hasFDerivAt_of_isPreconnected hu hs h's hf hf' hx₀ hf0 hy
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
⊢ HasFDerivAt (fun y => ∑' (n : α), f n y) (∑' (n : α), f' n x) x

tactic: refine hasFDerivAt_of_tendstoUniformlyOn hs (tendstoUniformlyOn_tsum hu hf')
  (fun t y hy => ?_) A _ hx
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
A : ∀ (x : E), x ∈ s → Tendsto (fun t => ∑ n in t, f n x) atTop (𝓝 (∑' (n : α), f n x))
⊢ HasFDerivAt (fun y => ∑' (n : α), f n y) (∑' (n : α), f' n x) x

tactic: exact HasFDerivAt.sum fun n _ => hf n y hy
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
A : ∀ (x : E), x ∈ s → Tendsto (fun t => ∑ n in t, f n x) atTop (𝓝 (∑' (n : α), f n x))
t : Finset α
y : E
hy : y ∈ s
⊢ HasFDerivAt (fun x => ∑ n in t, f n x) (∑ n in t, f' n y) y

tactic: intro y hy
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
⊢ ∀ (x : E), x ∈ s → Tendsto (fun t => ∑ n in t, f n x) atTop (𝓝 (∑' (n : α), f n x))

tactic: apply Summable.hasSum
state_before: α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
y : E
hy : y ∈ s
⊢ Tendsto (fun t => ∑ n in t, f n y) atTop (𝓝 (∑' (n : α), f n y))

tactic: exact summable_of_summable_hasFDerivAt_of_isPreconnected hu hs h's hf hf' hx₀ hf0 hy
state_before: case ha
α : Type u_1
β : Type ?u.26280
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun n => f n x₀
hx : x ∈ s
y : E
hy : y ∈ s
⊢ Summable fun b => f b y