aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-02-10 23:53:02 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2009-02-10 23:53:02 +0000
commit6afa8653207732d3cd0e9d5a2d77665369036bf0 (patch)
treead2070da739d7ce3175f7edd880291c65ee2271a /theories
parent65d027ba5ffcec61e66b1a047b135bea2f281c44 (diff)
Cyclic31: proof of a forgotten admit
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11906 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories')
-rw-r--r--theories/Numbers/Cyclic/Int31/Cyclic31.v7
1 files changed, 6 insertions, 1 deletions
diff --git a/theories/Numbers/Cyclic/Int31/Cyclic31.v b/theories/Numbers/Cyclic/Int31/Cyclic31.v
index c6ad14740..3835c6cde 100644
--- a/theories/Numbers/Cyclic/Int31/Cyclic31.v
+++ b/theories/Numbers/Cyclic/Int31/Cyclic31.v
@@ -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).