FORMAL THEORY OF IEEE FLOATING-POINT NUMBERS (c) Charlie Jacobsen, 2014 University of Utah Distributed under the same license as HOL Light Also available at https://github.com/skoobit/formal-ieee Overview -------- This repository contains a formalization of IEEE floating point numbers. First, we formalize fixed point numbers so we can model IEEE subnormal numbers (in fixed.hl and fixed_thms.hl). Next, we formalize `generalized' floating point numbers to model IEEE normal numbers (in float.hl and float_thms.hl; Cf. John Harrison's work and the Coq formalization). Finally, we piece the two formalizations together to formalize IEEE (ieee.hl and ieee_thms.hl). In the process, we needed a formalization and basic theorems for raising real numbers to an integer power; this is in common.hl. IEEE floating point numbers are treated as a subset of the real numbers. We can model mostly everything except signed zero and NaNs. Usage ----- To load the theorems and formalizations, load IEEE/make.ml after loading base HOL Light, e.g. loadt "IEEE/make.ml";;