law u32_add_exact

bend-mathlib@0.8.1.0 · u32.bend:611

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

611# U32 addition is exact without overflow: a + b < 2^32 implies to_nat (a + b) = a + b.
612law u32_add_exact:
613  for a: U32
614  for b: U32
615  for h: MNat.lt(Nat.add(U32.to_nat(a), U32.to_nat(b)), Nat.pow(2n, 32n))
616  {U32.to_nat(U32.add(a, b)) == Nat.add(U32.to_nat(a), U32.to_nat(b)) : Nat}

Uses (8)

Used by (1)