diff options
author | Jason Gross <jagro@google.com> | 2016-07-21 11:44:29 -0700 |
---|---|---|
committer | Jason Gross <jagro@google.com> | 2016-07-21 11:44:29 -0700 |
commit | bcd99195575ca1c45d49c21a46b9caaecd9bbc10 (patch) | |
tree | ee522cf95e764c41548a7096032a53333f1df04e /src | |
parent | 3f5cde96b69075c019a502d43a35c11021735b89 (diff) |
Add more ZUtil lemmas
We really want rewrite mod AC here...
Diffstat (limited to 'src')
-rw-r--r-- | src/Util/ZUtil.v | 14 |
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. |