Documentation

TauCeti.Data.ZMod.MonoidHomEquiv

Homomorphisms out of ℤ/Nℤ and (ℤ/Nℤ)² #

For N ≠ 0, a homomorphism ℤ/Nℤ →* G to a group G is determined by the image of 1, which is an element of G killed by N, and every such element arises: ZMod.lift descends its powers to ℤ/Nℤ. Likewise, for a commutative group G, a homomorphism (ℤ/Nℤ)² →* G is determined by the pair of images of (1, 0) and (0, 1), both killed by N. The groups ℤ/Nℤ and (ℤ/Nℤ)² are written multiplicatively, as Multiplicative (ZMod N) and Multiplicative (ZMod N × ZMod N).

Main definitions #

Main results #

The standard generator 1 of ℤ/Nℤ, written multiplicatively, generates the group.

noncomputable def TauCeti.zmodMonoidHomEquiv (N : ℕ) [NeZero N] (G : Type u_1) [Group G] :
(Multiplicative (ZMod N) →* G) ≃ { g : G // g ^ N = 1 }

Homomorphisms ℤ/Nℤ →* G are the elements of G killed by N, through the image of 1.

Instances For
    @[simp]
    theorem TauCeti.coe_zmodMonoidHomEquiv_apply {N : ℕ} [NeZero N] {G : Type u_1} [Group G] (φ : Multiplicative (ZMod N) →* G) :

    The element of G of a homomorphism φ : ℤ/Nℤ →* G is φ 1.

    theorem TauCeti.zmodMonoidHomEquiv_symm_apply_ofAdd_one {N : ℕ} [NeZero N] {G : Type u_1} [Group G] (g : { g : G // g ^ N = 1 }) :

    The homomorphism associated to an element killed by N sends 1 to that element, including when N = 1.

    @[simp]
    theorem TauCeti.zmodMonoidHomEquiv_symm_apply {N : ℕ} [NeZero N] {G : Type u_1} [Group G] (g : { g : G // g ^ N = 1 }) (a : ZMod N) :

    The homomorphism ℤ/Nℤ →* G of an element g killed by N sends a to g ^ a.val.

    noncomputable def TauCeti.zmodProdMonoidHomEquiv (N : ℕ) [NeZero N] (G : Type u_1) [CommGroup G] :
    (Multiplicative (ZMod N × ZMod N) →* G) ≃ { g : G // g ^ N = 1 } × { g : G // g ^ N = 1 }

    Homomorphisms (ℤ/Nℤ)² →* G are the pairs of elements of G killed by N, through the images of (1, 0) and (0, 1).

    Instances For
      @[simp]

      The first element of G of a homomorphism φ : (ℤ/Nℤ)² →* G is φ (1, 0).

      @[simp]

      The second element of G of a homomorphism φ : (ℤ/Nℤ)² →* G is φ (0, 1).

      @[simp]
      theorem TauCeti.zmodProdMonoidHomEquiv_symm_apply {N : ℕ} [NeZero N] {G : Type u_1} [CommGroup G] (g : { g : G // g ^ N = 1 } × { g : G // g ^ N = 1 }) (a b : ZMod N) :
      ((zmodProdMonoidHomEquiv N G).symm g) (Multiplicative.ofAdd (a, b)) = ↑g.1 ^ a.val * ↑g.2 ^ b.val

      The homomorphism (ℤ/Nℤ)² →* G of a pair (g, h) of elements killed by N sends (a, b) to g ^ a.val * h ^ b.val.

      Injectivity on (ℤ/3ℤ)². A homomorphism ψ : (ℤ/3ℤ)² →* G is injective exactly when (1, 0), (0, 1), (1, 1) and (-1, 1) are not in its kernel: every nonzero element of (ℤ/3ℤ)² is one of these four or its negative.