Theorem: basis_toMatrix_basisFun_mul
File: Mathlib/LinearAlgebra/Matrix/Basis.lean

tactic: classical
  simp only [basis_toMatrix_mul _ _ (Pi.basisFun R ι), Matrix.toLin_eq_toLin']
  ext (i j)
  rw [LinearMap.toMatrix_apply, Matrix.toLin'_apply, Pi.basisFun_apply,
    Matrix.mulVec_stdBasis_apply, Matrix.of_apply]
state_before: ι : Type u_1
ι' : Type ?u.555917
κ : Type ?u.555920
κ' : Type ?u.555923
R : Type u_2
M : Type ?u.555929
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
R₂ : Type ?u.556116
M₂ : Type ?u.556119
inst✝⁸ : CommRing R₂
inst✝⁷ : AddCommGroup M₂
inst✝⁶ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type ?u.556864
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
inst✝³ : Fintype ι'
inst✝² : Fintype κ
inst✝¹ : Fintype κ'
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
⊢ Basis.toMatrix b ↑(Pi.basisFun R ι) ⬝ A = ↑of fun i j => ↑(↑b.repr (Aᵀ j)) i

tactic: simp only [basis_toMatrix_mul _ _ (Pi.basisFun R ι), Matrix.toLin_eq_toLin']
state_before: ι : Type u_1
ι' : Type ?u.555917
κ : Type ?u.555920
κ' : Type ?u.555923
R : Type u_2
M : Type ?u.555929
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
R₂ : Type ?u.556116
M₂ : Type ?u.556119
inst✝⁸ : CommRing R₂
inst✝⁷ : AddCommGroup M₂
inst✝⁶ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type ?u.556864
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
inst✝³ : Fintype ι'
inst✝² : Fintype κ
inst✝¹ : Fintype κ'
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
⊢ Basis.toMatrix b ↑(Pi.basisFun R ι) ⬝ A = ↑of fun i j => ↑(↑b.repr (Aᵀ j)) i

tactic: ext (i j)
state_before: ι : Type u_1
ι' : Type ?u.555917
κ : Type ?u.555920
κ' : Type ?u.555923
R : Type u_2
M : Type ?u.555929
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
R₂ : Type ?u.556116
M₂ : Type ?u.556119
inst✝⁸ : CommRing R₂
inst✝⁷ : AddCommGroup M₂
inst✝⁶ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type ?u.556864
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
inst✝³ : Fintype ι'
inst✝² : Fintype κ
inst✝¹ : Fintype κ'
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
⊢ ↑(toMatrix (Pi.basisFun R ι) b) (↑toLin' A) = ↑of fun i j => ↑(↑b.repr (Aᵀ j)) i

tactic: rw [LinearMap.toMatrix_apply, Matrix.toLin'_apply, Pi.basisFun_apply,
  Matrix.mulVec_stdBasis_apply, Matrix.of_apply]
state_before: case a.h
ι : Type u_1
ι' : Type ?u.555917
κ : Type ?u.555920
κ' : Type ?u.555923
R : Type u_2
M : Type ?u.555929
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : AddCommMonoid M
inst✝⁹ : Module R M
R₂ : Type ?u.556116
M₂ : Type ?u.556119
inst✝⁸ : CommRing R₂
inst✝⁷ : AddCommGroup M₂
inst✝⁶ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i✝ : ι
j✝ : ι'
N : Type ?u.556864
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
inst✝³ : Fintype ι'
inst✝² : Fintype κ
inst✝¹ : Fintype κ'
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
i j : ι
⊢ ↑(toMatrix (Pi.basisFun R ι) b) (↑toLin' A) i j = ↑of (fun i j => ↑(↑b.repr (Aᵀ j)) i) i j