Build a reduced residue by taking the Nat representative mod p.
The bound p ≤ 2^64 ensures the reduced representative is stored faithfully in
the backing UInt64.
The primitive constructor takes any Nat, reduces it modulo p, and
packages the result with its reduction proof. An OfNat instance
routes numeric literals through it, so (3 : ZMod64 7) denotes the
residue of 3.
Build a reduced residue by taking the Nat representative mod p.
The bound p ≤ 2^64 ensures the reduced representative is stored faithfully in
the backing UInt64.
Its defining property is that the representative of ofNat p n is n
reduced modulo p. Every coefficient computation rewrites across this
identity.
The Nat representative of ofNat p n is n reduced modulo p.