Module

InvariantBaseChange.lean

Nyll.EtaleFundamentalGroups.Inertia.InvariantBaseChange
6 declarations indexed from sourceView source ↗

Inertia under base change

The action on the second tensor factor preserves inertia at every ideal and its contraction. In particular, this proves Stacks Project, Tag 0BSS for arbitrary base change from the fixed subring. No finiteness or primality is needed for this ideal-theoretic statement.

Reference: https://stacks.math.columbia.edu/tag/0BSS

Declarations

EtaleFundamentalGroups.Inertia.baseChangeAction

Extend a ring action, fixing the base, to the second tensor factor.

Source context 5 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
section BaseChange
variable (B : Type u) (A : Type v) (R : Type w) (G : Type z)
  [CommRing B] [CommRing A] [CommRing R] [Algebra B A] [Algebra B R]
  [Group G] [MulSemiringAction G R] [SMulCommClass G B R]
abbrev baseChangeAction : MulSemiringAction G (A ⊗[B] R)
Source context 5 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
section BaseChange
variable (B : Type u) (A : Type v) (R : Type w) (G : Type z)
  [CommRing B] [CommRing A] [CommRing R] [Algebra B A] [Algebra B R]
  [Group G] [MulSemiringAction G R] [SMulCommClass G B R]
instance : MulSemiringAction G (A ⊗[B] R)
EtaleFundamentalGroups.Inertia.baseChangeAction_tmul

The extended action fixes the first tensor factor.

Source context 6 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
section BaseChange
variable (B : Type u) (A : Type v) (R : Type w) (G : Type z)
  [CommRing B] [CommRing A] [CommRing R] [Algebra B A] [Algebra B R]
  [Group G] [MulSemiringAction G R] [SMulCommClass G B R]
local instance : MulSemiringAction G (A ⊗[B] R) := baseChangeAction B A R G
theorem baseChangeAction_tmul (g : G) (a : A) (r : R) :
    g • (a ⊗ₜ[B] r) = a ⊗ₜ[B] (g • r)
EtaleFundamentalGroups.Inertia.inertia_comap_includeRight

Inertia is unchanged by tensor base change, at any ideal and its contraction to the acted-on factor.

Source context 6 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
section BaseChange
variable (B : Type u) (A : Type v) (R : Type w) (G : Type z)
  [CommRing B] [CommRing A] [CommRing R] [Algebra B A] [Algebra B R]
  [Group G] [MulSemiringAction G R] [SMulCommClass G B R]
local instance : MulSemiringAction G (A ⊗[B] R) := baseChangeAction B A R G
theorem inertia_comap_includeRight (Q : Ideal (A ⊗[B] R)) :
    (Q.comap (Algebra.TensorProduct.includeRight (R := B) (A := A)
      (B := R)).toRingHom).inertia G = Q.inertia G
EtaleFundamentalGroups.Inertia.baseChangeAction_map

The prescribed action on the fixed tensor factor commutes with an actual change of the coefficient algebra. This is the existing tensor-map composition identity applied to the two independent coordinates.

Source context 6 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
section BaseChange
variable (B : Type u) (A : Type v) (R : Type w) (G : Type z)
  [CommRing B] [CommRing A] [CommRing R] [Algebra B A] [Algebra B R]
  [Group G] [MulSemiringAction G R] [SMulCommClass G B R]
local instance : MulSemiringAction G (A ⊗[B] R) := baseChangeAction B A R G
theorem baseChangeAction_map {A' : Type*} [CommRing A'] [Algebra B A']
    (f : A →ₐ[B] A') :
    let : MulSemiringAction G (A' ⊗[B] R) := baseChangeAction B A' R G
    ∀ (g : G) (x : A ⊗[B] R),
      Algebra.TensorProduct.map f (AlgHom.id B R) (g • x) =
        g • Algebra.TensorProduct.map f (AlgHom.id B R) x := by
  intro targetAction g x
  change Algebra.TensorProduct.map f (AlgHom.id B R)
      (Algebra.TensorProduct.map (AlgHom.id B A) (MulSemiringAction.toAlgHom B R g) x) =
    Algebra.TensorProduct.map (AlgHom.id B A') (MulSemiringAction.toAlgHom B R g)
      (Algebra.TensorProduct.map f (AlgHom.id B R) x)
  have h :
      (Algebra.TensorProduct.map f (AlgHom.id B R)).comp
          (Algebra.TensorProduct.map (AlgHom.id B A) (MulSemiringAction.toAlgHom B R g)) =
        (Algebra.TensorProduct.map (AlgHom.id B A') (MulSemiringAction.toAlgHom B R g)).comp
          (Algebra.TensorProduct.map f (AlgHom.id B R)) := by
    rw [← Algebra.TensorProduct.map_comp, ← Algebra.TensorProduct.map_comp]
    simp only [AlgHom.id_comp, AlgHom.comp_id]
  exact AlgHom.congr_fun h x
EtaleFundamentalGroups.Inertia.inertia_invariantBaseChange

Stacks Project, Tag 0BSS: a base change from the invariant subring preserves the inertia group at each prime (and, more generally, each ideal). The tensor action is constructed from the given action on R.

Source context 3 commands

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

open scoped TensorProduct
namespace EtaleFundamentalGroups.Inertia
universe u v w z
theorem inertia_invariantBaseChange
    (A : Type v) (R : Type w) (G : Type z)
    [CommRing A] [CommRing R] [Group G] [MulSemiringAction G R]
    [Algebra (FixedPoints.subring R G) A]
    (Q : Ideal (A ⊗[FixedPoints.subring R G] R)) :
    letI := baseChangeAction (FixedPoints.subring R G) A R G
    (Q.comap (Algebra.TensorProduct.includeRight
      (R := FixedPoints.subring R G) (A := A) (B := R)).toRingHom).inertia G =
      Q.inertia G :=
  inertia_comap_includeRight (FixedPoints.subring R G) A R G Q