law u32_sub_wrap

bend-mathlib@0.8.1.0 · u32.bend:654

import bend-mathlib@0.8.1.0/u32.bend as U32
import Base

654# U32 subtraction wraps modulo 2^32: to_nat (a - b) = (a + (2^32 - b)) % 2^32.
655law u32_sub_wrap:
656  for a: U32
657  for b: U32
658  {U32.to_nat(U32.sub(a, b)) == Nat.mod(Nat.add(U32.to_nat(a), Nat.sub(Nat.pow(2n, 32n), U32.to_nat(b))), Nat.pow(2n, 32n)) : Nat}

Uses (9)

Used by (1)