End Zround_opp.
(** IEEE-754 roundings: up, down and to zero *)
Global Instance valid_rnd_DN : Valid_rnd Zfloor.
Global Instance valid_rnd_UP : Valid_rnd Zceil.
Global Instance valid_rnd_ZR : Valid_rnd Ztrunc.
Global Instance valid_rnd_AW : Valid_rnd Zaway.
Section monotone.
Variable rnd : R -> Z.
Context { valid_rnd : Valid_rnd rnd }.

(* Specifications: *)
Theorem round_DN_or_UP :
forall x,
round rnd x = round Zfloor x \/ round rnd x = round Zceil x.
Theorem round_ZR_or_AW :
forall x,
round rnd x = round Ztrunc x \/ round rnd x = round Zaway x.
Theorem round_le :
forall x y, (x <= y)%R -> (round rnd x <= round rnd y)%R.
Theorem round_DN_or_UP :
forall x,
round rnd x = round Zfloor x \/ round rnd x = round Zceil x.
Theorem round_ZR_or_AW :
forall x,
round rnd x = round Ztrunc x \/ round rnd x = round Zaway x.
Theorem round_le :
forall x y, (x <= y)%R -> (round rnd x <= round rnd y)%R.