Algebraic elements and algebraic extensions #
An element of an R-algebra is algebraic over R if it is the root of a nonzero polynomial. An R-algebra is algebraic over R if and only if all its elements are algebraic over R. The main result in this file proves transitivity of algebraicity: a tower of algebraic field extensions is algebraic.
An element of an R-algebra is algebraic over R if it is the root of a nonzero polynomial.
Equations
- is_algebraic R x = ∃ (p : R[X]), p ≠ 0 ∧ ⇑(polynomial.aeval x) p = 0
An element of an R-algebra is transcendental over R if it is not algebraic over R.
Equations
- transcendental R x = ¬is_algebraic R x
A subalgebra is algebraic if all its elements are algebraic.
Equations
- S.is_algebraic = ∀ (x : A), x ∈ S → is_algebraic R x
An algebra is algebraic if all its elements are algebraic.
Equations
- algebra.is_algebraic R A = ∀ (x : A), is_algebraic R x
A subalgebra is algebraic if and only if it is algebraic as an algebra.
An algebra is algebraic if and only if it is algebraic as a subalgebra.
An integral element of an algebra is algebraic.
An element of R
is algebraic, when viewed as an element of the R
-algebra A
.
An element of an algebra over a field is algebraic if and only if it is integral.
If L is an algebraic field extension of K and A is an algebraic algebra over L, then A is algebraic over K.
If x is algebraic over R, then x is algebraic over S when S is an extension of R,
and the map from R
to S
is injective.
If A is an algebraic algebra over R, then A is algebraic over S when S is an extension of R,
and the map from R
to S
is injective.
If x is a algebraic over K, then x is algebraic over L when L is an extension of K
If A is an algebraic algebra over K, then A is algebraic over L when L is an extension of K
A field extension is integral if it is finite.
A field extension is algebraic if it is finite.
A fraction (a : S) / (b : S)
can be reduced to (c : S) / (d : R)
,
if S
is the integral closure of R
in an algebraic extension L
of R
.
In an algebraic extension L/K, an intermediate subalgebra is a field.
This is not an instance as it forms a diamond with pi.has_scalar
.
See the instance_diamonds
test for details.
Equations
- polynomial.has_scalar_pi R' S' = {smul := λ (p : R'[X]) (f : R' → S') (x : R'), polynomial.eval x p • f x}
This is not an instance as it forms a diamond with pi.has_scalar
.
See the instance_diamonds
test for details.
Equations
- polynomial.has_scalar_pi' R' S' T' = {smul := λ (p : R'[X]) (f : S' → T') (x : S'), ⇑(polynomial.aeval x) p • f x}
This is not an instance for the same reasons as polynomial.has_scalar_pi'
.
Equations
- polynomial.algebra_pi R' S' T' = {to_has_scalar := {smul := has_scalar.smul (polynomial.has_scalar_pi' R' S' T')}, to_ring_hom := {to_fun := λ (p : R'[X]) (z : S'), ⇑(algebra_map S' T') (⇑(polynomial.aeval z) p), map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, commutes' := _, smul_def' := _}