Module

RootsOfUnityDegreeEquiv.lean

Nyll.EtaleFundamentalGroups.Inertia.RootsOfUnityDegreeEquiv
2 declarations indexed from sourceView source ↗

Transport of root groups along equality of their degrees

The transport keeps the actual unit. Its scalar computation, inverse, and homomorphism structure are built together, before any field tower appears.

Declarations

EtaleFundamentalGroups.Inertia.rootsOfUnityDegreeEquiv

Equality of degrees identifies their root groups without changing units.

Source context 2 commands

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

namespace EtaleFundamentalGroups.Inertia
universe u
def rootsOfUnityDegreeEquiv (R : Type u) [CommMonoid R]
    {m n : ℕ} (h : m = n) : rootsOfUnity m R ≃* rootsOfUnity n R where
  toFun ζ := ⟨ζ.val, h ▸ ζ.property⟩
  invFun ζ := ⟨ζ.val, h.symm ▸ ζ.property⟩
  left_inv _ := rfl
  right_inv _ := rfl
  map_mul' _ _ := rfl
EtaleFundamentalGroups.Inertia.rootsOfUnityDegreeEquiv_val

Degree transport preserves the underlying unit literally.

Source context 2 commands

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

namespace EtaleFundamentalGroups.Inertia
universe u
theorem rootsOfUnityDegreeEquiv_val (R : Type u) [CommMonoid R]
    {m n : ℕ} (h : m = n) (ζ : rootsOfUnity m R) :
    ((rootsOfUnityDegreeEquiv R h).toFun ζ).val = ζ.val