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 thatBis obtained fromAby addingn-th primitive roots of unity, for alln ∈ S.cyclotomic_field: givenn : ℕ+and a fieldK, we definecyclotomic n Kas the splitting field ofcyclotomic n K. Ifnis nonzero inK, it has the instanceis_cyclotomic_extension {n} K (cyclotomic_field n K).cyclotomic_ring: ifAis a domain with fraction fieldKandn : ℕ+, we definecyclotomic_ring n A Kas theA-subalgebra ofcyclotomic_field n Kgenerated by the roots ofX ^ n - 1. Ifnis 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 Bandis_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 BandS ⊆ T, thenis_cyclotomic_extension S A (adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 }).is_cyclotomic_extension.finite: ifSis finite andis_cyclotomic_extension S A B, thenBis 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 Landne_zero ((n : ℕ) : K), thenLis the splitting field ofX ^ n - 1.is_cyclotomic_extension.splitting_field_cyclotomic: ifis_cyclotomic_extension {n} K Landne_zero ((n : ℕ) : K), thenLis 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