(************************************************************************)
(* 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.
Hint Resolve not_O_S_INR pos_S_INR pos_INR.

Lemma pow_even_nonneg:forall (y: R) (n : nat), 0 <= pow y (2*n)%nat.