(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \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 real numbers            *)
(*                                                       *)
(*********************************************************)
Local Open Scope R_scope.
Implicit Type r : R.
(*******************************)
(** *        Rmin              *)
(*******************************)
(*********)
Definition Rmin (x y:R) : R :=
match Rle_dec x y with
| left _ => x
| right _ => y
end.
(*******************************)
(** *        Rmax              *)
(*******************************)
(*********)
Definition Rmax (x y:R) : R :=
match Rle_dec x y with
| left _ => y
| right _ => x
end.
(* begin hide *)
Notation RmaxSym := Rmax_comm (only parsing).
(* end hide *)
(* begin hide *)
Notation RmaxLess1 := Rmax_l (only parsing).
Notation RmaxLess2 := Rmax_r (only parsing).
(* end hide *)
(*******************************)
(** *        Rabsolu           *)
(*******************************)
(*********)
Definition Rabs r : R :=
match Rcase_abs r with
| left _ => - r
| right _ => r
end.
Definition RRle_abs := Rle_abs.

(* ||a|-|b||<=|a-b| *)
Lemma Rabs_triang_inv2 : forall a b:R, Rabs (Rabs a - Rabs b) <= Rabs (a - b).