Module docstring
{"# Evaluation of polynomials in an algebra
This file concerns evaluating polynomials where the map is algebraMap
TODO: merge with parts of Algebra/Polynomial/AlgebraMap.lean?
"}
{"# Evaluation of polynomials in an algebra
This file concerns evaluating polynomials where the map is algebraMap
TODO: merge with parts of Algebra/Polynomial/AlgebraMap.lean?
"}
Polynomial.eval₂_mul'
theorem
: (p * q).eval₂ (algebraMap R S) x = p.eval₂ (algebraMap R S) x * q.eval₂ (algebraMap R S) x
@[simp]
theorem eval₂_mul' :
(p * q).eval₂ (algebraMap R S) x = p.eval₂ (algebraMap R S) x * q.eval₂ (algebraMap R S) x := by
exact eval₂_mul_noncomm _ _ fun k => Algebra.commute_algebraMap_left (coeff q k) x
Polynomial.eval₂_pow'
theorem
(n : ℕ) : (p ^ n).eval₂ (algebraMap R S) x = (p.eval₂ (algebraMap R S) x) ^ n
@[simp]
theorem eval₂_pow' (n : ℕ) :
(p ^ n).eval₂ (algebraMap R S) x = (p.eval₂ (algebraMap R S) x) ^ n := by
induction n with
| zero => simp only [pow_zero, eval₂_one]
| succ n ih => rw [pow_succ, pow_succ, eval₂_mul', ih]
Polynomial.eval₂_comp'
theorem
: eval₂ (algebraMap R S) x (p.comp q) = eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) p
@[simp]
theorem eval₂_comp' : eval₂ (algebraMap R S) x (p.comp q) =
eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) p := by
induction p using Polynomial.induction_on' with
| add r s hr hs => simp only [add_comp, eval₂_add, hr, hs]
| monomial n a => simp only [monomial_comp, eval₂_mul', eval₂_C, eval₂_monomial, eval₂_pow']