Arbitrary integer constructors #
Lean 4.33 introduced the logical floating-point models. Lean 4.34 exposes the definitions of
Float.ofNat, Float.ofInt, and their binary32 counterparts.
The arbitrary-integer casts use these constructors, whose scientific-literal path includes a
small-input optimization. These proofs account for both branches before applying the shared
integer conversion specification.
Moving exact trailing binary zeros into the exponent does not change model rounding.
A scientific literal with decimal exponent zero is the shared natural-number constructor.
Binary64 natural construction is nearest-even rounding of a denominator-one rational.
Binary32 natural construction is nearest-even rounding of a denominator-one rational.
Binary64 integer construction uses the shared dyadic rounder, including signed overflow.
Binary32 integer construction uses the shared dyadic rounder, including signed overflow.
The arbitrary-precision integer cast to binary64 has the same rounding specification.
The arbitrary-precision integer cast to binary32 has the same rounding specification.