Every floating point number converted to fixed point form, is an exact floating point number.
theorem
isExactFloat_round_toEFixed
(a : EFixedPoint 34 16)
(m : RoundingMode)
(ha : isExactFloat 5 2 a = true)
:
If a fixed point number is an exact floating point number, then converting to floating point and back should not change the denotation.
Fixed -> Float rounding is left inverse to Float -> Fixed conversion
theorem
add_zero_is_id
(a : PackedFloat 5 2)
(m : RoundingMode)
(ha : ¬a.isNaN = true ∧ ¬a.isZero = true)
:
theorem
e_add_monotone
(m : RoundingMode)
(a b c : EFixedPoint 34 16)
(hc : c.state = State.Number)
: