Cyclotomic extensions #
Let A
and B
be commutative rings with algebra A B
. For S : set ℕ+
, we define a class
is_cyclotomic_extension S A B
expressing the fact that B
is obtained from A
by adding n
-th
primitive roots of unity, for all n ∈ S
.
Main definitions #
is_cyclotomic_extension S A B
: means thatB
is obtained fromA
by addingn
-th primitive roots of unity, for alln ∈ S
.cyclotomic_field
: givenn : ℕ+
and a fieldK
, we definecyclotomic n K
as the splitting field ofcyclotomic n K
. Ifn
is nonzero inK
, it has the instanceis_cyclotomic_extension {n} K (cyclotomic_field n K)
.cyclotomic_ring
: ifA
is a domain with fraction fieldK
andn : ℕ+
, we definecyclotomic_ring n A K
as theA
-subalgebra ofcyclotomic_field n K
generated by the roots ofX ^ n - 1
. Ifn
is nonzero inA
, it has the instanceis_cyclotomic_extension {n} A (cyclotomic_ring n A K)
.
Main results #
is_cyclotomic_extension.trans
: ifis_cyclotomic_extension S A B
andis_cyclotomic_extension T B C
, thenis_cyclotomic_extension (S ∪ T) A C
.is_cyclotomic_extension.union_right
: givenis_cyclotomic_extension (S ∪ T) A B
, thenis_cyclotomic_extension T (adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 }) B
.is_cyclotomic_extension.union_right
: givenis_cyclotomic_extension T A B
andS ⊆ T
, thenis_cyclotomic_extension S A (adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 })
.is_cyclotomic_extension.finite
: ifS
is finite andis_cyclotomic_extension S A B
, thenB
is a finiteA
-algebra.is_cyclotomic_extension.number_field
: a finite cyclotomic extension of a number field is a number field.is_cyclotomic_extension.splitting_field_X_pow_sub_one
: ifis_cyclotomic_extension {n} K L
andne_zero ((n : ℕ) : K)
, thenL
is the splitting field ofX ^ n - 1
.is_cyclotomic_extension.splitting_field_cyclotomic
: ifis_cyclotomic_extension {n} K L
andne_zero ((n : ℕ) : K)
, thenL
is the splitting field ofcyclotomic n K
.
Implementation details #
Our definition of is_cyclotomic_extension
is very general, to allow rings of any characteristic
and infinite extensions, but it will mainly be used in the case S = {n}
with (n : A) ≠ 0
(and
for integral domains).
All results are in the is_cyclotomic_extension
namespace.
Note that some results, for example is_cyclotomic_extension.trans
,
is_cyclotomic_extension.finite
, is_cyclotomic_extension.number_field
,
is_cyclotomic_extension.finite_dimensional
, is_cyclotomic_extension.is_galois
and
cyclotomic_field.algebra_base
are lemmas, but they can be made local instances.
- exists_root : ∀ {a : ℕ+}, a ∈ S → (∃ (r : B), ⇑(polynomial.aeval r) (polynomial.cyclotomic ↑a A) = 0)
- adjoin_roots : ∀ (x : B), x ∈ algebra.adjoin A {b : B | ∃ (a : ℕ+), a ∈ S ∧ b ^ ↑a = 1}
Given an A
-algebra B
and S : set ℕ+
, we define is_cyclotomic_extension S A B
requiring
that cyclotomic a A
has a root in B
for all a ∈ S
and that B
is generated over A
by the
roots of X ^ n - 1
.
A reformulation of is_cyclotomic_extension
that uses ⊤
.
A reformulation of is_cyclotomic_extension
in the case S
is a singleton.
If is_cyclotomic_extension ∅ A B
, then A = B
.
Transitivity of cyclotomic extensions.
If B
is a cyclotomic extension of A
given by roots of unity of order in S ∪ T
, then B
is a cyclotomic extension of adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 }
given by
roots of unity of order in T
.
If B
is a cyclotomic extension of A
given by roots of unity of order in T
and S ⊆ T
,
then adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 }
is a cyclotomic extension of B
given by roots of unity of order in S
.
If S
is finite and is_cyclotomic_extension S A B
, then B
is a finite A
-algebra.
A cyclotomic finite extension of a number field is a number field.
A finite cyclotomic extension of an integral noetherian domain is integral
If S
is finite and is_cyclotomic_extension S K A
, then finite_dimensional K A
.
A cyclotomic extension splits X ^ n - 1
if n ∈ S
and ne_zero (n : K)
.
A cyclotomic extension splits cyclotomic n K
if n ∈ S
and ne_zero (n : K)
.
If is_cyclotomic_extension {n} K L
and ne_zero ((n : ℕ) : K)
, then L
is the splitting
field of X ^ n - 1
.
If is_cyclotomic_extension {n} K L
and ne_zero ((n : ℕ) : K)
, then L
is the splitting
field of cyclotomic n K
.
Given n : ℕ+
and a field K
, we define cyclotomic_field n K
as the
splitting field of cyclotomic n K
. If n
is nonzero in K
, it has
the instance is_cyclotomic_extension {n} K (cyclotomic_field n K)
.
Equations
If K
is the fraction field of A
, the A
-algebra structure on cyclotomic_field n K
.
This is not an instance since it causes diamonds when A = ℤ
.
Equations
- cyclotomic_field.algebra_base n A K = ((algebra_map K (cyclotomic_field n K)).comp (algebra_map A K)).to_algebra
If A
is a domain with fraction field K
and n : ℕ+
, we define cyclotomic_ring n A K
as
the A
-subalgebra of cyclotomic_field n K
generated by the roots of X ^ n - 1
. If n
is nonzero in A
, it has the instance is_cyclotomic_extension {n} A (cyclotomic_ring n A K)
.
Equations
- cyclotomic_ring n A K = ↥(algebra.adjoin A {b : cyclotomic_field n K | b ^ ↑n = 1})
The A
-algebra structure on cyclotomic_ring n A K
.
This is not an instance since it causes diamonds when A = ℤ
.
Equations
- cyclotomic_ring.algebra_base n A K = (algebra.adjoin A {b : cyclotomic_field n K | b ^ ↑n = 1}).algebra
Equations
- cyclotomic_ring.cyclotomic_field.algebra n A K = (algebra.adjoin A {b : cyclotomic_field n K | b ^ ↑n = 1}).to_algebra