Section Fcore_generic_round_pos.
(** Rounding functions: R -> Z *)
Variable rnd : R -> Z.
Class Valid_rnd := {
Zrnd_le : forall x y, (x <= y)%R -> (rnd x <= rnd y)%Z ;
Zrnd_Z2R : forall n, rnd (Z2R n) = n
}.
Context { valid_rnd : Valid_rnd }.

(* Specifications: *)
Theorem Zrnd_DN_or_UP :
forall x, rnd x = Zfloor x \/ rnd x = Zceil x.
Theorem Zrnd_ZR_or_AW :
forall x, rnd x = Ztrunc x \/ rnd x = Zaway x.
Theorem Zrnd_DN_or_UP :
forall x, rnd x = Zfloor x \/ rnd x = Zceil x.
Theorem Zrnd_ZR_or_AW :
forall x, rnd x = Ztrunc x \/ rnd x = Zaway x.