aboutsummaryrefslogtreecommitdiff
path: root/src/Arithmetic/Saturated.v
diff options
context:
space:
mode:
authorGravatar jadep <jade.philipoom@gmail.com>2017-06-18 20:41:26 -0400
committerGravatar jadep <jade.philipoom@gmail.com>2017-06-18 20:41:41 -0400
commitdbc9a055ad887ad870b455cfa3c448a83601dc21 (patch)
treeb5d9af1d210285727ffa4fe9f94014da5347d193 /src/Arithmetic/Saturated.v
parentd2dd8128fb25d88cee5d64bb6493561a1f537088 (diff)
proved small_scmul
Diffstat (limited to 'src/Arithmetic/Saturated.v')
-rw-r--r--src/Arithmetic/Saturated.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Arithmetic/Saturated.v b/src/Arithmetic/Saturated.v
index 9c7670cb5..d0d21f6ce 100644
--- a/src/Arithmetic/Saturated.v
+++ b/src/Arithmetic/Saturated.v
@@ -975,6 +975,13 @@ Section API.
apply Z.mul_lt_mono_nonneg; omega.
Qed.
+ Lemma small_scmul n a v : small (@scmul n a v).
+ Proof.
+ cbv [scmul scmul_cps eval] in *. repeat autounfold.
+ autorewrite with uncps push_id push_basesystem_eval.
+ apply small_compact.
+ Qed.
+
(* TODO : move to tuple *)
Lemma from_list_tl {A n} (ls : list A) H H':
from_list n (List.tl ls) H = tl (from_list (S n) ls H').
@@ -990,6 +997,9 @@ Section API.
| _ => progress (intros; cbv [divmod_cps divmod eval]; repeat autounfold)
| _ => progress autorewrite with uncps push_id cancel_pair push_basesystem_eval
end.
+ rewrite (subst_append p) at 2.
+ rewrite B.Positional.eval_step.
+ rewrite uweight_0.
Admitted.
Lemma eval_mod n p : small p -> snd (@divmod n p) = eval p mod bound.