awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      (f x.1 * g x.2) =
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
      ((∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) * g x.2)
h₁ : ∀ i ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a i) 0 = 1
rw : Finset σ
h₂ : ∀ i ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a i) 0 = 1
rw₁ : Finset σ
h₃ : ∀ i ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a i) 0 = 1
⊢ ((x.1 + x.2).prod fun (s : σ) (m : ℕ) ↦ a s ^ m) * (f x.1 * g x.2) =
    (x.1.prod fun (s : σ) (m : ℕ) ↦ a s ^ m) * f x.1 * ((x.2.prod fun (s : σ) (m : ℕ) ↦ a s ^ m) * g x.2)

Tactic:
rw [Finsupp.prod_of_support_subset _ Finsupp.support_add,
      Finsupp.prod_of_support_subset x.1 Finset.subset_union_left,
      Finsupp.prod_of_support_subset x.2 Finset.subset_union_right]

Premises used: Finsupp.prod_of_support_subset, Finset.subset_union_left, Prod.fst, Finsupp.support_add, Prod.snd, Finset.subset_union_right
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 * g x.2 =
    ((∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
        ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      g x.2
⊢ (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      (f x.1 * g x.2) =
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
      ((∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) * g x.2)

Tactic:
simp only [← mul_assoc]

Premises used: mul_assoc
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 =
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
      ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)
⊢ (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 * g x.2 =
    ((∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
        ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      g x.2

Tactic:
congr 1
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 =
    HMul.hMul (α := R) (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ))
        (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      f x.1
⊢ (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 =
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 *
      ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)

Tactic:
rw [mul_assoc, mul_comm (f x.1), ← mul_assoc]

Premises used: mul_assoc, Prod.fst, mul_comm
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ) =
    HMul.hMul (α := R) (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ))
      (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ))
⊢ (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ)) * f x.1 =
    HMul.hMul (α := R) (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ))
        (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)) *
      f x.1

Tactic:
congr 1
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  Eq.{u_9 + 1} (α := R)
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ))
    (∏ x_1 ∈ x.1.support ∪ x.2.support,
      HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ) *
        HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ))
⊢ ∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ) =
    HMul.hMul (α := R) (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ))
      (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ))

Tactic:
rw [← Finset.prod_mul_distrib]

Premises used: Finset.prod_mul_distrib
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
h :
  ∀ x_1 ∈ x.1.support ∪ x.2.support,
    HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ) =
      HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ) *
        HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)
⊢ Eq.{u_9 + 1} (α := R)
    (∏ x_1 ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ))
    (∏ x_1 ∈ x.1.support ∪ x.2.support,
      HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ) *
        HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ))

Tactic:
apply Finset.prod_congr rfl

Premises used: Finset.prod_congr, rfl
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
⊢ ∀ x_1 ∈ x.1.support ∪ x.2.support,
    HPow.hPow (β := ℕ) (a x_1) ((x.1 + x.2 : (a : σ) → ℕ) x_1 : ℕ) =
      HPow.hPow (β := ℕ) (a x_1) ((x.1 : (a : σ) → ℕ) x_1 : ℕ) *
        HPow.hPow (β := ℕ) (a x_1) ((x.2 : (a : σ) → ℕ) x_1 : ℕ)

Tactic:
simp [pow_add]

Premises used: pow_add
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
⊢ ∀ i ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a i) 0 = 1

Tactic:
simp
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
f g : MvPowerSeries σ R
n : σ →₀ ℕ
x : (σ →₀ ℕ) × (σ →₀ ℕ)
hx : x.1 + x.2 = n
⊢ ∀ i ∈ x.1.support ∪ x.2.support, HPow.hPow (β := ℕ) (a i) 0 = 1

Tactic:
{simp}
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
h :
  ∀ (n : σ →₀ ℕ),
    Eq.{u_9 + 1} (α := R)
      ((coeff n : (a : MvPowerSeries σ R) → R) fun (n : σ →₀ ℕ) ↦
          HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
            ((coeff n : (a : MvPowerSeries σ R) → R) 0 : R) :
        R)
      ((coeff n : (a : MvPowerSeries σ R) → R) 0 : R)
⊢ Eq (α := MvPowerSeries σ R)
    (fun (n : σ →₀ ℕ) ↦
      HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
        ((coeff n : (a : MvPowerSeries σ R) → R) 0 : R))
    0

Tactic:
ext
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
n : σ →₀ ℕ
⊢ Eq.{u_9 + 1} (α := R)
    ((coeff n : (a : MvPowerSeries σ R) → R) fun (n : σ →₀ ℕ) ↦
        HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
          ((coeff n : (a : MvPowerSeries σ R) → R) 0 : R) :
      R)
    ((coeff n : (a : MvPowerSeries σ R) → R) 0 : R)

Tactic:
simp [map_zero, coeff_apply]

Premises used: map_zero, MvPowerSeries.coeff_apply
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
x y : MvPowerSeries σ R
h :
  ∀ (n : σ →₀ ℕ),
    Eq.{u_9 + 1} (α := R)
      ((coeff n : (a : MvPowerSeries σ R) → R) fun (n : σ →₀ ℕ) ↦
          HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
            ((coeff n : (a : MvPowerSeries σ R) → R) (x + y) : R) :
        R)
      ((coeff n : (a : MvPowerSeries σ R) → R)
          (HAdd.hAdd (α := MvPowerSeries σ R)
            (fun (n : σ →₀ ℕ) ↦
              HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
                ((coeff n : (a : MvPowerSeries σ R) → R) x : R))
            fun (n : σ →₀ ℕ) ↦
            HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
              ((coeff n : (a : MvPowerSeries σ R) → R) y : R)) :
        R)
⊢ (fun (n : σ →₀ ℕ) ↦
      HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
        ((coeff n : (a : MvPowerSeries σ R) → R) (x + y) : R)) =
    HAdd.hAdd (α := MvPowerSeries σ R)
      (fun (n : σ →₀ ℕ) ↦
        HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
          ((coeff n : (a : MvPowerSeries σ R) → R) x : R))
      fun (n : σ →₀ ℕ) ↦
      HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
        ((coeff n : (a : MvPowerSeries σ R) → R) y : R)

Tactic:
ext
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
x y : MvPowerSeries σ R
n : σ →₀ ℕ
⊢ Eq.{u_9 + 1} (α := R)
    ((coeff n : (a : MvPowerSeries σ R) → R) fun (n : σ →₀ ℕ) ↦
        HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
          ((coeff n : (a : MvPowerSeries σ R) → R) (x + y) : R) :
      R)
    ((coeff n : (a : MvPowerSeries σ R) → R)
        (HAdd.hAdd (α := MvPowerSeries σ R)
          (fun (n : σ →₀ ℕ) ↦
            HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
              ((coeff n : (a : MvPowerSeries σ R) → R) x : R))
          fun (n : σ →₀ ℕ) ↦
          HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
            ((coeff n : (a : MvPowerSeries σ R) → R) y : R)) :
      R)

Tactic:
mul_add _ _ _

Premises used: mul_add
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
A : Type u_2
inst : CommSemiring A
R_1 : Type u_3
inst_1 : CommRing R_1
inst_2 : Algebra A R_1
τ : Type u_4
S : Type u_5
inst_3 : CommRing S
inst_4 : Algebra A S
inst_5 : Algebra R_1 S
inst_6 : IsScalarTower A R_1 S
a_1 a_2 : σ → MvPowerSeries τ S
T_1 : Type u_6
inst_7 : CommRing T_1
inst_8 : UniformSpace T_1
inst_9 : T2Space T_1
inst_10 : CompleteSpace T_1
inst_11 : IsUniformAddGroup T_1
inst_12 : IsTopologicalRing T_1
inst_13 : IsLinearTopology T_1 T_1
inst_14 : Algebra R_1 T_1
ε : MvPowerSeries τ S →ₐ[R_1] T_1
inst_15 : Algebra S T_1
inst_16 : IsScalarTower R_1 S T_1
υ : Type u_7
T : Type u_8
inst_17 : CommRing T
inst_18 : Algebra R_1 T
inst_19 : Algebra S T
inst_20 : IsScalarTower R_1 S T
b : τ → MvPowerSeries υ T
R : Type u_9
inst_21 : CommSemiring R
a : σ → R
x y : MvPowerSeries σ R
n : σ →₀ ℕ
⊢ Eq.{u_9 + 1} (α := R)
    ((coeff n : (a : MvPowerSeries σ R) → R) fun (n : σ →₀ ℕ) ↦
        HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
          ((coeff n : (a : MvPowerSeries σ R) → R) (x + y) : R) :
      R)
    ((coeff n : (a : MvPowerSeries σ R) → R)
        (HAdd.hAdd (α := MvPowerSeries σ R)
          (fun (n : σ →₀ ℕ) ↦
            HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
              ((coeff n : (a : MvPowerSeries σ R) → R) x : R))
          fun (n : σ →₀ ℕ) ↦
          HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
            ((coeff n : (a : MvPowerSeries σ R) → R) y : R)) :
      R)

Tactic:
exact mul_add _ _ _

Premises used: mul_add
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
R : Type u_9
inst : CommSemiring R
f : MvPowerSeries σ R
a : σ → R
n : σ →₀ ℕ
⊢ (coeff n : (a : MvPowerSeries σ R) → R)
      ((rescale a : (a : MvPowerSeries σ R) → MvPowerSeries σ R) f : MvPowerSeries σ R) =
    HMul.hMul (α := R) (β := R) (n.prod fun (s : σ) (m : ℕ) ↦ a s ^ m : R)
      ((coeff n : (a : MvPowerSeries σ R) → R) f : R)

Tactic:
simp [rescale, coeff_apply]

Premises used: MvPowerSeries.rescale, MvPowerSeries.coeff_apply
-- Module: Mathlib.RingTheory.MvPowerSeries.Substitution
Goal:
σ : Type u_1
R : Type u_9
inst : CommSemiring R
a :
  ∀ (x : MvPowerSeries σ R) (n : σ →₀ ℕ),
    Eq.{u_9 + 1} (α := R)
      ((coeff n : (a : MvPowerSeries σ R) → R)
          ((rescale 0 : (a : MvPowerSeries σ R) → MvPowerSeries σ R) x : MvPowerSeries σ R) :
        R)
      ((coeff n : (a : MvPowerSeries σ R) → R)
          ((RingHom.comp C constantCoeff : (a : MvPowerSeries σ R) → MvPowerSeries σ R) x : MvPowerSeries σ R) :
        R)
⊢ Eq (α := MvPowerSeries σ R →+* MvPowerSeries σ R) (rescale 0) (RingHom.comp C constantCoeff)

Tactic:
ext x n