Theorem: MvPolynomial.support_esymm''
File: Mathlib/RingTheory/MvPolynomial/Symmetric.lean

tactic: rw [esymm_eq_sum_monomial]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ (esymm σ R n).support =
    (powersetCard n univ).biUnion fun t => (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ (∑ t ∈ powersetCard n univ, (monomial (∑ i ∈ t, Finsupp.single i 1)) 1).support =
    (powersetCard n univ).biUnion fun t => (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support

tactic: simp only [← single_eq_monomial]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ (∑ t ∈ powersetCard n univ, (monomial (∑ i ∈ t, Finsupp.single i 1)) 1).support =
    (powersetCard n univ).biUnion fun t => (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ (∑ x ∈ powersetCard n univ, Finsupp.single (∑ i ∈ x, Finsupp.single i 1) 1).support =
    (powersetCard n univ).biUnion fun t => (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support

tactic: refine Finsupp.support_sum_eq_biUnion (powersetCard n (univ : Finset σ)) ?_
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ (∑ x ∈ powersetCard n univ, Finsupp.single (∑ i ∈ x, Finsupp.single i 1) 1).support =
    (powersetCard n univ).biUnion fun t => (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ ∀ (i₁ i₂ : Finset σ),
    i₁ ≠ i₂ →
      Disjoint (Finsupp.single (∑ i ∈ i₁, Finsupp.single i 1) 1).support
        (Finsupp.single (∑ i ∈ i₂, Finsupp.single i 1) 1).support

tactic: intro s t hst
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
⊢ ∀ (i₁ i₂ : Finset σ),
    i₁ ≠ i₂ →
      Disjoint (Finsupp.single (∑ i ∈ i₁, Finsupp.single i 1) 1).support
        (Finsupp.single (∑ i ∈ i₂, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ Disjoint (Finsupp.single (∑ i ∈ s, Finsupp.single i 1) 1).support
    (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support

tactic: rw [disjoint_left, Finsupp.support_single_ne_zero _ one_ne_zero]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ Disjoint (Finsupp.single (∑ i ∈ s, Finsupp.single i 1) 1).support
    (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a ∈ {∑ i ∈ s, Finsupp.single i 1} → a ∉ (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support

tactic: rw [Finsupp.support_single_ne_zero _ one_ne_zero]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a ∈ {∑ i ∈ s, Finsupp.single i 1} → a ∉ (Finsupp.single (∑ i ∈ t, Finsupp.single i 1) 1).support
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a ∈ {∑ i ∈ s, Finsupp.single i 1} → a ∉ {∑ i ∈ t, Finsupp.single i 1}

tactic: simp only [one_ne_zero, mem_singleton, Finsupp.mem_support_iff]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a ∈ {∑ i ∈ s, Finsupp.single i 1} → a ∉ {∑ i ∈ t, Finsupp.single i 1}
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a = ∑ i ∈ s, Finsupp.single i 1 → ¬a = ∑ i ∈ t, Finsupp.single i 1

tactic: rintro a h rfl
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
⊢ ∀ ⦃a : σ →₀ ℕ⦄, a = ∑ i ∈ s, Finsupp.single i 1 → ¬a = ∑ i ∈ t, Finsupp.single i 1
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
⊢ False

tactic: have := congr_arg Finsupp.support h
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
⊢ False

tactic: rw [Finsupp.support_sum_eq_biUnion, Finsupp.support_sum_eq_biUnion] at this
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
⊢ False

case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = (∑ i ∈ s, Finsupp.single i 1).support
⊢ ∀ (i₁ i₂ : σ), i₁ ≠ i₂ → Disjoint (Finsupp.single i₁ 1).support (Finsupp.single i₂ 1).support

case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
⊢ ∀ (i₁ i₂ : σ), i₁ ≠ i₂ → Disjoint (Finsupp.single i₁ 1).support (Finsupp.single i₂ 1).support

tactic: all_goals intro x y; simp [Finsupp.support_single_disjoint]
state_before: case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = (∑ i ∈ s, Finsupp.single i 1).support
⊢ ∀ (i₁ i₂ : σ), i₁ ≠ i₂ → Disjoint (Finsupp.single i₁ 1).support (Finsupp.single i₂ 1).support

case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
⊢ ∀ (i₁ i₂ : σ), i₁ ≠ i₂ → Disjoint (Finsupp.single i₁ 1).support (Finsupp.single i₂ 1).support
state_after: no goals

tactic: have hsingle : ∀ s : Finset σ, ∀ x : σ, x ∈ s → (Finsupp.single x 1).support = {x} := by
  intros _ x _
  rw [Finsupp.support_single_ne_zero x one_ne_zero]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
⊢ False

tactic: have hs := biUnion_congr (of_eq_true (eq_self s)) (hsingle s)
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
⊢ False

tactic: have ht := biUnion_congr (of_eq_true (eq_self t)) (hsingle t)
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
⊢ False

tactic: rw [hs, ht] at this
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : t.biUnion singleton = s.biUnion singleton
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
⊢ False

tactic: intros _ x _
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
⊢ ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
s✝ : Finset σ
x : σ
a✝ : x ∈ s✝
⊢ (Finsupp.single x 1).support = {x}

tactic: rw [Finsupp.support_single_ne_zero x one_ne_zero]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (t.biUnion fun i => (Finsupp.single i 1).support) = s.biUnion fun i => (Finsupp.single i 1).support
s✝ : Finset σ
x : σ
a✝ : x ∈ s✝
⊢ (Finsupp.single x 1).support = {x}
state_after: no goals

tactic: simp only [biUnion_singleton_eq_self] at this
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : t.biUnion singleton = s.biUnion singleton
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
⊢ False
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
this : t = s
⊢ False

tactic: exact absurd this hst.symm
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
hsingle : ∀ (s : Finset σ), ∀ x ∈ s, (Finsupp.single x 1).support = {x}
hs : (s.biUnion fun a => (Finsupp.single a 1).support) = s.biUnion singleton
ht : (t.biUnion fun a => (Finsupp.single a 1).support) = t.biUnion singleton
this : t = s
⊢ False
state_after: no goals

tactic: intro x y
state_before: case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
⊢ ∀ (i₁ i₂ : σ), i₁ ≠ i₂ → Disjoint (Finsupp.single i₁ 1).support (Finsupp.single i₂ 1).support
state_after: case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
x y : σ
⊢ x ≠ y → Disjoint (Finsupp.single x 1).support (Finsupp.single y 1).support

tactic: simp [Finsupp.support_single_disjoint]
state_before: case h
σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝⁵ : CommSemiring R
inst✝⁴ : CommSemiring S
inst✝³ : Fintype σ
inst✝² : Fintype τ
n : ℕ
inst✝¹ : DecidableEq σ
inst✝ : Nontrivial R
s t : Finset σ
hst : s ≠ t
h : ∑ i ∈ t, Finsupp.single i 1 = ∑ i ∈ s, Finsupp.single i 1
this : (∑ i ∈ t, Finsupp.single i 1).support = (∑ i ∈ s, Finsupp.single i 1).support
x y : σ
⊢ x ≠ y → Disjoint (Finsupp.single x 1).support (Finsupp.single y 1).support
state_after: no goals