Definition FPred (x : float) :=
  match Z_eq_bool (Fnum x) (- pPred (vNum b)) with
  | true => Float (- nNormMin radix precision) (Zsucc (Fexp x))
  | false =>
      match Z_eq_bool (Fnum x) (nNormMin radix precision) with
      | true =>
          match Z_eq_bool (Fexp x) (- dExp b) with
          | true => Float (Zpred (Fnum x)) (Fexp x)
          | false => Float (pPred (vNum b)) (Zpred (Fexp x))
          end
      | false => Float (Zpred (Fnum x)) (Fexp x)
      end
  end.

Theorem FPredCanonic : forall a : float, Fcanonic radix b a -> Fcanonic radix b (FPred a).