Module

GeometricStalkHenselianEmbedding.lean

Nyll.EtaleFundamentalGroups.StrictHenselian.GeometricStalkHenselianEmbedding
3 declarations indexed from sourceView source ↗

Injectivity of the actual stalk map into a Henselian target

The previously constructed generic tensor is integral over the base fraction field and is a fraction ring of the actual stalk. Native algebraicity transfer therefore makes the stalk algebraic over the base. The native algebraic-domain injection theorem then uses the already proved literal base square to lift injectivity of the base map to the constructed stalk map. No tensor equivalence or comparison injection is assumed or reconstructed.

Declarations

EtaleFundamentalGroups.StrictHenselian.algebraic_of_genericFractionRing
Source context 5 commands

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

noncomputable section
open AlgebraicGeometry CategoryTheory
open scoped TensorProduct
namespace EtaleFundamentalGroups.StrictHenselian
universe u
theorem algebraic_of_genericFractionRing
    (R A : Type u) [CommRing R] [IsDomain R] [CommRing A]
    [Algebra R A]
    (hIntegral : Algebra.IsIntegral (FractionRing R) (FractionRing R ⊗[R] A))
    (hFraction :
      let : Algebra A (FractionRing R ⊗[R] A) := Algebra.TensorProduct.rightAlgebra
      IsFractionRing A (FractionRing R ⊗[R] A)) :
    Algebra.IsAlgebraic R A := by
  let K := FractionRing R
  let T := K ⊗[R] A
  let : Algebra A T := Algebra.TensorProduct.rightAlgebra
  have : IsFractionRing A T := hFraction
  have : Algebra.IsIntegral K T := hIntegral
  have : Algebra.IsAlgebraic R T :=
    (IsFractionRing.comap_isAlgebraic_iff (A := R) (K := K) (C := T)).mpr inferInstance
  exact Algebra.IsAlgebraic.of_injective
    (Algebra.TensorProduct.includeRight : A →ₐ[R] T) (IsFractionRing.injective A T)
EtaleFundamentalGroups.StrictHenselian.geometricStalk_isAlgebraic

The actual geometric stalk of a normal local domain is algebraic over that domain, by the already constructed generic integral fraction ring.

Source context 5 commands

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

noncomputable section
open AlgebraicGeometry CategoryTheory
open scoped TensorProduct
namespace EtaleFundamentalGroups.StrictHenselian
universe u
theorem geometricStalk_isAlgebraic
    {R Ω : Type u} [CommRing R] [IsDomain R] [IsIntegrallyClosed R] [IsLocalRing R]
    [Field Ω] (φ : R →+* Ω) [IsLocalHom φ] :
    let : Algebra R (geometricStalk (Spec.map (CommRingCat.ofHom φ))) :=
      (geometricStalkStructureMap φ).toAlgebra
    Algebra.IsAlgebraic R (geometricStalk (Spec.map (CommRingCat.ofHom φ))) := by
  let G := geometricStalk (Spec.map (CommRingCat.ofHom φ))
  let : Algebra R G := (geometricStalkStructureMap φ).toAlgebra
  exact algebraic_of_genericFractionRing R G
    (geometricStalk_tensor_isIntegral φ (FractionRing R))
    (geometricStalk_genericTensor_isFractionRing φ)
EtaleFundamentalGroups.StrictHenselian.geometricStalkToHenselian_injective

An injective local map from a normal local domain to a Henselian target induces an injective map from its actual geometric stalk. Injectivity is deduced from algebraicity and the literal base square.

Source context 5 commands

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

noncomputable section
open AlgebraicGeometry CategoryTheory
open scoped TensorProduct
namespace EtaleFundamentalGroups.StrictHenselian
universe u
theorem geometricStalkToHenselian_injective
    {R S : Type u} [CommRing R] [IsDomain R] [IsIntegrallyClosed R] [IsLocalRing R]
    [CommRing S] [HenselianLocalRing S]
    (f : R →+* S) [IsLocalHom f] (hf : Function.Injective f) :
    Function.Injective (geometricStalkToHenselian f)