Natural-number literals in ZMod64.
Equations
- Hex.ZMod64.natCast p n = Hex.ZMod64.ofNat p n
Instances For
Natural scalar multiplication on ZMod64.
Equations
- Hex.ZMod64.nsmul n a = Hex.ZMod64.ofNat p (n * a.toNat)
Instances For
Integer literals in ZMod64, reduced mod p.
Equations
- Hex.ZMod64.intCast p (Int.ofNat n) = Hex.ZMod64.natCast p n
- Hex.ZMod64.intCast p (Int.negSucc n) = (Hex.ZMod64.natCast p (n + 1)).neg
Instances For
Integer scalar multiplication on ZMod64.
Equations
- Hex.ZMod64.zsmul (Int.ofNat n) a = Hex.ZMod64.nsmul n a
- Hex.ZMod64.zsmul (Int.negSucc n) a = (Hex.ZMod64.nsmul (n + 1) a).neg
Instances For
Equations
- Hex.ZMod64.instNeg = { neg := Hex.ZMod64.neg }
Equations
- Hex.ZMod64.instNatCast = { natCast := Hex.ZMod64.natCast p }
Equations
- Hex.ZMod64.instOfNat n = { ofNat := Hex.ZMod64.natCast p n }
Equations
- Hex.ZMod64.instSMulNat = { smul := Hex.ZMod64.nsmul }
Equations
- Hex.ZMod64.instIntCast = { intCast := Hex.ZMod64.intCast p }
Equations
- Hex.ZMod64.instSMulInt = { smul := Hex.ZMod64.zsmul }
Operator-level form of natCast_eq_ofNat.
The modulus itself casts to zero in ZMod64 p.
Associativity of Nat addition under an outer % m, written in the
fully reduced form where each operand is already taken % m. This is the
reduced-arithmetic identity discharging the additive-associativity ring
law on ZMod64 p after the operands are normalised.
Associativity of Nat multiplication under an outer % m, with each
operand pre-reduced % m. This is the reduced-arithmetic identity
discharging the multiplicative-associativity ring law on ZMod64 p.
Left distributivity of Nat multiplication over addition under an
outer % m, with each operand pre-reduced % m. This is the
reduced-arithmetic identity discharging the left-distributivity ring law
on ZMod64 p.
Right distributivity of Nat multiplication over addition under an
outer % m, with each operand pre-reduced % m. This is the
reduced-arithmetic identity discharging the right-distributivity ring law
on ZMod64 p.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Hex.ZMod64.instCommRing = { toRing := Hex.ZMod64.instRing, mul_comm := ⋯ }