Theorem: Finset.mem_finsuppAntidiag_insert
File: Mathlib/Algebra/Order/Antidiag/Finsupp.lean

tactic: simp only [mem_finsuppAntidiag', mem_antidiagonal, Prod.exists, sum_insert h]
state_before: ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ f ∈ (insert a s).finsuppAntidiag n ↔ ∃ m ∈ antidiagonal n, ∃ g, f = g.update a m.1 ∧ g ∈ s.finsuppAntidiag m.2
state_after: ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n ↔
    ∃ a_1 b, a_1 + b = n ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b

tactic: constructor
state_before: ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n ↔
    ∃ a_1 b, a_1 + b = n ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b
state_after: case mp
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n →
    ∃ a_2 b, a_2 + b = n ∧ ∃ g, f = g.update a a_2 ∧ g.support ⊆ s ∧ s.sum ⇑g = b

case mpr
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ (∃ a_1 b, a_1 + b = n ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b) →
    f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n

tactic: rintro ⟨hsupp, rfl⟩
state_before: case mp
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n →
    ∃ a_2 b, a_2 + b = n ∧ ∃ g, f = g.update a a_2 ∧ g.support ⊆ s ∧ s.sum ⇑g = b
state_after: case mp.intro
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ ∃ a_1 b, a_1 + b = f a + ∑ x ∈ s, f x ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b

tactic: refine ⟨_, _, rfl, Finsupp.erase a f, ?_, ?_, ?_⟩
state_before: case mp.intro
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ ∃ a_1 b, a_1 + b = f a + ∑ x ∈ s, f x ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b
state_after: case mp.intro.refine_1
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ f = (Finsupp.erase a f).update a (f a)

case mp.intro.refine_2
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ (Finsupp.erase a f).support ⊆ s

case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ s.sum ⇑(Finsupp.erase a f) = ∑ x ∈ s, f x

tactic: rw [update_erase_eq_update, update_self]
state_before: case mp.intro.refine_1
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ f = (Finsupp.erase a f).update a (f a)
state_after: no goals

tactic: rwa [support_erase, ← subset_insert_iff]
state_before: case mp.intro.refine_2
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ (Finsupp.erase a f).support ⊆ s
state_after: no goals

tactic: apply sum_congr rfl
state_before: case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ s.sum ⇑(Finsupp.erase a f) = ∑ x ∈ s, f x
state_after: case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ ∀ x ∈ s, (Finsupp.erase a f) x = f x

tactic: intro x hx
state_before: case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
⊢ ∀ x ∈ s, (Finsupp.erase a f) x = f x
state_after: case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
x : ι
hx : x ∈ s
⊢ (Finsupp.erase a f) x = f x

tactic: rw [Finsupp.erase_ne (ne_of_mem_of_not_mem hx h)]
state_before: case mp.intro.refine_3
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
f : ι →₀ μ
hsupp : f.support ⊆ insert a s
x : ι
hx : x ∈ s
⊢ (Finsupp.erase a f) x = f x
state_after: no goals

tactic: rintro ⟨n1, n2, rfl, g, rfl, hgsupp, rfl⟩
state_before: case mpr
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n : μ
f : ι →₀ μ
⊢ (∃ a_1 b, a_1 + b = n ∧ ∃ g, f = g.update a a_1 ∧ g.support ⊆ s ∧ s.sum ⇑g = b) →
    f.support ⊆ insert a s ∧ f a + ∑ x ∈ s, f x = n
state_after: case mpr.intro.intro.intro.intro.intro.intro
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1).support ⊆ insert a s ∧ (g.update a n1) a + ∑ x ∈ s, (g.update a n1) x = n1 + s.sum ⇑g

tactic: constructor
state_before: case mpr.intro.intro.intro.intro.intro.intro
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1).support ⊆ insert a s ∧ (g.update a n1) a + ∑ x ∈ s, (g.update a n1) x = n1 + s.sum ⇑g
state_after: case mpr.intro.intro.intro.intro.intro.intro.left
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1).support ⊆ insert a s

case mpr.intro.intro.intro.intro.intro.intro.right
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1) a + ∑ x ∈ s, (g.update a n1) x = n1 + s.sum ⇑g

tactic: exact (support_update_subset _ _).trans (insert_subset_insert a hgsupp)
state_before: case mpr.intro.intro.intro.intro.intro.intro.left
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1).support ⊆ insert a s
state_after: no goals

tactic: simp only [coe_update]
state_before: case mpr.intro.intro.intro.intro.intro.intro.right
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ (g.update a n1) a + ∑ x ∈ s, (g.update a n1) x = n1 + s.sum ⇑g
state_after: case mpr.intro.intro.intro.intro.intro.intro.right
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ Function.update (⇑g) a n1 a + ∑ x ∈ s, Function.update (⇑g) a n1 x = n1 + s.sum ⇑g

tactic: apply congr_arg₂
state_before: case mpr.intro.intro.intro.intro.intro.intro.right
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ Function.update (⇑g) a n1 a + ∑ x ∈ s, Function.update (⇑g) a n1 x = n1 + s.sum ⇑g
state_after: case mpr.intro.intro.intro.intro.intro.intro.right.hx
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ Function.update (⇑g) a n1 a = n1

case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ ∑ x ∈ s, Function.update (⇑g) a n1 x = s.sum ⇑g

tactic: rw [update_same]
state_before: case mpr.intro.intro.intro.intro.intro.intro.right.hx
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ Function.update (⇑g) a n1 a = n1
state_after: no goals

tactic: apply sum_congr rfl
state_before: case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ ∑ x ∈ s, Function.update (⇑g) a n1 x = s.sum ⇑g
state_after: case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ ∀ x ∈ s, Function.update (⇑g) a n1 x = g x

tactic: intro x hx
state_before: case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
⊢ ∀ x ∈ s, Function.update (⇑g) a n1 x = g x
state_after: case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
x : ι
hx : x ∈ s
⊢ Function.update (⇑g) a n1 x = g x

tactic: rw [update_noteq (ne_of_mem_of_not_mem hx h) n1 ⇑g]
state_before: case mpr.intro.intro.intro.intro.intro.intro.right.hy
ι : Type u_1
μ : Type u_2
μ' : Type u_3
inst✝⁷ : DecidableEq ι
inst✝⁶ : AddCommMonoid μ
inst✝⁵ : HasAntidiagonal μ
inst✝⁴ : DecidableEq μ
inst✝³ : AddCommMonoid μ'
inst✝² : HasAntidiagonal μ'
inst✝¹ : DecidableEq μ'
inst✝ : DecidableEq ι
a : ι
s : Finset ι
h : a ∉ s
n1 : μ
g : ι →₀ μ
hgsupp : g.support ⊆ s
x : ι
hx : x ∈ s
⊢ Function.update (⇑g) a n1 x = g x
state_after: no goals