law word_add_exact

bend-mathlib@0.8.1.0 · u32.bend:347

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

347# Word addition is exact without overflow: a + b < 2^n implies to_nat (add a b) = a + b.
348law word_add_exact:
349  for n: Nat
350  for a: Word(n)
351  for b: Word(n)
352  for h: MNat.lt(Nat.add(Word.to_nat(n, a), Word.to_nat(n, b)), Nat.pow(2n, n))
353  {Word.to_nat(n, Word.add(n, a, b)) == Nat.add(Word.to_nat(n, a), Word.to_nat(n, b)) : Nat}

Uses (12)

Used by (2)