law to_nat_shln.m

lawful-words@0.1.0.0 · proof_u32.bend:1044

import lawful-words@0.1.0.0/proof_u32.bend as ProofU32
import Base

1044law to_nat_shln.m:
1045  for +a: U32
1046  for +k: Nat
1047  for +m: Nat
1048  for +hm: {Nat.pow(2n, 32n) == m : Nat}
1049  {U32.to_nat(U32.shln(a, k)) == Nat.mod(Nat.mul(U32.to_nat(a), Nat.pow(2n, k)), m) : Nat}

Uses (16)

Used by (3)