aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-07-21 11:44:29 -0700
committerGravatar Jason Gross <jagro@google.com>2016-07-21 11:44:29 -0700
commitbcd99195575ca1c45d49c21a46b9caaecd9bbc10 (patch)
treeee522cf95e764c41548a7096032a53333f1df04e /src
parent3f5cde96b69075c019a502d43a35c11021735b89 (diff)
Add more ZUtil lemmas
We really want rewrite mod AC here...
Diffstat (limited to 'src')
-rw-r--r--src/Util/ZUtil.v14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Util/ZUtil.v b/src/Util/ZUtil.v
index 9bd134f10..a1d53f02b 100644
--- a/src/Util/ZUtil.v
+++ b/src/Util/ZUtil.v
@@ -647,6 +647,20 @@ Module Z.
rewrite div_mul_diff_exact by assumption; lia.
Qed.
+ Lemma div_mul_diff_exact'' a b c
+ (Ha : 0 <= a) (Hb : 0 < b) (Hc : 0 <= c)
+ : a * c / b = (a / b) * c + (c * (a mod b)) / b.
+ Proof.
+ rewrite (Z.mul_comm a c), div_mul_diff_exact by lia; lia.
+ Qed.
+
+ Lemma div_mul_diff_exact''' a b c
+ (Ha : 0 <= a) (Hb : 0 < b) (Hc : 0 <= c)
+ : (a / b) * c = a * c / b - (c * (a mod b)) / b.
+ Proof.
+ rewrite (Z.mul_comm a c), div_mul_diff_exact by lia; lia.
+ Qed.
+
Lemma div_mul_diff a b c
(Ha : 0 <= a) (Hb : 0 < b) (Hc : 0 <= c)
: c * a / b - c * (a / b) <= c.