Definition Fcanonic (a : float) := Fnormal a \/ Fsubnormal a.

(* Specifications: *)
Theorem FcanonicBound : forall p : float, Fcanonic p -> Fbounded b p.
Theorem pUCanonic_absolu : forall p : float, Fcanonic p -> (Zabs (Fnum p) < Zpos (vNum b))%Z.
Theorem FcanonicFopp : forall p : float, Fcanonic p -> Fcanonic (Fopp p).
Theorem FcanonicFabs : forall p : float, Fcanonic p -> Fcanonic (Fabs p).
Theorem NormalNotSubNormal : forall p : float, ~ (Fnormal p /\ Fsubnormal p).
Theorem MaxFloat : forall x : float, Fbounded b x -> (Rabs x < Float (Zpos (vNum b)) (Fexp x))%R.
Theorem FboundNext : forall p : float, Fbounded b p -> exists q : float, Fbounded b q /\ q = Float (Zsucc (Fnum p)) (Fexp p) :>R.
Theorem digitPredVNumiSPrecision : digit radix (Zpred (Zpos (vNum b))) = precision.
Theorem digitVNumiSPrecision : digit radix (Zpos (vNum b)) = S precision.
Theorem vNumPrecision : forall n : Z, digit radix n <= precision -> (Zabs n < Zpos (vNum b))%Z.
Theorem pGivesDigit : forall p : float, Fbounded b p -> Fdigit radix p <= precision.
Theorem digitGivesBoundedNum : forall p : float, Fdigit radix p <= precision -> (Zabs (Fnum p) < Zpos (vNum b))%Z.
Theorem FboundedOne : forall z : Z, (- dExp b <= z)%Z -> Fbounded b (Float 1%nat z).
Theorem FboundedMboundPos : forall z m : Z, (0 <= m)%Z -> (m <= Zpower_nat radix precision)%Z -> (- dExp b <= z)%Z -> exists c : float, Fbounded b c /\ c = (m * powerRZ radix z)%R :>R.
Theorem FboundedMbound : forall z m : Z, (Zabs m <= Zpower_nat radix precision)%Z -> (- dExp b <= z)%Z -> exists c : float, Fbounded b c /\ c = (m * powerRZ radix z)%R :>R.
Theorem FnormalPrecision : forall p : float, Fnormal p -> Fdigit radix p = precision.
Theorem FnormalUnique : forall p q : float, Fnormal p -> Fnormal q -> p = q :>R -> p = q.
Theorem FnormalLtPos : forall p q : float, Fnormal p -> Fnormal q -> (0 <= p)%R -> (p < q)%R -> (Fexp p < Fexp q)%Z \/ Fexp p = Fexp q /\ (Fnum p < Fnum q)%Z.
Theorem FnormalLtNeg : forall p q : float, Fnormal p -> Fnormal q -> (q <= 0)%R -> (p < q)%R -> (Fexp q < Fexp p)%Z \/ Fexp p = Fexp q /\ (Fnum p < Fnum q)%Z.