Theory of univariate polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We show that A[X]
is an R-algebra when A
is an R-algebra.
We promote eval₂
to an algebra hom in aeval
.
Note that this instance also provides algebra R R[X]
.
Equations
When we have [comm_semiring R]
, the function C
is the same as algebra_map R R[X]
.
(But note that C
is defined when R
is not necessarily commutative, in which case
algebra_map
is not available.)
Extensionality lemma for algebra maps out of A'[X]
over a smaller base ring than A'
Algebra isomorphism between R[X]
and add_monoid_algebra R ℕ
. This is just an
implementation detail, but it can be useful to transfer results from finsupp
to polynomials.
Equations
- polynomial.to_finsupp_iso_alg R = {to_fun := (polynomial.to_finsupp_iso R).to_fun, inv_fun := (polynomial.to_finsupp_iso R).inv_fun, left_inv := _, right_inv := _, map_mul' := _, map_add' := _, commutes' := _}
Given a valuation x
of the variable in an R
-algebra A
, aeval R A x
is
the unique R
-algebra homomorphism from R[X]
to A
sending X
to x
.
This is a stronger variant of the linear map polynomial.leval
.
Equations
- polynomial.aeval x = {to_fun := (polynomial.eval₂_ring_hom' (algebra_map R A) x _).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _, commutes' := _}
Version of aeval
for defining algebra homs out of R[X]
over a smaller base ring
than R
.
The evaluation map is not generally multiplicative when the coefficient ring is noncommutative,
but nevertheless any polynomial of the form p * (X - monomial 0 r)
is sent to zero
when evaluated at r
.
This is the key step in our proof of the Cayley-Hamilton theorem.