Adjoining roots of polynomials
This file defines the commutative ring adjoin_root f
, the ring R[X]/(f) obtained from a
commutative ring R
and a polynomial f : R[X]
. If furthermore R
is a field and f
is
irreducible, the field structure on adjoin_root f
is constructed.
Main definitions and results
The main definitions are in the adjoin_root
namespace.
mk f : polynomial R →+* adjoin_root f
, the natural ring homomorphism.of f : R →+* adjoin_root f
, the natural ring homomorphism.root f : adjoin_root f
, the image of X in R[X]/(f).lift (i : R →+* S) (x : S) (h : f.eval₂ i x = 0) : (adjoin_root f) →+* S
, the ring homomorphism from R[X]/(f) to S extendingi : R →+* S
and sendingX
tox
.
Adjoin a root of a polynomial f
to a commutative ring R
. We define the new ring
as the quotient of R
by the principal ideal of f
.
Equations
- adjoin_root f = (ideal.span {f}).quotient
Equations
Equations
- adjoin_root.inhabited f = {default := 0}
Ring homomorphism from R[x]
to adjoin_root f
sending X
to the root
.
Equations
- adjoin_root.mk f = ideal.quotient.mk (ideal.span {f})
Embedding of the original ring R
into adjoin_root f
.
Equations
Equations
The adjoined root.
Equations
Equations
Lift a ring homomorphism i : R →+* S
to adjoin_root f →+* S
.
Equations
- adjoin_root.lift i x h = ideal.quotient.lift (ideal.span {f}) (polynomial.eval₂_ring_hom i x) _
Produce an algebra homomorphism adjoin_root f →ₐ[R] S
sending root f
to
a root of f
in S
.
Equations
- adjoin_root.alg_hom f x hfx = {to_fun := (adjoin_root.lift (algebra_map R S) x hfx).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _, commutes' := _}