Theorem: Basis.ofIsLocalizedModule_repr_apply
File: Mathlib/RingTheory/Localization/Module.lean

Proof steps:
state_before: R : Type u_1
Rₛ : Type u_2
inst✝¹⁰ : CommSemiring R
S : Submonoid R
inst✝⁹ : CommRing Rₛ
inst✝⁸ : Algebra R Rₛ
hT : IsLocalization S Rₛ
M : Type u_3
Mₛ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup Mₛ
inst✝⁵ : Module R M
inst✝⁴ inst✝³ : Module R Mₛ
inst✝² : Module Rₛ Mₛ
f : M →ₗ[R] Mₛ
inst✝¹ : IsLocalizedModule S f
inst✝ : IsScalarTower R Rₛ Mₛ
ι : Type u_5
b : Basis ι R M
m : M
i : ι
⊢ ((ofIsLocalizedModule Rₛ S f b).repr (f m)) i = (algebraMap R Rₛ) ((b.repr m) i)
state_after: R : Type u_1
Rₛ : Type u_2
inst✝¹⁰ : CommSemiring R
S : Submonoid R
inst✝⁹ : CommRing Rₛ
inst✝⁸ : Algebra R Rₛ
hT : IsLocalization S Rₛ
M : Type u_3
Mₛ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup Mₛ
inst✝⁵ : Module R M
inst✝⁴ inst✝³ : Module R Mₛ
inst✝² : Module Rₛ Mₛ
f : M →ₗ[R] Mₛ
inst✝¹ : IsLocalizedModule S f
inst✝ : IsScalarTower R Rₛ Mₛ
ι : Type u_5
b : Basis ι R M
m : M
i : ι
⊢ ↑R ↑(ofIsLocalizedModule Rₛ S f b).repr ∘ₗ f = Finsupp.mapRange.linearMap (Algebra.linearMap R Rₛ) ∘ₗ ↑b.repr
tactic: suffices ((b.ofIsLocalizedModule Rₛ S f).repr.toLinearMap.restrictScalars R) ∘ₗ f =
      Finsupp.mapRange.linearMap (Algebra.linearMap R Rₛ) ∘ₗ b.repr.toLinearMap by
    exact DFunLike.congr_fun (LinearMap.congr_fun this m) i
state_before: R : Type u_1
Rₛ : Type u_2
inst✝¹⁰ : CommSemiring R
S : Submonoid R
inst✝⁹ : CommRing Rₛ
inst✝⁸ : Algebra R Rₛ
hT : IsLocalization S Rₛ
M : Type u_3
Mₛ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup Mₛ
inst✝⁵ : Module R M
inst✝⁴ inst✝³ : Module R Mₛ
inst✝² : Module Rₛ Mₛ
f : M →ₗ[R] Mₛ
inst✝¹ : IsLocalizedModule S f
inst✝ : IsScalarTower R Rₛ Mₛ
ι : Type u_5
b : Basis ι R M
m : M
i : ι
⊢ ↑R ↑(ofIsLocalizedModule Rₛ S f b).repr ∘ₗ f = Finsupp.mapRange.linearMap (Algebra.linearMap R Rₛ) ∘ₗ ↑b.repr
state_after: R : Type u_1
Rₛ : Type u_2
inst✝¹⁰ : CommSemiring R
S : Submonoid R
inst✝⁹ : CommRing Rₛ
inst✝⁸ : Algebra R Rₛ
hT : IsLocalization S Rₛ
M : Type u_3
Mₛ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup Mₛ
inst✝⁵ : Module R M
inst✝⁴ inst✝³ : Module R Mₛ
inst✝² : Module Rₛ Mₛ
f : M →ₗ[R] Mₛ
inst✝¹ : IsLocalizedModule S f
inst✝ : IsScalarTower R Rₛ Mₛ
ι : Type u_5
b : Basis ι R M
m : M
i✝ i : ι
⊢ (↑R ↑(ofIsLocalizedModule Rₛ S f b).repr ∘ₗ f) (b i) =
    (Finsupp.mapRange.linearMap (Algebra.linearMap R Rₛ) ∘ₗ ↑b.repr) (b i)
tactic: refine Basis.ext b fun i ↦ ?_
state_before: R : Type u_1
Rₛ : Type u_2
inst✝¹⁰ : CommSemiring R
S : Submonoid R
inst✝⁹ : CommRing Rₛ
inst✝⁸ : Algebra R Rₛ
hT : IsLocalization S Rₛ
M : Type u_3
Mₛ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup Mₛ
inst✝⁵ : Module R M
inst✝⁴ inst✝³ : Module R Mₛ
inst✝² : Module Rₛ Mₛ
f : M →ₗ[R] Mₛ
inst✝¹ : IsLocalizedModule S f
inst✝ : IsScalarTower R Rₛ Mₛ
ι : Type u_5
b : Basis ι R M
m : M
i✝ i : ι
⊢ (↑R ↑(ofIsLocalizedModule Rₛ S f b).repr ∘ₗ f) (b i) =
    (Finsupp.mapRange.linearMap (Algebra.linearMap R Rₛ) ∘ₗ ↑b.repr) (b i)
state_after: no goals
tactic: rw [LinearMap.coe_comp, Function.comp_apply, LinearMap.coe_restrictScalars,
    LinearEquiv.coe_coe, ← b.ofIsLocalizedModule_apply Rₛ S f, repr_self, LinearMap.coe_comp,
    Function.comp_apply, LinearEquiv.coe_coe, repr_self, Finsupp.mapRange.linearMap_apply,
    Finsupp.mapRange_single, Algebra.linearMap_apply, map_one]