law to_nat_shl.m

lawful-words@0.1.0.0 · proof_u32.bend:1004

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

1004law to_nat_shl.m:
1005  for +a: U32
1006  for +m: Nat
1007  for +hm: {Nat.pow(2n, 32n) == m : Nat}
1008  {U32.to_nat(U32.shl(a)) == Nat.mod(Nat.mul(U32.to_nat(a), 2n), m) : Nat}

Uses (17)

Used by (2)