Theorem: MvPolynomial.coeff_rTensorAlgHom_tmul
File: Mathlib/RingTheory/TensorProduct/MvPolynomial.lean

Proof steps:
state_before: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ coeff d (rTensorAlgHom (p ⊗ₜ[R] n)) = coeff d p ⊗ₜ[R] n
state_after: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ coeff d
      ((mapAlgHom Algebra.TensorProduct.includeLeft) p *
        ((IsScalarTower.toAlgHom R (S ⊗[R] N) (MvPolynomial σ (S ⊗[R] N))).comp Algebra.TensorProduct.includeRight) n) =
    coeff d p ⊗ₜ[R] n
tactic: rw [rTensorAlgHom, Algebra.TensorProduct.lift_tmul]
state_before: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ coeff d
      ((mapAlgHom Algebra.TensorProduct.includeLeft) p *
        ((IsScalarTower.toAlgHom R (S ⊗[R] N) (MvPolynomial σ (S ⊗[R] N))).comp Algebra.TensorProduct.includeRight) n) =
    coeff d p ⊗ₜ[R] n
state_after: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ coeff d
      ((mapAlgHom Algebra.TensorProduct.includeLeft) p *
        (algebraMap (S ⊗[R] N) (MvPolynomial σ (S ⊗[R] N))) (1 ⊗ₜ[R] n)) =
    coeff d p ⊗ₜ[R] n
tactic: rw [AlgHom.coe_comp, IsScalarTower.coe_toAlgHom', Function.comp_apply,
    Algebra.TensorProduct.includeRight_apply]
state_before: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ coeff d
      ((mapAlgHom Algebra.TensorProduct.includeLeft) p *
        (algebraMap (S ⊗[R] N) (MvPolynomial σ (S ⊗[R] N))) (1 ⊗ₜ[R] n)) =
    coeff d p ⊗ₜ[R] n
state_after: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ 1 ⊗ₜ[R] n * coeff d ((mapAlgHom Algebra.TensorProduct.includeLeft) p) = coeff d p ⊗ₜ[R] n
tactic: rw [algebraMap_eq, mul_comm, coeff_C_mul]
state_before: R : Type u
M : Type v
N : Type w
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
σ : Type u_1
inst✝⁴ : DecidableEq σ
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
inst✝¹ : CommSemiring N
inst✝ : Algebra R N
p : MvPolynomial σ S
n : N
d : σ →₀ ℕ
⊢ 1 ⊗ₜ[R] n * coeff d ((mapAlgHom Algebra.TensorProduct.includeLeft) p) = coeff d p ⊗ₜ[R] n
state_after: no goals
tactic: simp [mapAlgHom, coeff_map]