law word_sub_wrap
import bend-mathlib@0.8.1.0/u32.bend as U32import Base
480# Word subtraction wraps modulo 2^n: to_nat (sub a b) = (a + (2^n - b)) % 2^n.
481law word_sub_wrap:
482 for n: Nat
483 for a: Word(n)
484 for b: Word(n)
485 {Word.to_nat(n, Word.sub(n, a, b)) == Nat.mod(Nat.add(Word.to_nat(n, a), Nat.sub(Nat.pow(2n, n), Word.to_nat(n, b))), Nat.pow(2n, n)) : Nat}