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_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type u_9
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✝¹ : Finite κ
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
⊢ b.toMatrix ⇑(Pi.basisFun R ι) * A = of fun i j => (b.repr (Aᵀ j)) i
state_after: no goals

tactic: simp only [basis_toMatrix_mul _ _ (Pi.basisFun R ι), Matrix.toLin_eq_toLin']
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type u_9
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✝¹ : Finite κ
inst✝ : Fintype ι
b : Basis ι R (ι → R)
A : Matrix ι ι R
⊢ b.toMatrix ⇑(Pi.basisFun R ι) * A = of fun i j => (b.repr (Aᵀ j)) i
state_after: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type u_9
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✝¹ : Finite κ
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: ext i j
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
N : Type u_9
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✝¹ : Finite κ
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
state_after: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i✝ : ι
j✝ : ι'
N : Type u_9
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✝¹ : Finite κ
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

tactic: rw [LinearMap.toMatrix_apply, Matrix.toLin'_apply, Pi.basisFun_apply,
  Matrix.mulVec_stdBasis_apply, Matrix.of_apply]
state_before: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁷ : CommRing R₂
inst✝⁶ : AddCommGroup M₂
inst✝⁵ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i✝ : ι
j✝ : ι'
N : Type u_9
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✝¹ : Finite κ
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
state_after: no goals