aboutsummaryrefslogtreecommitdiff
path: root/src/Util/ZUtil.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2016-10-04 22:25:35 -0400
committerGravatar Jason Gross <jgross@mit.edu>2016-10-04 22:25:35 -0400
commit3a96e3c732c38827d7db5bda26edf974f855f910 (patch)
treedc358e58f605439c3c090d303659c5f448aada83 /src/Util/ZUtil.v
parent1f66420a233042b0c8721ab4514ed36690cb6557 (diff)
Weaken hyps of zutil lemma
Diffstat (limited to 'src/Util/ZUtil.v')
-rw-r--r--src/Util/ZUtil.v11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/Util/ZUtil.v b/src/Util/ZUtil.v
index 3a640e866..7fdb45d6e 100644
--- a/src/Util/ZUtil.v
+++ b/src/Util/ZUtil.v
@@ -1807,15 +1807,12 @@ Module Z.
Qed.
Lemma add_shift_mod x y n m
- (Hx : 0 <= x < 2^n) (Hy : 0 <= y < m)
- (Hn : 0 <= n)
+ (Hx : 0 <= x < 2^n) (Hy : 0 <= y)
+ (Hn : 0 <= n) (Hm : 0 < m)
: (x + y << n) mod (m * 2^n) = x + (y mod m) << n.
Proof.
pose proof (Z.mod_bound_pos y m).
specialize_by omega.
- destruct (Z_zerop m).
- { subst; autorewrite with zsimplify; reflexivity. }
- assert (0 < m) by omega.
assert (0 < 2^n) by auto with zarith.
autorewrite with Zshift_to_pow.
rewrite Zplus_mod, !Zmult_mod_distr_r.
@@ -1830,8 +1827,8 @@ Module Z.
Qed.
Lemma add_mul_mod x y n m
- (Hx : 0 <= x < 2^n) (Hy : 0 <= y < m)
- (Hn : 0 <= n)
+ (Hx : 0 <= x < 2^n) (Hy : 0 <= y)
+ (Hn : 0 <= n) (Hm : 0 < m)
: (x + y * 2^n) mod (m * 2^n) = x + (y mod m) * 2^n.
Proof.
generalize (add_shift_mod x y n m).