Theorem: HahnModule.single_smul_coeff_add
File: Mathlib/RingTheory/HahnSeries/Multiplication.lean

Proof steps:
state_before: Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
⊢ ((of R).symm ((HahnSeries.single b) r • x)).coeff (b +ᵥ a) = r • ((of R).symm x).coeff a
state_after: case pos
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : r = 0
⊢ ((of R).symm ((HahnSeries.single b) r • x)).coeff (b +ᵥ a) = r • ((of R).symm x).coeff a

case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
⊢ ((of R).symm ((HahnSeries.single b) r • x)).coeff (b +ᵥ a) = r • ((of R).symm x).coeff a
tactic: by_cases hr : r = 0
state_before: case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
⊢ ((of R).symm ((HahnSeries.single b) r • x)).coeff (b +ᵥ a) = r • ((of R).symm x).coeff a
state_after: case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    r • ((of R).symm x).coeff a
tactic: simp only [hr, smul_coeff, smul_coeff, HahnSeries.support_single_of_ne, ne_eq, not_false_iff,
    smul_eq_mul]
state_before: case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    r • ((of R).symm x).coeff a
state_after: case pos
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
hx : ((of R).symm x).coeff a = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    r • ((of R).symm x).coeff a

case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
hx : ¬((of R).symm x).coeff a = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    r • ((of R).symm x).coeff a
tactic: by_cases hx : ((of R).symm x).coeff a = 0
state_before: case neg
Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
hx : ¬((of R).symm x).coeff a = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    r • ((of R).symm x).coeff a
state_after: Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
hx : ¬((of R).symm x).coeff a = 0
⊢ ∑ x_1 ∈ VAddAntidiagonal ⋯ ⋯ (b +ᵥ a), ((HahnSeries.single b) r).coeff x_1.1 • ((of R).symm x).coeff x_1.2 =
    ∑ ij ∈ {(b, a)}, ((HahnSeries.single b) r).coeff ij.1 • ((of R).symm x).coeff ij.2

Γ : Type u_1
Γ' : Type u_2
R : Type u_3
V : Type u_4
inst✝⁶ : PartialOrder Γ
inst✝⁵ : PartialOrder Γ'
inst✝⁴ : VAdd Γ Γ'
inst✝³ : IsOrderedCancelVAdd Γ Γ'
inst✝² : AddCommMonoid V
inst✝¹ : MulZeroClass R
inst✝ : SMulWithZero R V
r : R
x : HahnModule Γ' R V
a : Γ'
b : Γ
hr : ¬r = 0
hx : ¬((of R).symm x).coeff a = 0
⊢ ∑ ij ∈ {(b, a)}, ((HahnSeries.single b) r).coeff ij.1 • ((of R).symm x).coeff ij.2 = r • ((of R).symm x).coeff a
tactic: trans ∑ ij ∈ {(b, a)},
    (HahnSeries.single b r).coeff ij.fst • ((of R).symm x).coeff ij.snd