Shared proof for finishing a native-word product #
The one-word and two-word multiplication kernels differ in how they form and round an exact
product. Once they have a rounded UInt64 significand, however, carry handling, overflow testing,
and field packing are identical. This module proves that common final stage once.
The theorem is deliberately about the finishing stage only. Product construction remains in each backend, where the machine representation and its capacity bounds are materially different.
The word-valued finishing function decodes to the optional finishing function.
The only condition on the caller's decline marker is that it lies above every valid packed word.
Native carry, overflow, and packing agree with the natural-number normal-result specification.
Callers supply the representation facts for their product implementation: the natural values of
the position and rounded significand, the no-wrap fact for incrementing the position, and the
implicit and carry bits as machine words. The overflow threshold and exponent offset are computed
from biasWord, whose value follows from the width bound alone.