(************************************************************************)
(* Copyright 2006 Milad Niqui                                           *)
(* This file is distributed under the terms of the                      *)
(* GNU Lesser General Public License Version 2.1                        *)
(* A copy of the license can be found at                                *)
(*                  <http://www.gnu.org/licenses/lgpl-2.1.html>         *)
(************************************************************************)
(* This file contains various properties of R that are not in the standard library. *)
Definition Rinv_pos:= Rinv_0_lt_compat.
Definition Rle_mult_nonneg_nonneg:=Rmult_le_pos.
Definition Rlt_mult_pos_pos:=Rmult_lt_0_compat.
Definition Rmult_resp_nonzero:=RIneq.prod_neq_R0.
Definition Rinv_resp_nonzero:=Rinv_neq_0_compat.
Definition Ropp_resp_nonzero:=RIneq.Ropp_neq_0_compat.
Hint Resolve Rlt_Ropp_pos Rinv_pos R1_neq_R0 Rle_mult_nonneg_nonneg
Rlt_mult_pos_pos Rlt_mult_neg_neg Rlt_not_eq' Rlt_not_eq
Rmult_resp_nonzero Rinv_resp_nonzero Ropp_resp_nonzero.
intros x y Hy; field; trivial.
Qed.
Definition Rmult_reg_l := RIneq.Rmult_eq_reg_l.

Lemma Rdiv_Rmult_numerator_denominator: forall x y z t: R, t <> 0%R -> y <> 0%R -> ((x/y)*(z/t))%R=((x*z)/(y*t))%R.