Module

KummerRootCover.lean

Nyll.EtaleCohomology.Classical.KummerRootCover
7 declarations indexed from sourceView source ↗

Actual finite étale covers extracting roots of units

The cover is the spectrum of the actual monic quotient R[T]/(T^n-u). Its étaleness is reused from the algebraic-curve library. Lying over proves surjectivity, and the adjoined root is explicitly a unit. These are the geometric local inputs to the Kummer sequence; no cohomology comparison or local lifting assumption is used.

Declarations

EtaleCohomology.kummerRootAlgebra

The actual algebra used to extract an nth root of a unit.

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
abbrev kummerRootAlgebra {R : Type u} [CommRing R] (n : ℕ) (a : Rˣ)
EtaleCohomology.kummerRootAlgebra_root_pow

The defining relation in the actual root algebra.

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
theorem kummerRootAlgebra_root_pow {R : Type u} [CommRing R] (n : ℕ) (a : Rˣ) :
    AdjoinRoot.root (X ^ n - C (a : R)) ^ n =
      algebraMap R (kummerRootAlgebra n a) (a : R)
EtaleCohomology.kummerRootUnit

The adjoined root is an actual unit, with inverse t^(n-1) u^(-1).

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
def kummerRootUnit {R : Type u} [CommRing R] {n : ℕ} (hn : 0 < n) (a : Rˣ) :
    (kummerRootAlgebra n a)ˣ
EtaleCohomology.kummerRootUnit_pow
Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
theorem kummerRootUnit_pow {R : Type u} [CommRing R] {n : ℕ}
    (hn : 0 < n) (a : Rˣ) :
    kummerRootUnit hn a ^ n =
      Units.map (algebraMap R (kummerRootAlgebra n a)).toMonoidHom a
EtaleCohomology.kummerRootCover_isFiniteEtale

The actual root cover is finite étale when n is invertible.

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
theorem kummerRootCover_isFiniteEtale {R : Type u} [CommRing R]
    (n : ℕ) (a : Rˣ) (hn : IsUnit (n : R)) :
    IsFiniteEtale (Spec.map (CommRingCat.ofHom
      (algebraMap R (kummerRootAlgebra n a))))
EtaleCohomology.kummerRootCover_surjective

Lying over proves that every point of the affine base is covered. No irreducibility of the Kummer polynomial is required.

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
theorem kummerRootCover_surjective {R : Type u} [CommRing R]
    {n : ℕ} (hn : 0 < n) (a : Rˣ) :
    Function.Surjective (Spec.map (CommRingCat.ofHom
      (algebraMap R (kummerRootAlgebra n a))))
EtaleCohomology.kummerRootCover_finrank

The actual root cover has constant degree n, including when it is disconnected. This follows from the monic power basis, not from an assumed degree comparison.

Source context 4 commands

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

noncomputable section
universe u
open AlgebraicGeometry CategoryTheory Polynomial
namespace EtaleCohomology
theorem kummerRootCover_finrank {R : Type u} [CommRing R]
    {n : ℕ} (hn : 0 < n) (a : Rˣ) (x : Spec (.of R)) :
    (Spec.map (CommRingCat.ofHom
      (algebraMap R (kummerRootAlgebra n a)))).finrank x = n