Module

Basic.lean

Nyll.EtaleFundamentalGroups.Kummer.SelectedRoot.Prime.Basic
6 declarations indexed from sourceView source ↗

Primality of the selected Kummer root

For a prime element a, the root of X ^ n - a is again prime. The proof uses the canonical map to R ⧸ (a) which sends the adjoined root to zero and identifies its kernel with the principal ideal generated by that root.

Declarations

EtaleFundamentalGroups.Kummer.adjoinRootToQuotient

The canonical map from a positive Kummer root cover to the quotient by its radicand, sending the adjoined root to zero.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
def adjoinRootToQuotient
    {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a : R) :
    AdjoinRoot (X ^ n - C a) →+* (R ⧸ Ideal.span {a})
EtaleFundamentalGroups.Kummer.adjoinRootToQuotient_surjective

The canonical root-to-zero map is surjective.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
theorem adjoinRootToQuotient_surjective
    {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a : R) :
    Function.Surjective (adjoinRootToQuotient hn a)
EtaleFundamentalGroups.Kummer.ker_adjoinRootToQuotient

The kernel of the root-to-zero map is generated by the adjoined root.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
theorem ker_adjoinRootToQuotient
    {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a : R) :
    RingHom.ker (adjoinRootToQuotient hn a) =
      Ideal.span ({AdjoinRoot.root (X ^ n - C a)} :
        Set (AdjoinRoot (X ^ n - C a)))
EtaleFundamentalGroups.Kummer.adjoinRootQuotientRootEquiv

Quotienting a positive Kummer root cover by its root recovers the base quotient by the radicand.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
def adjoinRootQuotientRootEquiv
    {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a : R) :
    AdjoinRoot (X ^ n - C a) ⧸
        Ideal.span ({AdjoinRoot.root (X ^ n - C a)} :
          Set (AdjoinRoot (X ^ n - C a))) ≃+*
      R ⧸ Ideal.span {a}
EtaleFundamentalGroups.Kummer.adjoinRootQuotientRootEquiv_mk_of
Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
theorem adjoinRootQuotientRootEquiv_mk_of
    {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a r : R) :
    adjoinRootQuotientRootEquiv hn a
        (Ideal.Quotient.mk
          (Ideal.span ({AdjoinRoot.root (X ^ n - C a)} :
            Set (AdjoinRoot (X ^ n - C a))))
          (AdjoinRoot.of (X ^ n - C a) r)) =
      Ideal.Quotient.mk (Ideal.span {a}) r
EtaleFundamentalGroups.Kummer.prime_adjoinRoot_root_of_prime

A positive-degree Kummer root of a prime element is prime.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Kummer
open Polynomial
universe u
theorem prime_adjoinRoot_root_of_prime
    {R : Type u} [CommRing R] [IsDomain R]
    {n : ℕ} (hn : 0 < n) {a : R} (ha : Prime a) :
    Prime (AdjoinRoot.root (X ^ n - C a))