Shared proofs for fixed-word posit backends #
The executable boundaries for UInt8, UInt16, UInt32, and UInt64 remain separate so Lean
can compile each one with its native calling convention. Their range arguments, however, are
mathematical facts about the posit format rather than the carrier. This module holds those shared
facts and keeps them out of the specialized runtime files.
A result below the exact format modulus also fits any carrier at least as wide as the format.
Reducing an exact format result modulo a sufficiently wide carrier does not change the result.
An observed result remains below the format modulus when narrowing to the carrier preserves the exact result.
Packed-word range invariants #
Packed native-word addition returns a valid posit code.
Packed native-word subtraction returns a valid posit code.
Packed native-word multiplication returns a valid posit code.
Packed native-word division returns a valid posit code.
Packed native-word square root returns a valid posit code.
Packed native-word fused multiply-add returns a valid posit code.