Width-driven binary shift-and-add multiplication -- pure proofs #
This file proves the generalized arithmetic invariant of the little-endian shift-and-add fold, its multiplication specialization, and width bounds for every partial accumulator and shifted multiplicand.
Taking a low-order prefix cannot increase its little-endian decoded value.
If the iteration index is within the canonical multiplier width, folding its prefix produces the advertised partial accumulator and shift.
One live multiplier bit advances the partial arithmetic invariant by one iteration.
The complete partial accumulator is the product.
The complete partial shift has advanced by the multiplier width.
Every partial accumulator is bounded by the complete product.
Every partial accumulator fits in the combined input width.
Shifting left by i grows binary width by at most i.