Theorem: TrivSqZeroExt.hasSum_snd_expSeries_of_smul_comm
File: Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean

tactic: simp_rw [expSeries_apply_eq] at *
state_before: 𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => ↑(expSeries 𝕜 R n) fun x_1 => fst x) e
⊢ HasSum (fun n => snd (↑(expSeries 𝕜 (tsze R M) n) fun x_1 => x)) (e • snd x)

tactic: conv =>
  congr
  ext n
  rw [snd_smul, snd_pow_of_smul_comm _ _ hx, nsmul_eq_smul_cast 𝕜 n, smul_smul, inv_mul_eq_div, ←
    inv_div, ← smul_assoc]
state_before: 𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun n => snd ((↑(Nat.factorial n))⁻¹ • x ^ n)) (e • snd x)

tactic: apply HasSum.smul_const
state_before: 𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun n => ((↑(Nat.factorial n) / ↑n)⁻¹ • fst x ^ Nat.pred n) • snd x) (e • snd x)

tactic: rw [← hasSum_nat_add_iff' 1]
state_before: case hf
𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun z => (↑(Nat.factorial z) / ↑z)⁻¹ • fst x ^ Nat.pred z) e

tactic: rw [Finset.range_one, Finset.sum_singleton, Nat.cast_zero, div_zero, inv_zero, zero_smul,
  sub_zero]
state_before: case hf
𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun n => (↑(Nat.factorial (n + 1)) / ↑(n + 1))⁻¹ • fst x ^ Nat.pred (n + 1))
    (e - Finset.sum (Finset.range 1) fun i => (↑(Nat.factorial i) / ↑i)⁻¹ • fst x ^ Nat.pred i)

tactic: simp_rw [← Nat.succ_eq_add_one, Nat.pred_succ, Nat.factorial_succ, Nat.cast_mul, ←
  Nat.succ_eq_add_one,
  mul_div_cancel_left _ ((@Nat.cast_ne_zero 𝕜 _ _ _).mpr <| Nat.succ_ne_zero _)]
state_before: case hf
𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun n => (↑(Nat.factorial (n + 1)) / ↑(n + 1))⁻¹ • fst x ^ Nat.pred (n + 1)) e

tactic: exact h
state_before: case hf
𝕜 : Type u_1
R : Type u_2
M : Type u_3
inst✝¹⁶ : TopologicalSpace R
inst✝¹⁵ : TopologicalSpace M
inst✝¹⁴ : Field 𝕜
inst✝¹³ : CharZero 𝕜
inst✝¹² : Ring R
inst✝¹¹ : AddCommGroup M
inst✝¹⁰ : Algebra 𝕜 R
inst✝⁹ : Module R M
inst✝⁸ : Module Rᵐᵒᵖ M
inst✝⁷ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁶ : Module 𝕜 M
inst✝⁵ : IsScalarTower 𝕜 R M
inst✝⁴ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op (fst x) • snd x = fst x • snd x
e : R
h : HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e
⊢ HasSum (fun n => (↑(Nat.factorial n))⁻¹ • fst x ^ n) e