Open
Description
(Feature request)
Add proofs of the following floating point theorems:
!x . not float_equal x x <=> float_is_nan x
!x . float_unordered x x <=> float_is_nan x
!x . (float_equal x (float_plus_infinity (:'t # 'w))) \/ (float_equal x (float_minus_infinity (:'t # 'w))) <=> float_is_infinite x;
!x . float_equal x (float_plus_zero (:'w # 't)) <=> float_is_zero x
These theorems prove that the typical implementations of fp_is_nan etc. (if you don't have fp_classify) are correct.