aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Reals
diff options
context:
space:
mode:
authorGravatar Guillaume Melquiond <guillaume.melquiond@inria.fr>2013-12-03 13:40:51 +0100
committerGravatar Guillaume Melquiond <guillaume.melquiond@inria.fr>2013-12-03 13:40:51 +0100
commite0ff9328c51cec3bd65d4893af5da5c9f8ba2570 (patch)
tree56faa40ecf27fcd735c0315d450931bb96e73069 /theories/Reals
parenta0383d4ce6d69b086331310b32c7262223a659e5 (diff)
Remove a useless hypothesis from Rle_Rinv.
Diffstat (limited to 'theories/Reals')
-rw-r--r--theories/Reals/Exp_prop.v6
-rw-r--r--theories/Reals/RIneq.v24
-rw-r--r--theories/Reals/Ratan.v6
-rw-r--r--theories/Reals/RiemannInt.v6
4 files changed, 20 insertions, 22 deletions
diff --git a/theories/Reals/Exp_prop.v b/theories/Reals/Exp_prop.v
index b65ab045b..40064fd51 100644
--- a/theories/Reals/Exp_prop.v
+++ b/theories/Reals/Exp_prop.v
@@ -173,8 +173,7 @@ Proof.
apply pow_le; apply Rabs_pos.
rewrite (Rmult_comm (/ INR (fact (S n0)))); apply Rmult_le_compat_l.
apply pow_le; apply Rabs_pos.
- apply Rle_Rinv.
- apply INR_fact_lt_0.
+ apply Rinv_le_contravar.
apply INR_fact_lt_0.
apply le_INR; apply fact_le; apply le_n_S.
apply le_plus_l.
@@ -254,8 +253,7 @@ Proof.
do 2 rewrite <- (Rmult_comm (/ INR (fact (N - n0)))).
apply Rmult_le_compat_l.
left; apply Rinv_0_lt_compat; apply INR_fact_lt_0.
- apply Rle_Rinv.
- apply INR_fact_lt_0.
+ apply Rinv_le_contravar.
apply INR_fact_lt_0.
apply le_INR.
apply fact_le.
diff --git a/theories/Reals/RIneq.v b/theories/Reals/RIneq.v
index bfa975aab..3adea5a10 100644
--- a/theories/Reals/RIneq.v
+++ b/theories/Reals/RIneq.v
@@ -1935,18 +1935,22 @@ Proof.
apply (Rmult_le_compat_l x 0 y H H0).
Qed.
+Lemma Rinv_le_contravar :
+ forall x y, 0 < x -> x <= y -> / y <= / x.
+Proof.
+ intros x y H1 [H2|H2].
+ apply Rlt_le.
+ apply Rinv_lt_contravar with (2 := H2).
+ apply Rmult_lt_0_compat with (1 := H1).
+ now apply Rlt_trans with x.
+ rewrite H2.
+ apply Rle_refl.
+Qed.
+
Lemma Rle_Rinv : forall x y:R, 0 < x -> 0 < y -> x <= y -> / y <= / x.
Proof.
- intros; apply Rmult_le_reg_l with x.
- apply H.
- rewrite <- Rinv_r_sym.
- apply Rmult_le_reg_l with y.
- apply H0.
- rewrite Rmult_1_r; rewrite Rmult_comm; rewrite Rmult_assoc;
- rewrite <- Rinv_l_sym.
- rewrite Rmult_1_r; apply H1.
- red; intro; rewrite H2 in H0; elim (Rlt_irrefl _ H0).
- red; intro; rewrite H2 in H; elim (Rlt_irrefl _ H).
+ intros x y H _.
+ apply Rinv_le_contravar with (1 := H).
Qed.
Lemma double : forall r1, 2 * r1 = r1 + r1.
diff --git a/theories/Reals/Ratan.v b/theories/Reals/Ratan.v
index 1a0ea969e..b1eb17b21 100644
--- a/theories/Reals/Ratan.v
+++ b/theories/Reals/Ratan.v
@@ -810,13 +810,11 @@ intros x Hx eps Heps.
apply Rle_lt_trans with (/ INR (2 * N + 1))%R.
unfold Rdiv.
rewrite Rmult_1_l.
- apply Rle_Rinv.
+ apply Rinv_le_contravar.
apply lt_INR_0.
omega.
- replace 0 with (INR 0) by intuition.
- apply lt_INR.
+ apply le_INR.
omega.
- intuition.
rewrite <- (Rinv_involutive eps).
apply Rinv_lt_contravar.
apply Rmult_lt_0_compat.
diff --git a/theories/Reals/RiemannInt.v b/theories/Reals/RiemannInt.v
index 0a00ca223..3fe3694f9 100644
--- a/theories/Reals/RiemannInt.v
+++ b/theories/Reals/RiemannInt.v
@@ -388,11 +388,9 @@ Proof.
[ idtac
| left; change (0 < / (INR n + 1)); apply Rinv_0_lt_compat;
assumption ]; apply Rle_lt_trans with (/ (INR x + 1)).
- apply Rle_Rinv.
+ apply Rinv_le_contravar.
apply Rplus_le_lt_0_compat; [ apply pos_INR | apply Rlt_0_1 ].
- assumption.
- do 2 rewrite <- (Rplus_comm 1); apply Rplus_le_compat_l; apply le_INR;
- apply H4.
+ apply Rplus_le_compat_r; apply le_INR; apply H4.
rewrite <- (Rinv_involutive eps).
apply Rinv_lt_contravar.
apply Rmult_lt_0_compat.