Theorem: HahnModule.support_smul_subset_vadd_support'
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
x : HahnSeries Γ R
y : HahnModule Γ' R V
⊢ ((of R).symm (x • y)).support ⊆ x.support +ᵥ ((of R).symm y).support
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
x : HahnSeries Γ R
y : HahnModule Γ' R V
⊢ x.support.IsPWO

Γ : 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
x : HahnSeries Γ R
y : HahnModule Γ' R V
⊢ ((of R).symm y).support.IsPWO

Γ : 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
x : HahnSeries Γ R
y : HahnModule Γ' R V
⊢ ∀ x_1 ∈ ((of R).symm (x • y)).support, x_1 ∈ {a | (VAddAntidiagonal ?m.199459 ?m.199460 a).Nonempty}
tactic: apply Set.Subset.trans (fun x hx => _) support_vaddAntidiagonal_subset_vadd
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
x : HahnSeries Γ R
y : HahnModule Γ' R V
⊢ ∀ x_1 ∈ ((of R).symm (x • y)).support, x_1 ∈ {a | (VAddAntidiagonal ⋯ ⋯ a).Nonempty}
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : x ∈ ((of R).symm (x✝ • y)).support
⊢ x ∈ {a | (VAddAntidiagonal ⋯ ⋯ a).Nonempty}
tactic: intro x hx
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : x ∈ ((of R).symm (x✝ • y)).support
⊢ x ∈ {a | (VAddAntidiagonal ⋯ ⋯ a).Nonempty}
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : x ∉ {a | (VAddAntidiagonal ⋯ ⋯ a).Nonempty}
⊢ x ∉ ((of R).symm (x✝ • y)).support
tactic: contrapose! hx
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : x ∉ {a | (VAddAntidiagonal ⋯ ⋯ a).Nonempty}
⊢ x ∉ ((of R).symm (x✝ • y)).support
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : VAddAntidiagonal ⋯ ⋯ x = ∅
⊢ x ∉ ((of R).symm (x✝ • y)).support
tactic: simp only [Set.mem_setOf_eq, not_nonempty_iff_eq_empty] at hx
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
x✝ : HahnSeries Γ R
y : HahnModule Γ' R V
x : Γ'
hx : VAddAntidiagonal ⋯ ⋯ x = ∅
⊢ x ∉ ((of R).symm (x✝ • y)).support
state_after: no goals
tactic: simp [hx, smul_coeff]