Agreement between native binary32 words and the generic model #
The narrow-word core implements finite binary32 arithmetic with UInt32 and UInt64. This module
contains the proof-side bridge back to the generic Model FloatFormat.binary32 representation:
field packing, decoding, rounding, and the shared finite-operation specifications.
The operation-specific Addition, Multiplication, and Fma proof modules connect their native
implementations to the finite specifications used here. Together, these results connect native
arithmetic to the generic binary32 model. Runtime clients can import the corresponding Runtime
modules without this proof development.
Native and generic binary32 field packing produce the same storage word.
Rewrapping native field packing equals generic Model.ofFields.
Native and generic binary32 exponent extraction have the same natural-number value.
Native and generic binary32 fraction extraction have the same natural-number value.
Native and generic binary32 sign extraction agree.
Native and generic binary32 exponent zero tests agree.
Native and generic binary32 exceptional-exponent tests agree.
Native and generic binary32 fraction zero tests agree.
Native field extraction decodes the same exact dyadic as generic binary32.
Native rational rounding agrees with generic binary32 rational rounding.
Native dyadic rounding agrees with generic binary32 rounding.
The native finite add result is exactly the generic finite add result.
The native finite multiply result is exactly the generic finite multiply result.
The native finite divide result is exactly the generic finite divide result.
The native finite fused multiply-add result is exactly the generic finite result.