Theorem: ContDiffWithinAt.sum
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: induction' s using Finset.induction_on with i s is IH
state_before: 𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.1862001
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s✝ s₁ t✝ u : Set E
f✝ f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_1
f : ι → E → F
s : Finset ι
t : Set E
x : E
h : ∀ (i : ι), i ∈ s → ContDiffWithinAt 𝕜 n (fun x => f i x) t x
⊢ ContDiffWithinAt 𝕜 n (fun x => ∑ i in s, f i x) t x

tactic: simp [contDiffWithinAt_const]
state_before: case empty
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.1862001
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s✝ s₁ t✝ u : Set E
f✝ f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_1
f : ι → E → F
s : Finset ι
t : Set E
x : E
h✝ : ∀ (i : ι), i ∈ s → ContDiffWithinAt 𝕜 n (fun x => f i x) t x
h : ∀ (i : ι), i ∈ ∅ → ContDiffWithinAt 𝕜 n (fun x => f i x) t x
⊢ ContDiffWithinAt 𝕜 n (fun x => ∑ i in ∅, f i x) t x

tactic: simp only [is, Finset.sum_insert, not_false_iff]
state_before: case insert
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.1862001
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s✝¹ s₁ t✝ u : Set E
f✝ f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_1
f : ι → E → F
s✝ : Finset ι
t : Set E
x : E
h✝ : ∀ (i : ι), i ∈ s✝ → ContDiffWithinAt 𝕜 n (fun x => f i x) t x
i : ι
s : Finset ι
is : ¬i ∈ s
IH :
  (∀ (i : ι), i ∈ s → ContDiffWithinAt 𝕜 n (fun x => f i x) t x) → ContDiffWithinAt 𝕜 n (fun x => ∑ i in s, f i x) t x
h : ∀ (i_1 : ι), i_1 ∈ insert i s → ContDiffWithinAt 𝕜 n (fun x => f i_1 x) t x
⊢ ContDiffWithinAt 𝕜 n (fun x => ∑ i in insert i s, f i x) t x

tactic: exact (h _ (Finset.mem_insert_self i s)).add
  (IH fun j hj => h _ (Finset.mem_insert_of_mem hj))
state_before: case insert
𝕜 : Type u_2
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.1862001
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s✝¹ s₁ t✝ u : Set E
f✝ f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_1
f : ι → E → F
s✝ : Finset ι
t : Set E
x : E
h✝ : ∀ (i : ι), i ∈ s✝ → ContDiffWithinAt 𝕜 n (fun x => f i x) t x
i : ι
s : Finset ι
is : ¬i ∈ s
IH :
  (∀ (i : ι), i ∈ s → ContDiffWithinAt 𝕜 n (fun x => f i x) t x) → ContDiffWithinAt 𝕜 n (fun x => ∑ i in s, f i x) t x
h : ∀ (i_1 : ι), i_1 ∈ insert i s → ContDiffWithinAt 𝕜 n (fun x => f i_1 x) t x
⊢ ContDiffWithinAt 𝕜 n (fun x => f i x + ∑ i in s, f i x) t x