Theorem: Finsupp.support_finset_sum
File: Mathlib/Algebra/BigOperators/Finsupp.lean

tactic: rw [← Finset.sup_eq_biUnion]
state_before: α : Type u_3
ι : Type ?u.310298
γ : Type ?u.310301
A : Type ?u.310304
B : Type ?u.310307
C : Type ?u.310310
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s✝ : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_1
M : Type u_2
M' : Type ?u.313446
N : Type ?u.313449
P : Type ?u.313452
G : Type ?u.313455
H : Type ?u.313458
R : Type ?u.313461
S : Type ?u.313464
inst✝¹ : DecidableEq β
inst✝ : AddCommMonoid M
s : Finset α
f : α → β →₀ M
⊢ (Finset.sum s f).support ⊆ Finset.biUnion s fun x => (f x).support

tactic: induction' s using Finset.cons_induction_on with a s ha ih
state_before: α : Type u_3
ι : Type ?u.310298
γ : Type ?u.310301
A : Type ?u.310304
B : Type ?u.310307
C : Type ?u.310310
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s✝ : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_1
M : Type u_2
M' : Type ?u.313446
N : Type ?u.313449
P : Type ?u.313452
G : Type ?u.313455
H : Type ?u.313458
R : Type ?u.313461
S : Type ?u.313464
inst✝¹ : DecidableEq β
inst✝ : AddCommMonoid M
s : Finset α
f : α → β →₀ M
⊢ (Finset.sum s f).support ⊆ sup s fun x => (f x).support

tactic: rfl
state_before: case h₁
α : Type u_3
ι : Type ?u.310298
γ : Type ?u.310301
A : Type ?u.310304
B : Type ?u.310307
C : Type ?u.310310
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_1
M : Type u_2
M' : Type ?u.313446
N : Type ?u.313449
P : Type ?u.313452
G : Type ?u.313455
H : Type ?u.313458
R : Type ?u.313461
S : Type ?u.313464
inst✝¹ : DecidableEq β
inst✝ : AddCommMonoid M
f : α → β →₀ M
⊢ (Finset.sum ∅ f).support ⊆ sup ∅ fun x => (f x).support

tactic: rw [Finset.sum_cons, Finset.sup_cons]
state_before: case h₂
α : Type u_3
ι : Type ?u.310298
γ : Type ?u.310301
A : Type ?u.310304
B : Type ?u.310307
C : Type ?u.310310
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s✝ : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_1
M : Type u_2
M' : Type ?u.313446
N : Type ?u.313449
P : Type ?u.313452
G : Type ?u.313455
H : Type ?u.313458
R : Type ?u.313461
S : Type ?u.313464
inst✝¹ : DecidableEq β
inst✝ : AddCommMonoid M
f : α → β →₀ M
a : α
s : Finset α
ha : ¬a ∈ s
ih : (Finset.sum s f).support ⊆ sup s fun x => (f x).support
⊢ (Finset.sum (cons a s ha) f).support ⊆ sup (cons a s ha) fun x => (f x).support

tactic: exact support_add.trans (Finset.union_subset_union (Finset.Subset.refl _) ih)
state_before: case h₂
α : Type u_3
ι : Type ?u.310298
γ : Type ?u.310301
A : Type ?u.310304
B : Type ?u.310307
C : Type ?u.310310
inst✝⁴ : AddCommMonoid A
inst✝³ : AddCommMonoid B
inst✝² : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s✝ : Finset α
f✝ : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_1
M : Type u_2
M' : Type ?u.313446
N : Type ?u.313449
P : Type ?u.313452
G : Type ?u.313455
H : Type ?u.313458
R : Type ?u.313461
S : Type ?u.313464
inst✝¹ : DecidableEq β
inst✝ : AddCommMonoid M
f : α → β →₀ M
a : α
s : Finset α
ha : ¬a ∈ s
ih : (Finset.sum s f).support ⊆ sup s fun x => (f x).support
⊢ (f a + ∑ x in s, f x).support ⊆ (f a).support ⊔ sup s fun x => (f x).support