Module

RationalCyclotomicField.lean

Nyll.GaloisCohomology.Kummer.Concrete.Cyclotomic.RationalCyclotomicField
10 declarations indexed from sourceView source ↗

The rational cyclotomic closure

This file constructs the actual field ℚ(μ∞) inside SeparableClosure ℚ. It uses mathlib's general IsCyclotomicExtension API, so the infinite field and its finite cyclotomic levels are not replaced by abstract copies of their expected Galois groups.

The finite levels form the divisibility-directed system whose supremum is the whole cyclotomic field. This supplies the field-theoretic source for the rational cyclotomic calculation.

Declarations

KummerTheory.rationalCyclotomicField

The actual field ℚ(μ∞) in a fixed separable closure of ℚ.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
def rationalCyclotomicField :
    IntermediateField ℚ (SeparableClosure ℚ)
KummerTheory.rationalCyclotomicField_isCyclotomicExtension

The field ℚ(μ∞) is the cyclotomic extension generated by roots of unity of all positive orders.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
instance rationalCyclotomicField_isCyclotomicExtension :
    IsCyclotomicExtension (Set.univ : Set ℕ) ℚ
      rationalCyclotomicField
KummerTheory.rationalCyclotomicField_isAbelianGalois

The actual infinite rational cyclotomic extension is abelian Galois.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
instance rationalCyclotomicField_isAbelianGalois :
    IsAbelianGalois ℚ rationalCyclotomicField
KummerTheory.rationalCyclotomicLevel

The n-th finite cyclotomic level inside ℚ(μ∞). Positive naturals are used so that the zero-order degeneracy cannot enter the directed system.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
def rationalCyclotomicLevel (n : ℕ+) :
    IntermediateField ℚ rationalCyclotomicField
KummerTheory.rationalCyclotomicLevel_isCyclotomicExtension

Each internal finite level is the standard singleton cyclotomic extension.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
instance rationalCyclotomicLevel_isCyclotomicExtension
    (n : ℕ+) :
    IsCyclotomicExtension {(n : ℕ)} ℚ
      (rationalCyclotomicLevel n)
KummerTheory.rationalCyclotomicLevel_isGalois

Every finite internal cyclotomic level is Galois over ℚ.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
instance rationalCyclotomicLevel_isGalois
    (n : ℕ+) :
    IsGalois ℚ (rationalCyclotomicLevel n)
KummerTheory.rationalCyclotomicLevel_numberField

A finite level of ℚ(μ∞) carries mathlib's standard number-field structure coming from its singleton cyclotomic presentation.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
instance rationalCyclotomicLevel_numberField
    (n : ℕ+) :
    NumberField (rationalCyclotomicLevel n)
KummerTheory.exists_separableClosureRatAutomorphism_pow_of_unit

Every unit modulo m is realized on all m-th roots of unity by an automorphism of the separable closure of ℚ.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
theorem exists_separableClosureRatAutomorphism_pow_of_unit
    (m : ℕ) [NeZero m] (u : (ZMod m)ˣ) :
    ∃ σ : SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ,
      ∀ z : SeparableClosure ℚ, z ^ m = 1 →
        σ z = z ^ u.val.val
KummerTheory.rationalCyclotomicLevel_mono

Divisibility of orders gives the canonical inclusion between internal cyclotomic levels.

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
theorem rationalCyclotomicLevel_mono
    {m n : ℕ+}
    (h : (m : ℕ) ∣ (n : ℕ)) :
    rationalCyclotomicLevel m ≤
      rationalCyclotomicLevel n
KummerTheory.iSup_rationalCyclotomicLevel

The internal finite cyclotomic levels exhaust ℚ(μ∞).

Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace KummerTheory
theorem iSup_rationalCyclotomicLevel :
    (⨆ n : ℕ+, rationalCyclotomicLevel n) = ⊤