Multivariate polynomials over a ring #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Many results about polynomials hold when the coefficient ring is a commutative semiring. Some stronger results can be derived when we assume this semiring is a ring.
This file does not define any new operations, but proves some of these stronger results.
Notation #
As in other polynomial files, we typically use the notation:
-
σ : Type*
(indexing the variables) -
R : Type*
[comm_ring R]
(the coefficients) -
s : σ →₀ ℕ
, a function fromσ
toℕ
which is zero away from a finite set. This will give rise to a monomial inmv_polynomial σ R
which mathematicians might callX^s
-
a : R
-
i : σ
, with corresponding monomialX i
, often denotedX_i
by mathematicians -
p : mv_polynomial σ R
A ring homomorphism f : Z[X_1, X_2, ...] → R is determined by the evaluations f(X_1), f(X_2), ...
Ring homomorphisms out of integer polynomials on a type σ
are the same as
functions out of the type σ
,
Equations
- mv_polynomial.hom_equiv = {to_fun := λ (f : mv_polynomial σ ℤ →+* S), ⇑f ∘ mv_polynomial.X, inv_fun := λ (f : σ → S), mv_polynomial.eval₂_hom (int.cast_ring_hom S) f, left_inv := _, right_inv := _}