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

tactic: rw [smul_coeff]
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
⊢ ((of R).symm (x • y)).coeff a = ∑ ij ∈ addAntidiagonal ⋯ hs a, x.coeff ij.1 • ((of R).symm y).coeff ij.2
state_after: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
⊢ ∑ ij ∈ addAntidiagonal ⋯ ⋯ a, x.coeff ij.1 • ((of R).symm y).coeff ij.2 =
    ∑ ij ∈ addAntidiagonal ⋯ hs a, x.coeff ij.1 • ((of R).symm y).coeff ij.2

tactic: apply sum_subset_zero_on_sdiff (addAntidiagonal_mono_right hys) _ fun _ _ => rfl
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
⊢ ∑ ij ∈ addAntidiagonal ⋯ ⋯ a, x.coeff ij.1 • ((of R).symm y).coeff ij.2 =
    ∑ ij ∈ addAntidiagonal ⋯ hs a, x.coeff ij.1 • ((of R).symm y).coeff ij.2
state_after: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
⊢ ∀ x_1 ∈ addAntidiagonal ⋯ hs a \ addAntidiagonal ⋯ ⋯ a, x.coeff x_1.1 • ((of R).symm y).coeff x_1.2 = 0

tactic: intro b hb
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
⊢ ∀ x_1 ∈ addAntidiagonal ⋯ hs a \ addAntidiagonal ⋯ ⋯ a, x.coeff x_1.1 • ((of R).symm y).coeff x_1.2 = 0
state_after: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
b : Γ × Γ
hb : b ∈ addAntidiagonal ⋯ hs a \ addAntidiagonal ⋯ ⋯ a
⊢ x.coeff b.1 • ((of R).symm y).coeff b.2 = 0

tactic: simp only [not_and, mem_sdiff, mem_addAntidiagonal, HahnSeries.mem_support, not_imp_not] at hb
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
b : Γ × Γ
hb : b ∈ addAntidiagonal ⋯ hs a \ addAntidiagonal ⋯ ⋯ a
⊢ x.coeff b.1 • ((of R).symm y).coeff b.2 = 0
state_after: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
b : Γ × Γ
hb : (x.coeff b.1 ≠ 0 ∧ b.2 ∈ s ∧ b.1 + b.2 = a) ∧ (x.coeff b.1 ≠ 0 → b.1 + b.2 = a → ((of R).symm y).coeff b.2 = 0)
⊢ x.coeff b.1 • ((of R).symm y).coeff b.2 = 0

tactic: rw [hb.2 hb.1.1 hb.1.2.2, smul_zero]
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R✝ : Type u_3
Γ : Type u_4
R : Type u_5
V : Type u_6
inst✝⁵ : OrderedCancelAddCommMonoid Γ
inst✝⁴ : AddCommMonoid V
inst✝³ : SMul R V
W : Type u_7
inst✝² : Zero R
inst✝¹ : AddCommMonoid W
inst✝ : SMulZeroClass R W
x : HahnSeries Γ R
y : HahnModule Γ R W
a : Γ
s : Set Γ
hs : s.IsPWO
hys : ((of R).symm y).support ⊆ s
b : Γ × Γ
hb : (x.coeff b.1 ≠ 0 ∧ b.2 ∈ s ∧ b.1 + b.2 = a) ∧ (x.coeff b.1 ≠ 0 → b.1 + b.2 = a → ((of R).symm y).coeff b.2 = 0)
⊢ x.coeff b.1 • ((of R).symm y).coeff b.2 = 0
state_after: no goals