Cyclotomic extensions #
Let A
and B
be commutative rings with Algebra A B
. For S : Set ℕ+
, we define a class
IsCyclotomicExtension 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 #
IsCyclotomicExtension S A B
: means thatB
is obtained fromA
by addingn
-th primitive roots of unity, for alln ∈ S
.CyclotomicField
: givenn : ℕ+
and a fieldK
, we defineCyclotomicField n K
as the splitting field ofcyclotomic n K
. Ifn
is nonzero inK
, it has the instanceIsCyclotomicExtension {n} K (CyclotomicField n K)
.CyclotomicRing
: ifA
is a domain with fraction fieldK
andn : ℕ+
, we defineCyclotomicRing n A K
as theA
-subalgebra ofCyclotomicField n K
generated by the roots ofX ^ n - 1
. Ifn
is nonzero inA
, it has the instanceIsCyclotomicExtension {n} A (CyclotomicRing n A K)
.
Main results #
IsCyclotomicExtension.trans
: ifIsCyclotomicExtension S A B
andIsCyclotomicExtension T B C
, thenIsCyclotomicExtension (S ∪ T) A C
ifFunction.Injective (algebraMap B C)
.IsCyclotomicExtension.union_right
: givenIsCyclotomicExtension (S ∪ T) A B
, thenIsCyclotomicExtension T (adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 }) B
.IsCyclotomicExtension.union_left
: givenIsCyclotomicExtension T A B
andS ⊆ T
, thenIsCyclotomicExtension S A (adjoin A { b : B | ∃ a : ℕ+, a ∈ S ∧ b ^ (a : ℕ) = 1 })
.IsCyclotomicExtension.finite
: ifS
is finite andIsCyclotomicExtension S A B
, thenB
is a finiteA
-algebra.IsCyclotomicExtension.numberField
: a finite cyclotomic extension of a number field is a number field.IsCyclotomicExtension.splitting_field_X_pow_sub_one
: ifIsCyclotomicExtension {n} K L
, thenL
is the splitting field ofX ^ n - 1
.IsCyclotomicExtension.splitting_field_cyclotomic
: ifIsCyclotomicExtension {n} K L
, thenL
is the splitting field ofcyclotomic n K
.
Implementation details #
Our definition of IsCyclotomicExtension
is very general, to allow rings of any characteristic
and infinite extensions, but it will mainly be used in the case S = {n}
and for integral domains.
All results are in the IsCyclotomicExtension
namespace.
Note that some results, for example IsCyclotomicExtension.trans
,
IsCyclotomicExtension.finite
, IsCyclotomicExtension.numberField
,
IsCyclotomicExtension.finiteDimensional
, IsCyclotomicExtension.isGalois
and
CyclotomicField.algebraBase
are lemmas, but they can be made local instances. Some of them are
included in the Cyclotomic
locale.
Given an A
-algebra B
and S : Set ℕ+
, we define IsCyclotomicExtension S A B
requiring
that there is an n
-th primitive root of unity in B
for all n ∈ S
and that B
is generated
over A
by the roots of X ^ n - 1
.
- exists_prim_root : ∀ {n : ℕ+}, n ∈ S → ∃ (r : B), IsPrimitiveRoot r ↑n
For all
n ∈ S
, there exists a primitiven
-th root of unity inB
. - adjoin_roots : ∀ (x : B), x ∈ Algebra.adjoin A {b : B | ∃ n ∈ S, b ^ ↑n = 1}
The
n
-th roots of unity, forn ∈ S
, generateB
as anA
-algebra.
Instances
A reformulation of IsCyclotomicExtension
that uses ⊤
.
A reformulation of IsCyclotomicExtension
in the case S
is a singleton.
If IsCyclotomicExtension ∅ A B
, then the image of A
in B
equals B
.
If IsCyclotomicExtension {1} A B
, then the image of A
in B
equals B
.
If (⊥ : SubAlgebra A B) = ⊤
, then IsCyclotomicExtension ∅ 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 ∈ S, n ∣ s
and S
is not empty, then IsCyclotomicExtension S A B
implies
IsCyclotomicExtension (S ∪ {n}) A B
.
If ∀ s ∈ S, n ∣ s
and S
is not empty, then IsCyclotomicExtension S A B
if and only if
IsCyclotomicExtension (S ∪ {n}) A B
.
IsCyclotomicExtension S A B
is equivalent to IsCyclotomicExtension (S ∪ {1}) A B
.
If (⊥ : SubAlgebra A B) = ⊤
, then IsCyclotomicExtension {1} A B
.
If Function.Surjective (algebraMap A B)
, then IsCyclotomicExtension {1} A B
.
Given (f : B ≃ₐ[A] C)
, if IsCyclotomicExtension S A B
then
IsCyclotomicExtension S A C
.
If S
is finite and IsCyclotomicExtension 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 IsCyclotomicExtension S K A
, then finiteDimensional K A
.
A cyclotomic extension splits X ^ n - 1
if n ∈ S
.
A cyclotomic extension splits cyclotomic n K
if n ∈ S
and ne_zero (n : K)
.
If IsCyclotomicExtension {n} K L
, then L
is the splitting field of X ^ n - 1
.
Any two n
-th cyclotomic extensions are isomorphic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If IsCyclotomicExtension {n} K L
, then L
is the splitting field of cyclotomic n K
.
Given n : ℕ+
and a field K
, we define CyclotomicField n K
as the
splitting field of cyclotomic n K
. If n
is nonzero in K
, it has
the instance IsCyclotomicExtension {n} K (CyclotomicField n K)
.
Equations
- CyclotomicField n K = Polynomial.SplittingField (Polynomial.cyclotomic (↑n) K)
Instances For
Equations
- CyclotomicField.instFieldCyclotomicField n K = id inferInstance
Equations
- CyclotomicField.algebra n K = id inferInstance
Equations
- CyclotomicField.instInhabitedCyclotomicField n K = id inferInstance
Equations
- (_ : CharZero (CyclotomicField n K)) = (_ : CharZero (CyclotomicField n K))
Equations
- (_ : IsCyclotomicExtension {n} K (CyclotomicField n K)) = (_ : IsCyclotomicExtension {n} K (CyclotomicField n K))
If K
is the fraction field of A
, the A
-algebra structure on CyclotomicField n K
.
Equations
Equations
Equations
- (_ : IsScalarTower R K (CyclotomicField n K)) = (_ : IsScalarTower R K (Polynomial.SplittingField (Polynomial.cyclotomic (↑n) K)))
Equations
- (_ : NoZeroSMulDivisors A (CyclotomicField n K)) = (_ : NoZeroSMulDivisors A (CyclotomicField n K))
If A
is a domain with fraction field K
and n : ℕ+
, we define CyclotomicRing n A K
as
the A
-subalgebra of CyclotomicField n K
generated by the roots of X ^ n - 1
. If n
is nonzero in A
, it has the instance IsCyclotomicExtension {n} A (CyclotomicRing n A K)
.
Equations
- CyclotomicRing n A K = ↥(Algebra.adjoin A {b : CyclotomicField n K | b ^ ↑n = 1})
Instances For
Equations
- CyclotomicRing.instCommRingCyclotomicRing n A K = id inferInstance
Equations
- (_ : IsDomain (CyclotomicRing n A K)) = (_ : IsDomain (CyclotomicRing n A K))
Equations
- CyclotomicRing.instInhabitedCyclotomicRing n A K = id inferInstance
The A
-algebra structure on CyclotomicRing n A K
.
Equations
- CyclotomicRing.algebraBase n A K = Subalgebra.algebra (Algebra.adjoin A {b : CyclotomicField n K | b ^ ↑n = 1})
Equations
- (_ : NoZeroSMulDivisors A (CyclotomicRing n A K)) = (_ : NoZeroSMulDivisors A ↥(Algebra.adjoin A {b : CyclotomicField n K | b ^ ↑n = 1}))
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : NoZeroSMulDivisors (CyclotomicRing n A K) (CyclotomicField n K)) = (_ : NoZeroSMulDivisors (CyclotomicRing n A K) (CyclotomicField n K))
Equations
- (_ : IsScalarTower A (CyclotomicRing n A K) (CyclotomicField n K)) = (_ : IsScalarTower A (↥(Algebra.adjoin A {b : CyclotomicField n K | b ^ ↑n = 1})) (CyclotomicField n K))
Equations
- (_ : IsCyclotomicExtension {n} A (CyclotomicRing n A K)) = (_ : IsCyclotomicExtension {n} A (CyclotomicRing n A K))
Equations
- (_ : IsFractionRing (CyclotomicRing n A K) (CyclotomicField n K)) = (_ : IsLocalization (nonZeroDivisors (CyclotomicRing n A K)) (CyclotomicField n K))
Algebraically closed fields are S
-cyclotomic extensions over themselves if
NeZero ((a : ℕ) : K))
for all a ∈ S
.
Equations
- (_ : IsCyclotomicExtension S K K) = (_ : IsCyclotomicExtension S K K)