(************************************************************************)
(*         *      The Rocq Prover / The Rocq Development Team           *)
(*  v      *         Copyright INRIA, CNRS and contributors             *)
(* <O___,, * (see version control and CREDITS file for authors & dates) *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)
(**********************************************************)
(** Complements for the reals.Integer and fractional part *)
(*                                                        *)
(**********************************************************)
Local Open Scope R_scope.
(*********************************************************)
(** *    Fractional part                                 *)
(*********************************************************)
(**********)
Definition Int_part (r:R) : Z := (up r - 1)%Z.
(**********)
Definition frac_part (r:R) : R := r - IZR (Int_part r).

(**********)
(* TODO: rename this, this is not a technical lemma but the specification of up. *)
Lemma tech_up : forall (r:R) (z:Z), r < IZR z -> IZR z <= r + 1 -> z = up r.