Theorem: HasFPowerSeriesOnBall.factorial_smul'
File: Mathlib/Analysis/Calculus/FDeriv/Analytic.lean

tactic: induction' n with n ih <;> intro F _ _ _ p f h
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type v
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
x : E
r : ℝ≥0∞
h : HasFPowerSeriesOnBall f p x r
y : E
n : ℕ
⊢ ∀ {F : Type (max u v)} [inst : NormedAddCommGroup F] [inst_1 : NormedSpace 𝕜 F] [inst_2 : CompleteSpace F]
    {p : FormalMultilinearSeries 𝕜 E F} {f : E → F},
    HasFPowerSeriesOnBall f p x r → (n ! • (p n) fun x => y) = (iteratedFDeriv 𝕜 n f x) fun x => y
state_after: case zero
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ (0! • (p 0) fun x => y) = (iteratedFDeriv 𝕜 0 f x) fun x => y

case succ
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
n : ℕ
ih :
  ∀ {F : Type (max u v)} [inst : NormedAddCommGroup F] [inst_1 : NormedSpace 𝕜 F] [inst_2 : CompleteSpace F]
    {p : FormalMultilinearSeries 𝕜 E F} {f : E → F},
    HasFPowerSeriesOnBall f p x r → (n ! • (p n) fun x => y) = (iteratedFDeriv 𝕜 n f x) fun x => y
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ ((n + 1)! • (p (n + 1)) fun x => y) = (iteratedFDeriv 𝕜 (n + 1) f x) fun x => y

tactic: rw [factorial_zero, one_smul, h.iteratedFDeriv_zero_apply_diag]
state_before: case zero
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ (0! • (p 0) fun x => y) = (iteratedFDeriv 𝕜 0 f x) fun x => y
state_after: no goals

tactic: rw [factorial_succ, mul_comm, mul_smul, ← derivSeries_apply_diag, ← smul_apply,
  ih h.fderiv, iteratedFDeriv_succ_apply_right]
state_before: case succ
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
n : ℕ
ih :
  ∀ {F : Type (max u v)} [inst : NormedAddCommGroup F] [inst_1 : NormedSpace 𝕜 F] [inst_2 : CompleteSpace F]
    {p : FormalMultilinearSeries 𝕜 E F} {f : E → F},
    HasFPowerSeriesOnBall f p x r → (n ! • (p n) fun x => y) = (iteratedFDeriv 𝕜 n f x) fun x => y
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ ((n + 1)! • (p (n + 1)) fun x => y) = (iteratedFDeriv 𝕜 (n + 1) f x) fun x => y
state_after: case succ
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
n : ℕ
ih :
  ∀ {F : Type (max u v)} [inst : NormedAddCommGroup F] [inst_1 : NormedSpace 𝕜 F] [inst_2 : CompleteSpace F]
    {p : FormalMultilinearSeries 𝕜 E F} {f : E → F},
    HasFPowerSeriesOnBall f p x r → (n ! • (p n) fun x => y) = (iteratedFDeriv 𝕜 n f x) fun x => y
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ ((iteratedFDeriv 𝕜 n (_root_.fderiv 𝕜 f) x) fun x => y) y =
    ((iteratedFDeriv 𝕜 n (fun y => _root_.fderiv 𝕜 f y) x) (Fin.init fun x => y)) y

tactic: rfl
state_before: case succ
𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E : Type u
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace 𝕜 E
F✝ : Type v
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace 𝕜 F✝
p✝ : FormalMultilinearSeries 𝕜 E F✝
f✝ : E → F✝
x : E
r : ℝ≥0∞
h✝ : HasFPowerSeriesOnBall f✝ p✝ x r
y : E
n : ℕ
ih :
  ∀ {F : Type (max u v)} [inst : NormedAddCommGroup F] [inst_1 : NormedSpace 𝕜 F] [inst_2 : CompleteSpace F]
    {p : FormalMultilinearSeries 𝕜 E F} {f : E → F},
    HasFPowerSeriesOnBall f p x r → (n ! • (p n) fun x => y) = (iteratedFDeriv 𝕜 n f x) fun x => y
F : Type (max u v)
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
p : FormalMultilinearSeries 𝕜 E F
f : E → F
h : HasFPowerSeriesOnBall f p x r
⊢ ((iteratedFDeriv 𝕜 n (_root_.fderiv 𝕜 f) x) fun x => y) y =
    ((iteratedFDeriv 𝕜 n (fun y => _root_.fderiv 𝕜 f y) x) (Fin.init fun x => y)) y
state_after: no goals