diff options
author | Jason Gross <jgross@mit.edu> | 2017-06-17 16:20:14 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-06-17 16:20:14 -0400 |
commit | 599922047d89a89afe6fca798cb52d5f6adc7615 (patch) | |
tree | 8bd7e09c0d2d881e68c82958e8ddb8edbec12971 /src/Compilers/Z | |
parent | 16382f1e356cadfd8d50252ae397306d9f246ba9 (diff) |
Unfold Z.mul_split_at_bitwidth for reification
Also reimplement it with a shift and a mask
Diffstat (limited to 'src/Compilers/Z')
-rw-r--r-- | src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v b/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v index 3c3ac61b2..72bbfb03a 100644 --- a/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v +++ b/src/Compilers/Z/Bounds/InterpretationLemmas/IsBoundedBy.v @@ -9,6 +9,7 @@ Require Import Crypto.Compilers.Z.Bounds.InterpretationLemmas.Tactics. Require Import Crypto.Compilers.SmartMap. Require Import Crypto.Util.ZUtil. Require Import Crypto.Util.ZUtil.Stabilization. +Require Import Crypto.Util.ZUtil.MulSplit. Require Import Crypto.Util.PointedProp. Require Import Crypto.Util.Bool. Require Import Crypto.Util.FixedWordSizesEquality. @@ -348,8 +349,10 @@ Proof. [ apply is_bounded_by_truncation_bounds.. | split; ibbio_do_cbv; [ eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v mod _)) (v:=ZToInterp _); + [ .. | cbn -[Z.mul_split_at_bitwidth]; rewrite Z.mul_split_at_bitwidth_mod ]; ibbio_prefin_by_apply | eapply is_bounded_by_compose with (T1:=TZ) (f_v := fun v => ZToInterp (v / _)) (v:=ZToInterp _); + [ .. | cbn -[Z.mul_split_at_bitwidth]; rewrite Z.mul_split_at_bitwidth_div ]; ibbio_prefin_by_apply ] | apply is_bounded_by_truncation_bounds | split; ibbio_do_cbv; |