End Req_bool.
Section Floor_Ceil.
(** Zfloor and Zceil *)
Definition Zfloor (x : R) := (up x - 1)%Z.

(* Specifications: *)
Theorem Zfloor_lb :
forall x : R,
(Z2R (Zfloor x) <= x)%R.
Theorem Zfloor_ub :
forall x : R,
(x < Z2R (Zfloor x) + 1)%R.
Theorem Zfloor_lub :
forall n x,
(Z2R n <= x)%R ->
(n <= Zfloor x)%Z.
Theorem Zfloor_imp :
forall n x,
(Z2R n <= x < Z2R (n + 1))%R ->
Zfloor x = n.
Theorem Zfloor_Z2R :
forall n,
Zfloor (Z2R n) = n.
Theorem Zfloor_le :
forall x y, (x <= y)%R ->
(Zfloor x <= Zfloor y)%Z.
Theorem Zfloor_lb :
forall x : R,
(Z2R (Zfloor x) <= x)%R.
Theorem Zfloor_ub :
forall x : R,
(x < Z2R (Zfloor x) + 1)%R.
Theorem Zfloor_lub :
forall n x,
(Z2R n <= x)%R ->
(n <= Zfloor x)%Z.
Theorem Zfloor_imp :
forall n x,
(Z2R n <= x < Z2R (n + 1))%R ->
Zfloor x = n.
Theorem Zfloor_Z2R :
forall n,
Zfloor (Z2R n) = n.
Theorem Zfloor_le :
forall x y, (x <= y)%R ->
(Zfloor x <= Zfloor y)%Z.