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

tactic: simp_rw [← MultilinearMap.domCoprod'_apply, MultilinearMap.alternatization_coe]
state_before: R : Type ?u.1062722
inst✝²¹ : Semiring R
M : Type ?u.1062728
inst✝²⁰ : AddCommMonoid M
inst✝¹⁹ : Module R M
N : Type ?u.1062760
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : Module R N
P : Type ?u.1062790
inst✝¹⁶ : AddCommMonoid P
inst✝¹⁵ : Module R P
M' : Type ?u.1062820
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : Module R M'
N' : Type ?u.1063208
inst✝¹² : AddCommGroup N'
inst✝¹¹ : Module R N'
ι : Type ?u.1063596
ι' : Type ?u.1063599
ι'' : Type ?u.1063602
ι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 ↑(↑alternatization a) ↑(↑alternatization b) =
    ∑ σa : Perm ιa, ∑ σb : Perm ιb, ↑Perm.sign σa • ↑Perm.sign σb • domCoprod (domDomCongr σa a) (domDomCongr σb b)

tactic: simp_rw [TensorProduct.sum_tmul, TensorProduct.tmul_sum, LinearMap.map_sum, ←
  TensorProduct.smul_tmul', TensorProduct.tmul_smul]
state_before: R : Type ?u.1062722
inst✝²¹ : Semiring R
M : Type ?u.1062728
inst✝²⁰ : AddCommMonoid M
inst✝¹⁹ : Module R M
N : Type ?u.1062760
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : Module R N
P : Type ?u.1062790
inst✝¹⁶ : AddCommMonoid P
inst✝¹⁵ : Module R P
M' : Type ?u.1062820
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : Module R M'
N' : Type ?u.1063208
inst✝¹² : AddCommGroup N'
inst✝¹¹ : Module R N'
ι : Type ?u.1063596
ι' : Type ?u.1063599
ι'' : Type ?u.1063602
ι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' ((∑ x : Perm ιa, ↑Perm.sign x • domDomCongr x a) ⊗ₜ[R'] ∑ x : Perm ιb, ↑Perm.sign x • domDomCongr x 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: rfl
state_before: R : Type ?u.1062722
inst✝²¹ : Semiring R
M : Type ?u.1062728
inst✝²⁰ : AddCommMonoid M
inst✝¹⁹ : Module R M
N : Type ?u.1062760
inst✝¹⁸ : AddCommMonoid N
inst✝¹⁷ : Module R N
P : Type ?u.1062790
inst✝¹⁶ : AddCommMonoid P
inst✝¹⁵ : Module R P
M' : Type ?u.1062820
inst✝¹⁴ : AddCommGroup M'
inst✝¹³ : Module R M'
N' : Type ?u.1063208
inst✝¹² : AddCommGroup N'
inst✝¹¹ : Module R N'
ι : Type ?u.1063596
ι' : Type ?u.1063599
ι'' : Type ?u.1063602
ι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)