Module

InvariantFlatBaseChange.lean

Nyll.EtaleFundamentalGroups.Inertia.InvariantFlatBaseChange
11 declarations indexed from sourceView source ↗

Fixed subalgebras commute with flat base change

For a finite group, the fixed subalgebra is the kernel of the linear map r ↦ (g ↦ g • r - r). Flat tensor product preserves this kernel, and tensor product commutes with the finite product indexed by the group. Consequently every invariant tensor comes from the tensor product of the fixed subalgebra.

The resulting algebra equivalence uses the actual action on the second tensor factor and the canonical inclusion of the fixed subalgebra.

Imports5
Imported by3

Declarations

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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_smulCommClass

The tensor action commutes with scalars from the base-change algebra.

Source context 5 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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_smulCommClass : SMulCommClass G A (A ⊗[B] R)
Source context 5 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
instance : SMulCommClass G A (A ⊗[B] R)
EtaleFundamentalGroups.Inertia.actionDifference
Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
def actionDifference : R →ₗ[B] (G → R)
EtaleFundamentalGroups.Inertia.actionDifference_exact
Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
theorem actionDifference_exact :
    Function.Exact (FixedPoints.subalgebra B R G).val.toLinearMap
      (actionDifference B R G)
EtaleFundamentalGroups.Inertia.invariantTensorHom
Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
def invariantTensorHom :
    (A ⊗[B] FixedPoints.subalgebra B R G) →ₐ[A]
      FixedPoints.subalgebra A (A ⊗[B] R) G
EtaleFundamentalGroups.Inertia.invariantTensorHom_bijective
Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
theorem invariantTensorHom_bijective [Finite G] [Module.Flat B A] :
    Function.Bijective (invariantTensorHom B A R G)
EtaleFundamentalGroups.Inertia.invariantFlatBaseChangeEquiv

Fixed subalgebras of finite group actions commute with flat base change. The forward map is induced by the inclusion of the original fixed subalgebra.

Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
def invariantFlatBaseChangeEquiv [Finite G] [Module.Flat B A] :
    (A ⊗[B] FixedPoints.subalgebra B R G) ≃ₐ[A]
      FixedPoints.subalgebra A (A ⊗[B] R) G
EtaleFundamentalGroups.Inertia.invariantFlatBaseChangeEquiv_val_comp

The flat base-change equivalence has the canonical inclusion square.

Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
theorem invariantFlatBaseChangeEquiv_val_comp [Finite G] [Module.Flat B A] :
    (FixedPoints.subalgebra A (A ⊗[B] R) G).val.comp
        (invariantFlatBaseChangeEquiv B A R G).toAlgHom =
      Algebra.TensorProduct.map (AlgHom.id A A) (FixedPoints.subalgebra B R G).val
EtaleFundamentalGroups.Inertia.baseChangeAction_isInvariant

If the original fixed elements are exactly the image of the base, the same holds after flat base change. The proof uses the actual fixed-subalgebra base-change equivalence and its canonical inclusion square.

Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
theorem baseChangeAction_isInvariant [Finite G] [Module.Flat B A]
    [Algebra.IsInvariant B R G] : Algebra.IsInvariant A (A ⊗[B] R) G
EtaleFundamentalGroups.Inertia.baseChangeAction_finite_primesOver

Every prime fiber after flat base change of a finite invariant action is finite. A nonempty fiber is the orbit of any one of its actual primes.

Source context 6 commands

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

namespace EtaleFundamentalGroups.Inertia
open scoped TensorProduct Pointwise
universe u v w z
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
local instance : SMulCommClass G A (A ⊗[B] R) := baseChangeAction_smulCommClass B A R G
theorem baseChangeAction_finite_primesOver [Finite G] [Module.Flat B A]
    [Algebra.IsInvariant B R G] (p : Ideal A) :
    (p.primesOver (A ⊗[B] R)).Finite