Module

PrimeToRootsResidueAction.lean

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

The literal coefficient action on the full roots limit

Every coordinate is sent through the specified ring map. Compatibility is the proved coefficient/power transition square, and continuity follows from the existing inverse-limit topology and discrete root stages.

Declarations

EtaleFundamentalGroups.Inertia.primeToRootsCoefficientMap

Apply the same ring map at every full roots coordinate.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
def primeToRootsCoefficientMap (f : E →+* E) :
    (primeToRootsSystem k E).inverseLimit →
      (primeToRootsSystem k E).inverseLimit
EtaleFundamentalGroups.Inertia.primeToRootsCoefficientMap_scalar

Literal scalar evaluation of the coefficient map.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
theorem primeToRootsCoefficientMap_scalar (f : E →+* E)
    (n : InvertibleExponent k) (x : (primeToRootsSystem k E).inverseLimit) :
    ((primeToRootsSystem k E).projection n
      (primeToRootsCoefficientMap k E f x)).val.val =
      f.toFun (((primeToRootsSystem k E).projection n x).val.val)
EtaleFundamentalGroups.Inertia.primeToRootsCoefficientMap_continuous

The coordinatewise map is continuous in the original limit topology.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
theorem primeToRootsCoefficientMap_continuous (f : E →+* E) :
    Continuous (primeToRootsCoefficientMap k E f)
EtaleFundamentalGroups.Inertia.primeToRootsResidueEquiv

A coefficient automorphism and its inverse act coordinatewise.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
def primeToRootsResidueEquiv (f : E ≃+* E) :
    Equiv.Perm (primeToRootsSystem k E).inverseLimit where
  toFun := primeToRootsCoefficientMap k E f.toRingHom
  invFun := primeToRootsCoefficientMap k E f.symm.toRingHom
  left_inv x := by
    apply (primeToRootsSystem k E).ext
    intro n
    apply rootsOfUnity.coe_injective
    exact f.symm_apply_apply (x.val n).val.val
  right_inv x := by
    apply (primeToRootsSystem k E).ext
    intro n
    apply rootsOfUnity.coe_injective
    exact f.apply_symm_apply (x.val n).val.val
EtaleFundamentalGroups.Inertia.primeToRootsResidueAction

The full limit carries the action of its coefficient ring automorphisms.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
def primeToRootsResidueAction :
    (E ≃+* E) →* Equiv.Perm (primeToRootsSystem k E).inverseLimit where
  toFun := primeToRootsResidueEquiv k E
  map_one' := by
    apply Equiv.ext
    intro x
    apply (primeToRootsSystem k E).ext
    intro n
    apply rootsOfUnity.coe_injective
    rfl
  map_mul' f g := by
    apply Equiv.ext
    intro x
    apply (primeToRootsSystem k E).ext
    intro n
    apply rootsOfUnity.coe_injective
    rfl
EtaleFundamentalGroups.Inertia.primeToRootsResidueAction_scalar

Scalar projection closes both callable action structures.

Source context 4 commands

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

namespace EtaleFundamentalGroups.Inertia
open ProCGroups.InverseSystems
universe u v
variable (k : Type u) (E : Type v) [Field k] [Field E]
theorem primeToRootsResidueAction_scalar (f : E ≃+* E)
    (n : InvertibleExponent k) (x : (primeToRootsSystem k E).inverseLimit) :
    ((primeToRootsSystem k E).projection n
      (((primeToRootsResidueAction k E).toFun f).toFun x)).val.val =
      f.toFun (((primeToRootsSystem k E).projection n x).val.val)