From a0a94c1340a63cdb824507b973393882666ba52a Mon Sep 17 00:00:00 2001 From: Stephane Glondu Date: Thu, 19 Feb 2009 13:13:14 +0100 Subject: Imported Upstream version 8.2-1+dfsg --- theories/Numbers/Cyclic/Int31/Cyclic31.v | 9 +++++++-- theories/Reals/RIneq.v | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'theories') diff --git a/theories/Numbers/Cyclic/Int31/Cyclic31.v b/theories/Numbers/Cyclic/Int31/Cyclic31.v index 4d655eac..6da1c6ec 100644 --- a/theories/Numbers/Cyclic/Int31/Cyclic31.v +++ b/theories/Numbers/Cyclic/Int31/Cyclic31.v @@ -6,7 +6,7 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(*i $Id: Cyclic31.v 11034 2008-06-02 08:15:34Z thery $ i*) +(*i $Id: Cyclic31.v 11907 2009-02-10 23:54:28Z letouzey $ i*) (** * Int31 numbers defines indeed a cyclic structure : Z/(2^31)Z *) @@ -1637,7 +1637,12 @@ Section Int31_Spec. apply Zplus_eq_compat. ring. assert ((2*[|y|]) mod wB = 2*[|y|] - wB). - admit. + clear - H. symmetry. apply Zmod_unique with 1; [ | ring ]. + generalize (phi_lowerbound _ H) (phi_bounded y). + set (wB' := 2^Z_of_nat (pred size)). + replace wB with (2*wB'); [ omega | ]. + unfold wB'. rewrite <- Zpower_Zsucc, <- inj_S by (auto with zarith). + f_equal. rewrite H1. replace wB with (2^(Z_of_nat n)*2^(31-Z_of_nat n)) by (rewrite <- Zpower_exp; auto with zarith; f_equal; unfold size; ring). diff --git a/theories/Reals/RIneq.v b/theories/Reals/RIneq.v index 19bdeccd..c07b86a6 100644 --- a/theories/Reals/RIneq.v +++ b/theories/Reals/RIneq.v @@ -6,7 +6,7 @@ (* * GNU Lesser General Public License Version 2.1 *) (************************************************************************) -(*i $Id: RIneq.v 10762 2008-04-06 16:57:31Z herbelin $ i*) +(*i $Id: RIneq.v 11887 2009-02-06 19:57:33Z herbelin $ i*) (*********************************************************) (** * Basic lemmas for the classical real numbers *) @@ -1200,7 +1200,7 @@ Hint Resolve Rmult_le_compat: real. Lemma Rmult_ge_compat : forall r1 r2 r3 r4, - 0 <= r1 -> 0 <= r3 -> r1 <= r2 -> r3 <= r4 -> r1 * r3 <= r2 * r4. + r2 >= 0 -> r4 >= 0 -> r1 >= r2 -> r3 >= r4 -> r1 * r3 >= r2 * r4. Proof. auto with real rorders. Qed. Lemma Rmult_gt_0_lt_compat : -- cgit v1.2.3