law u32_add_exact
import bend-mathlib@0.8.1.0/u32.bend as U32import 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}