diff options
author | Jason Gross <jgross@mit.edu> | 2018-11-01 17:25:47 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2018-11-01 17:25:47 -0400 |
commit | f02258707a08518df4ad9df0b100aea684f4df31 (patch) | |
tree | 644bc722620910e9af0fa71b7dc3ca105d17898b /src/Util | |
parent | dccf77649072d659541f2cacd6d3f8a0e8fb23dc (diff) |
Add some zrange lemmas
Diffstat (limited to 'src/Util')
-rw-r--r-- | src/Util/ZRange/BasicLemmas.v | 20 |
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. |