Theorem: HahnSeries.SummableFamily.hsum_ofFinsupp
File: Mathlib/RingTheory/HahnSeries/Summable.lean

Proof steps:
state_before: Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
⊢ (ofFinsupp f).hsum = f.sum fun x => id
state_after: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ (ofFinsupp f).hsum.coeff g = (f.sum fun x => id).coeff g
tactic: ext g
state_before: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ (ofFinsupp f).hsum.coeff g = (f.sum fun x => id).coeff g
state_after: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ ∑ᶠ (i : α), (f i).coeff g = (∑ x ∈ f.support, id (f x)).coeff g
tactic: simp only [hsum_coeff, coe_ofFinsupp, Finsupp.sum, Ne]
state_before: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ ∑ᶠ (i : α), (f i).coeff g = (∑ x ∈ f.support, id (f x)).coeff g
state_after: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ ∑ᶠ (i : α), (coeff.addMonoidHom g) (f i) = (coeff.addMonoidHom g) (∑ x ∈ f.support, f x)
tactic: simp_rw [← coeff.addMonoidHom_apply, id]
state_before: case coeff.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ ∑ᶠ (i : α), (coeff.addMonoidHom g) (f i) = (coeff.addMonoidHom g) (∑ x ∈ f.support, f x)
state_after: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ (Function.support fun i => (coeff.addMonoidHom g) (f i)) ⊆ ↑f.support
tactic: rw [map_sum, finsum_eq_sum_of_support_subset]
state_before: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
⊢ (Function.support fun i => (coeff.addMonoidHom g) (f i)) ⊆ ↑f.support
state_after: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : x ∈ Function.support fun i => (coeff.addMonoidHom g) (f i)
⊢ x ∈ ↑f.support
tactic: intro x h
state_before: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : x ∈ Function.support fun i => (coeff.addMonoidHom g) (f i)
⊢ x ∈ ↑f.support
state_after: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : x ∈ Function.support fun i => (coeff.addMonoidHom g) (f i)
⊢ ¬f x = 0
tactic: simp only [coeff.addMonoidHom_apply, mem_coe, Finsupp.mem_support_iff, Ne]
state_before: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : x ∈ Function.support fun i => (coeff.addMonoidHom g) (f i)
⊢ ¬f x = 0
state_after: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : f x = 0
⊢ x ∉ Function.support fun i => (coeff.addMonoidHom g) (f i)
tactic: contrapose! h
state_before: case coeff.h.h
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
f : α →₀ HahnSeries Γ R
g : Γ
x : α
h : f x = 0
⊢ x ∉ Function.support fun i => (coeff.addMonoidHom g) (f i)
state_after: no goals
tactic: simp [h]