Correctness of finite binary32 components #
The representation lemmas here establish field bounds and connect runtime mantissa-and-scale coordinates to the generic exact-dyadic decoder. Binary32 word proofs for addition, multiplication, division, square root, and fused operations all reuse this boundary.
Runtime clients can import Finite.Runtime without these proofs. The operation proofs reuse the
same field bounds and mantissa-scale decoding theorem.
Interpret the native finite mantissa as an ordinary natural number.
Every finite binary32 mantissa fits in 24 bits.
The mantissa decoded directly from a binary32 value fits in the 24 bits used by the native finite-operation kernels.
Operation proofs should normally use this value-level lemma. The component-level
finiteMantissa_lt theorem remains available when a proof constructs fields independently.
The scale decoded from a finite binary32 value is at most 253.
This is the value-level counterpart of finiteScale_le; it keeps field-width bookkeeping out of
the individual arithmetic proofs.
The 24-bit mantissa bound also holds for components identified with a value's decoded fields.
Transport the value-level finite-scale bound to the local component names used by a word kernel.
Native finite components decode to the same exact dyadic as the generic binary32 decoder.