Documentation

LeanPool.OrderPQ.MulZMod

LeanPool.OrderPQ.MulZMod #

def MulZMod (n : ) :

ZMod n viewed as a multiplicative group.

Equations
Instances For
    @[implicit_reducible]
    instance instMulMulZMod {n : } :
    Equations
    @[implicit_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
            @[implicit_reducible]
            noncomputable instance instFintypeMulAutMulZMod (p : ) [hp : Fact (Nat.Prime p)] :
            Equations
            @[simp]
            theorem card_mulAut_mulZMod (p : ) [hp : Fact (Nat.Prime p)] :