Theorem: MvPolynomial.mapAlgHom_apply
File: Mathlib/Algebra/MvPolynomial/Basic.lean

Proof steps:
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
⊢ (↑↑__src✝).toFun ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
⊢ (↑↑__src✝).toFun ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
tactic: have h₁ : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
⊢ (↑↑__src✝).toFun ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ (↑↑__src✝).toFun ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
tactic: have h₂ : algebraMap R (MvPolynomial σ S₂) r = C (algebraMap R S₂ r) := rfl
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ (↑↑__src✝).toFun ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ ↑↑(map ↑f) ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
tactic: simp_rw [OneHom.toFun_eq_coe]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ ↑↑(map ↑f) ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ (map ↑f) ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
tactic: change @DFunLike.coe (_ →+* _) _ _ _ _ _ = _
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝⁴ : CommSemiring R
inst✝³ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
inst✝² : CommSemiring S₂
inst✝¹ : Algebra R S₁
inst✝ : Algebra R S₂
f : S₁ →ₐ[R] S₂
r : R
h₁ : (algebraMap R (MvPolynomial σ S₁)) r = C ((algebraMap R S₁) r)
h₂ : (algebraMap R (MvPolynomial σ S₂)) r = C ((algebraMap R S₂) r)
⊢ (map ↑f) ((algebraMap R (MvPolynomial σ S₁)) r) = (algebraMap R (MvPolynomial σ S₂)) r
state_after: no goals
tactic: rw [h₁, h₂, map, eval₂Hom_C, RingHom.comp_apply, AlgHom.coe_toRingHom, AlgHom.commutes]