(** Definition and properties of minimum and maximum.

    WARNING: this file is experimental and likely to change in future releases.
 *)


(* Minimum *)

Definition CRmin {R : ConstructiveReals} (x y : CRcarrier R) : CRcarrier R
  := (x + y - CRabs _ (y - x)) * CR_of_Q _ (1#2).

(* Specifications: *)
Lemma CRmin_lt_r : forall {R : ConstructiveReals} (x y : CRcarrier R), CRmin x y < y -> CRmin x y == x.