aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-08-03 11:44:49 -0700
committerGravatar Jason Gross <jagro@google.com>2016-08-03 11:49:05 -0700
commit3be6487da188a503153ea89effd00bafdec33677 (patch)
tree988a8dba2341394390f4100ddbb9bdd06623338d /src
parent52b35cc186644635a918d4e8de2718e5780d0e40 (diff)
Weaken some ZUtil assumptions
After | File Name | Before || Change ---------------------------------------------------------------------------------- 1m43.15s | Total | 1m49.24s || -0m06.09s ---------------------------------------------------------------------------------- 0m32.76s | Specific/GF25519 | 0m34.60s || -0m01.84s 0m07.22s | Specific/GF1305 | 0m08.79s || -0m01.56s 0m15.12s | ModularArithmetic/ModularBaseSystemProofs | 0m15.25s || -0m00.13s 0m11.41s | Experiments/SpecEd25519 | 0m11.34s || +0m00.07s 0m04.07s | ModularArithmetic/Pow2BaseProofs | 0m04.14s || -0m00.06s 0m03.71s | ModularArithmetic/Tutorial | 0m04.10s || -0m00.38s 0m03.71s | BaseSystemProofs | 0m04.09s || -0m00.37s 0m03.19s | ModularArithmetic/ModularBaseSystemOpt | 0m03.18s || +0m00.00s 0m02.90s | Util/ZUtil | 0m03.11s || -0m00.20s 0m01.57s | ModularArithmetic/ModularArithmeticTheorems | 0m01.66s || -0m00.08s 0m01.55s | ModularArithmetic/PrimeFieldTheorems | 0m01.71s || -0m00.15s 0m01.52s | Encoding/PointEncodingPre | 0m01.49s || +0m00.03s 0m01.17s | BaseSystem | 0m01.69s || -0m00.52s 0m01.08s | ModularArithmetic/ExtendedBaseVector | 0m01.06s || +0m00.02s 0m00.98s | ModularArithmetic/BarrettReduction/Z | 0m01.55s || -0m00.57s 0m00.97s | Experiments/DerivationsOptionRectLetInEncoding | 0m00.94s || +0m00.03s 0m00.93s | ModularArithmetic/ExtPow2BaseMulProofs | 0m00.62s || +0m00.31s 0m00.90s | Util/NumTheoryUtil | 0m00.89s || +0m00.01s 0m00.88s | ModularArithmetic/ModularBaseSystemList | 0m00.64s || +0m00.24s 0m00.88s | ModularArithmetic/ModularBaseSystemField | 0m00.85s || +0m00.03s 0m00.82s | ModularArithmetic/ModularBaseSystemListProofs | 0m00.84s || -0m00.02s 0m00.71s | Experiments/SpecificCurve25519 | 0m00.71s || +0m00.00s 0m00.64s | Encoding/ModularWordEncodingTheorems | 0m00.68s || -0m00.04s 0m00.63s | Encoding/ModularWordEncodingPre | 0m00.96s || -0m00.32s 0m00.61s | Testbit | 0m00.65s || -0m00.04s 0m00.57s | Spec/ModularWordEncoding | 0m00.62s || -0m00.05s 0m00.56s | ModularArithmetic/PseudoMersenneBaseParamProofs | 0m00.58s || -0m00.01s 0m00.53s | ModularArithmetic/ModularBaseSystem | 0m00.58s || -0m00.04s 0m00.43s | ModularArithmetic/Pre | 0m00.50s || -0m00.07s 0m00.40s | ModularArithmetic/Pow2Base | 0m00.64s || -0m00.24s 0m00.39s | ModularArithmetic/PseudoMersenneBaseParams | 0m00.42s || -0m00.02s 0m00.35s | Spec/ModularArithmetic | 0m00.37s || -0m00.02s
Diffstat (limited to 'src')
-rw-r--r--src/Util/ZUtil.v4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Util/ZUtil.v b/src/Util/ZUtil.v
index 5005cc32f..aa55f373c 100644
--- a/src/Util/ZUtil.v
+++ b/src/Util/ZUtil.v
@@ -1051,7 +1051,7 @@ Module Z.
Hint Rewrite Z.div_mul_skip Z.div_mul_skip' using lia : zsimplify.
- Lemma div_mul_skip_pow base e0 e1 x y : 0 < x -> 0 < y -> 0 < base -> 0 <= e1 <= e0 -> x * base^e0 / y / base^e1 = x * base^(e0 - e1) / y.
+ Lemma div_mul_skip_pow base e0 e1 x y : 0 < y -> 0 < base -> 0 <= e1 <= e0 -> x * base^e0 / y / base^e1 = x * base^(e0 - e1) / y.
Proof.
intros.
assert (0 < base^e1) by auto with zarith.
@@ -1061,7 +1061,7 @@ Module Z.
Qed.
Hint Rewrite div_mul_skip_pow using lia : zsimplify.
- Lemma div_mul_skip_pow' base e0 e1 x y : 0 < x -> 0 < y -> 0 < base -> 0 <= e1 <= e0 -> base^e0 * x / y / base^e1 = base^(e0 - e1) * x / y.
+ Lemma div_mul_skip_pow' base e0 e1 x y : 0 < y -> 0 < base -> 0 <= e1 <= e0 -> base^e0 * x / y / base^e1 = base^(e0 - e1) * x / y.
Proof.
intros.
rewrite (Z.mul_comm (base^e0) x), div_mul_skip_pow by lia.