Theorem: MultilinearMap.domCoprod_alternization_coe
File: Mathlib/LinearAlgebra/Alternating/DomCoprod.lean

Proof steps:
state_before: ιa : Type u_1
ιb : Type u_2
inst✝¹⁰ : Fintype ιa
inst✝⁹ : Fintype ιb
R' : Type u_3
Mᵢ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
inst✝⁸ : CommSemiring R'
inst✝⁷ : AddCommGroup N₁
inst✝⁶ : Module R' N₁
inst✝⁵ : AddCommGroup N₂
inst✝⁴ : Module R' N₂
inst✝³ : AddCommMonoid Mᵢ
inst✝² : Module R' Mᵢ
inst✝¹ : DecidableEq ιa
inst✝ : DecidableEq ιb
a : MultilinearMap R' (fun x => Mᵢ) N₁
b : MultilinearMap R' (fun x => Mᵢ) N₂
⊢ (↑(alternatization a)).domCoprod ↑(alternatization b) =
    ∑ σa : Perm ιa, ∑ σb : Perm ιb, Perm.sign σa • Perm.sign σb • (domDomCongr σa a).domCoprod (domDomCongr σb b)
state_after: ιa : Type u_1
ιb : Type u_2
inst✝¹⁰ : Fintype ιa
inst✝⁹ : Fintype ιb
R' : Type u_3
Mᵢ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
inst✝⁸ : CommSemiring R'
inst✝⁷ : AddCommGroup N₁
inst✝⁶ : Module R' N₁
inst✝⁵ : AddCommGroup N₂
inst✝⁴ : Module R' N₂
inst✝³ : AddCommMonoid Mᵢ
inst✝² : Module R' Mᵢ
inst✝¹ : DecidableEq ιa
inst✝ : DecidableEq ιb
a : MultilinearMap R' (fun x => Mᵢ) N₁
b : MultilinearMap R' (fun x => Mᵢ) N₂
⊢ domCoprod' ((∑ σ : Perm ιa, Perm.sign σ • domDomCongr σ a) ⊗ₜ[R'] ∑ σ : Perm ιb, Perm.sign σ • domDomCongr σ b) =
    ∑ x : Perm ιa, ∑ x_1 : Perm ιb, Perm.sign x • Perm.sign x_1 • domCoprod' (domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b)
tactic: simp_rw [← MultilinearMap.domCoprod'_apply, MultilinearMap.alternatization_coe]
state_before: ιa : Type u_1
ιb : Type u_2
inst✝¹⁰ : Fintype ιa
inst✝⁹ : Fintype ιb
R' : Type u_3
Mᵢ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
inst✝⁸ : CommSemiring R'
inst✝⁷ : AddCommGroup N₁
inst✝⁶ : Module R' N₁
inst✝⁵ : AddCommGroup N₂
inst✝⁴ : Module R' N₂
inst✝³ : AddCommMonoid Mᵢ
inst✝² : Module R' Mᵢ
inst✝¹ : DecidableEq ιa
inst✝ : DecidableEq ιb
a : MultilinearMap R' (fun x => Mᵢ) N₁
b : MultilinearMap R' (fun x => Mᵢ) N₂
⊢ domCoprod' ((∑ σ : Perm ιa, Perm.sign σ • domDomCongr σ a) ⊗ₜ[R'] ∑ σ : Perm ιb, Perm.sign σ • domDomCongr σ b) =
    ∑ x : Perm ιa, ∑ x_1 : Perm ιb, Perm.sign x • Perm.sign x_1 • domCoprod' (domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b)
state_after: ιa : Type u_1
ιb : Type u_2
inst✝¹⁰ : Fintype ιa
inst✝⁹ : Fintype ιb
R' : Type u_3
Mᵢ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
inst✝⁸ : CommSemiring R'
inst✝⁷ : AddCommGroup N₁
inst✝⁶ : Module R' N₁
inst✝⁵ : AddCommGroup N₂
inst✝⁴ : Module R' N₂
inst✝³ : AddCommMonoid Mᵢ
inst✝² : Module R' Mᵢ
inst✝¹ : DecidableEq ιa
inst✝ : DecidableEq ιb
a : MultilinearMap R' (fun x => Mᵢ) N₁
b : MultilinearMap R' (fun x => Mᵢ) N₂
⊢ ∑ x : Perm ιa, ∑ x_1 : Perm ιb, domCoprod' (Perm.sign x • Perm.sign x_1 • domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b) =
    ∑ x : Perm ιa, ∑ x_1 : Perm ιb, Perm.sign x • Perm.sign x_1 • domCoprod' (domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b)
tactic: simp_rw [TensorProduct.sum_tmul, TensorProduct.tmul_sum, _root_.map_sum,
    ← TensorProduct.smul_tmul', TensorProduct.tmul_smul]
state_before: ιa : Type u_1
ιb : Type u_2
inst✝¹⁰ : Fintype ιa
inst✝⁹ : Fintype ιb
R' : Type u_3
Mᵢ : Type u_4
N₁ : Type u_5
N₂ : Type u_6
inst✝⁸ : CommSemiring R'
inst✝⁷ : AddCommGroup N₁
inst✝⁶ : Module R' N₁
inst✝⁵ : AddCommGroup N₂
inst✝⁴ : Module R' N₂
inst✝³ : AddCommMonoid Mᵢ
inst✝² : Module R' Mᵢ
inst✝¹ : DecidableEq ιa
inst✝ : DecidableEq ιb
a : MultilinearMap R' (fun x => Mᵢ) N₁
b : MultilinearMap R' (fun x => Mᵢ) N₂
⊢ ∑ x : Perm ιa, ∑ x_1 : Perm ιb, domCoprod' (Perm.sign x • Perm.sign x_1 • domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b) =
    ∑ x : Perm ιa, ∑ x_1 : Perm ιb, Perm.sign x • Perm.sign x_1 • domCoprod' (domDomCongr x a ⊗ₜ[R'] domDomCongr x_1 b)
state_after: no goals
tactic: rfl