Theorem: LinearMap.toLinearMap₂'Aux_toMatrix₂Aux
File: Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean

Proof steps:
state_before: R : Type u_1
R₁ : Type u_2
S₁ : Type u_3
R₂ : Type u_4
S₂ : Type u_5
M : Type u_6
M₁ : Type u_7
M₂ : Type u_8
M₁' : Type u_9
M₂' : Type u_10
N₂ : Type u_11
n : Type u_12
m : Type u_13
n' : Type u_14
m' : Type u_15
ι : Type u_16
inst✝¹⁹ : CommSemiring R
inst✝¹⁸ : Semiring R₁
inst✝¹⁷ : Semiring S₁
inst✝¹⁶ : Semiring R₂
inst✝¹⁵ : Semiring S₂
inst✝¹⁴ : AddCommMonoid M₁
inst✝¹³ : Module R₁ M₁
inst✝¹² : AddCommMonoid M₂
inst✝¹¹ : Module R₂ M₂
inst✝¹⁰ : AddCommMonoid N₂
inst✝⁹ : Module R N₂
inst✝⁸ : Module S₁ N₂
inst✝⁷ : Module S₂ N₂
inst✝⁶ : SMulCommClass S₁ R N₂
inst✝⁵ : SMulCommClass S₂ R N₂
inst✝⁴ : SMulCommClass S₂ S₁ N₂
σ₁ : R₁ →+* S₁
σ₂ : R₂ →+* S₂
inst✝³ : Fintype n
inst✝² : Fintype m
inst✝¹ : DecidableEq n
inst✝ : DecidableEq m
f : (n → R₁) →ₛₗ[σ₁] (m → R₂) →ₛₗ[σ₂] N₂
⊢ toLinearMap₂'Aux σ₁ σ₂
      ((toMatrix₂Aux R (fun i => (stdBasis R₁ (fun x => R₁) i) 1) fun j => (stdBasis R₂ (fun x => R₂) j) 1) f) =
    f
state_after: R : Type u_1
R₁ : Type u_2
S₁ : Type u_3
R₂ : Type u_4
S₂ : Type u_5
M : Type u_6
M₁ : Type u_7
M₂ : Type u_8
M₁' : Type u_9
M₂' : Type u_10
N₂ : Type u_11
n : Type u_12
m : Type u_13
n' : Type u_14
m' : Type u_15
ι : Type u_16
inst✝¹⁹ : CommSemiring R
inst✝¹⁸ : Semiring R₁
inst✝¹⁷ : Semiring S₁
inst✝¹⁶ : Semiring R₂
inst✝¹⁵ : Semiring S₂
inst✝¹⁴ : AddCommMonoid M₁
inst✝¹³ : Module R₁ M₁
inst✝¹² : AddCommMonoid M₂
inst✝¹¹ : Module R₂ M₂
inst✝¹⁰ : AddCommMonoid N₂
inst✝⁹ : Module R N₂
inst✝⁸ : Module S₁ N₂
inst✝⁷ : Module S₂ N₂
inst✝⁶ : SMulCommClass S₁ R N₂
inst✝⁵ : SMulCommClass S₂ R N₂
inst✝⁴ : SMulCommClass S₂ S₁ N₂
σ₁ : R₁ →+* S₁
σ₂ : R₂ →+* S₂
inst✝³ : Fintype n
inst✝² : Fintype m
inst✝¹ : DecidableEq n
inst✝ : DecidableEq m
f : (n → R₁) →ₛₗ[σ₁] (m → R₂) →ₛₗ[σ₂] N₂
i : n
j : m
⊢ ((toLinearMap₂'Aux σ₁ σ₂
          ((toMatrix₂Aux R (fun i => (stdBasis R₁ (fun x => R₁) i) 1) fun j => (stdBasis R₂ (fun x => R₂) j) 1) f))
        ((Pi.basisFun R₁ n) i))
      ((Pi.basisFun R₂ m) j) =
    (f ((Pi.basisFun R₁ n) i)) ((Pi.basisFun R₂ m) j)
tactic: refine ext_basis (Pi.basisFun R₁ n) (Pi.basisFun R₂ m) fun i j => ?_
state_before: R : Type u_1
R₁ : Type u_2
S₁ : Type u_3
R₂ : Type u_4
S₂ : Type u_5
M : Type u_6
M₁ : Type u_7
M₂ : Type u_8
M₁' : Type u_9
M₂' : Type u_10
N₂ : Type u_11
n : Type u_12
m : Type u_13
n' : Type u_14
m' : Type u_15
ι : Type u_16
inst✝¹⁹ : CommSemiring R
inst✝¹⁸ : Semiring R₁
inst✝¹⁷ : Semiring S₁
inst✝¹⁶ : Semiring R₂
inst✝¹⁵ : Semiring S₂
inst✝¹⁴ : AddCommMonoid M₁
inst✝¹³ : Module R₁ M₁
inst✝¹² : AddCommMonoid M₂
inst✝¹¹ : Module R₂ M₂
inst✝¹⁰ : AddCommMonoid N₂
inst✝⁹ : Module R N₂
inst✝⁸ : Module S₁ N₂
inst✝⁷ : Module S₂ N₂
inst✝⁶ : SMulCommClass S₁ R N₂
inst✝⁵ : SMulCommClass S₂ R N₂
inst✝⁴ : SMulCommClass S₂ S₁ N₂
σ₁ : R₁ →+* S₁
σ₂ : R₂ →+* S₂
inst✝³ : Fintype n
inst✝² : Fintype m
inst✝¹ : DecidableEq n
inst✝ : DecidableEq m
f : (n → R₁) →ₛₗ[σ₁] (m → R₂) →ₛₗ[σ₂] N₂
i : n
j : m
⊢ ((toLinearMap₂'Aux σ₁ σ₂
          ((toMatrix₂Aux R (fun i => (stdBasis R₁ (fun x => R₁) i) 1) fun j => (stdBasis R₂ (fun x => R₂) j) 1) f))
        ((Pi.basisFun R₁ n) i))
      ((Pi.basisFun R₂ m) j) =
    (f ((Pi.basisFun R₁ n) i)) ((Pi.basisFun R₂ m) j)
state_after: no goals
tactic: simp_rw [Pi.basisFun_apply, Matrix.toLinearMap₂'Aux_stdBasis, LinearMap.toMatrix₂Aux_apply]