Documentation

LeanPool.OrderPQ.MulZMod

LeanPool.OrderPQ.MulZMod #

def MulZMod (n : ℕ) :

ZMod n viewed as a multiplicative group.

Equations
Instances For
    @[instance_reducible]
    instance instMulMulZMod {n : ℕ} :
    Equations
    @[instance_reducible]
    instance instGroupMulZMod {n : ℕ} :
    Equations
    @[simp]
    theorem card_mulZMod {n : ℕ} [NeZero n] :
    def unitOfNeZero {p : ℕ} [hp : Fact (Nat.Prime p)] (x : ZMod p) (hx : x ≠ 0) :
    (ZMod p)ˣ

    A nonzero element of ZMod p (with p prime) viewed as a unit.

    Equations
    Instances For
      @[simp]
      theorem val_unitOfNeZero {p : ℕ} [hp : Fact (Nat.Prime p)] (x : ZMod p) (hx : x ≠ 0) :
      ↑(unitOfNeZero x hx) = x
      @[simp]
      theorem unitOfNeZero_val {p : ℕ} [hp : Fact (Nat.Prime p)] (x : (ZMod p)ˣ) :
      unitOfNeZero ↑x ⋯ = x
      def addAutOfUnit {p : ℕ} [hp : Fact (Nat.Prime p)] (x : (ZMod p)ˣ) :

      Multiplication by a unit in ZMod p as an additive automorphism.

      Equations
      • addAutOfUnit x = { toFun := fun (a : ZMod p) => ↑x * a, invFun := fun (a : ZMod p) => x.inv * a, left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
      Instances For
        theorem addAutOfUnit_symm_apply {p : ℕ} [hp : Fact (Nat.Prime p)] (x : (ZMod p)ˣ) (a : ZMod p) :
        theorem addAutOfUnit_apply {p : ℕ} [hp : Fact (Nat.Prime p)] (x : (ZMod p)ˣ) (a : ZMod p) :
        (addAutOfUnit x) a = ↑x * a

        The group of additive automorphisms of ZMod p (with p prime) is isomorphic to the group of units of ZMod p.

        Equations
        Instances For

          The group of multiplicative automorphisms of MulZMod p (with p prime) is isomorphic to the group of units of ZMod p.

          Equations
          Instances For
            @[instance_reducible]
            noncomputable instance instFintypeMulAutMulZMod (p : ℕ) [hp : Fact (Nat.Prime p)] :
            Equations
            @[simp]
            theorem card_mulAut_mulZMod (p : ℕ) [hp : Fact (Nat.Prime p)] :