aboutsummaryrefslogtreecommitdiff
path: root/src/Util
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-11-01 17:25:47 -0400
committerGravatar Jason Gross <jgross@mit.edu>2018-11-01 17:25:47 -0400
commitf02258707a08518df4ad9df0b100aea684f4df31 (patch)
tree644bc722620910e9af0fa71b7dc3ca105d17898b /src/Util
parentdccf77649072d659541f2cacd6d3f8a0e8fb23dc (diff)
Add some zrange lemmas
Diffstat (limited to 'src/Util')
-rw-r--r--src/Util/ZRange/BasicLemmas.v20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Util/ZRange/BasicLemmas.v b/src/Util/ZRange/BasicLemmas.v
index 673a8ac8b..5f434c771 100644
--- a/src/Util/ZRange/BasicLemmas.v
+++ b/src/Util/ZRange/BasicLemmas.v
@@ -157,4 +157,24 @@ Module ZRange.
try reflexivity;
try lia.
Qed.
+
+ Lemma normalize_opp r : normalize (-r) = -(normalize r).
+ Proof.
+ cbv [normalize ZRange.opp]; cbn [lower upper].
+ rewrite <- !Z.opp_min_distr, <- !Z.opp_max_distr.
+ reflexivity.
+ Qed.
+
+ Lemma opp_involutive r : - - r = r.
+ Proof.
+ cbv [opp upper lower]; destruct r; rewrite !Z.opp_involutive; reflexivity.
+ Qed.
+
+ Lemma is_bounded_by_bool_move_opp_normalize r v
+ : is_bounded_by_bool v (ZRange.normalize (-r))
+ = is_bounded_by_bool (-v) (ZRange.normalize r).
+ Proof.
+ rewrite <- is_bounded_by_bool_opp at 1.
+ rewrite normalize_opp, opp_involutive; reflexivity.
+ Qed.
End ZRange.