Proof with auto with typeclass_instances.
intros x u Fu Hux.
rewrite <- (Ropp_involutive (round beta fexp Zceil x)).
rewrite <- round_DN_opp.
rewrite <- (Ropp_involutive u).
apply f_equal.
apply round_DN_eq_betw; try assumption.
now apply generic_format_opp.
split;[now apply Ropp_le_contravar|idtac].
rewrite succ_opp.
now apply Ropp_lt_contravar.
Qed.
(** Properties of rounding to nearest and ulp *)

(* Specifications: *)
Theorem round_N_le_midp: forall choice u v,
F u -> (v < (u + succ u)/2)%R
-> (round beta fexp (Znearest choice)  v <= u)%R.