aboutsummaryrefslogtreecommitdiff
path: root/src/Util
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-08-17 17:19:29 -0700
committerGravatar Jason Gross <jagro@google.com>2016-08-17 17:26:46 -0700
commit3c77920de2037524042b41b0aba33000d8513f8e (patch)
tree076446718837abd804b37b4e26defc6b76146429 /src/Util
parent3c5ce49d331bbc63743bbf962edd28fd79d8021a (diff)
Add a ZUtil hint
After | File Name | Before || Change ---------------------------------------------------------------------------------- 3m12.69s | Total | 3m16.43s || -0m03.74s ---------------------------------------------------------------------------------- 0m11.44s | Util/ZUtil | 0m17.68s || -0m06.24s 0m38.50s | Specific/GF25519 | 0m33.01s || +0m05.49s 0m26.17s | ModularArithmetic/Pow2BaseProofs | 0m27.37s || -0m01.19s 0m12.70s | ModularArithmetic/Montgomery/ZProofs | 0m10.86s || +0m01.83s 0m08.87s | Specific/GF1305 | 0m07.04s || +0m01.82s 0m04.01s | ModularArithmetic/Tutorial | 0m05.33s || -0m01.32s 0m18.62s | ModularArithmetic/ModularBaseSystemProofs | 0m18.56s || +0m00.06s 0m14.58s | Experiments/SpecEd25519 | 0m15.11s || -0m00.52s 0m09.83s | Testbit | 0m10.73s || -0m00.90s 0m05.35s | BaseSystemProofs | 0m05.65s || -0m00.30s 0m04.55s | ModularArithmetic/BarrettReduction/ZHandbook | 0m05.22s || -0m00.67s 0m04.11s | Experiments/SpecificCurve25519 | 0m03.39s || +0m00.72s 0m03.98s | ModularArithmetic/BarrettReduction/ZGeneralized | 0m03.87s || +0m00.10s 0m03.41s | ModularArithmetic/ModularArithmeticTheorems | 0m04.06s || -0m00.64s 0m02.68s | ModularArithmetic/ModularBaseSystemOpt | 0m02.37s || +0m00.31s 0m02.50s | ModularArithmetic/BarrettReduction/ZBounded | 0m03.34s || -0m00.83s 0m02.25s | Encoding/PointEncodingPre | 0m01.85s || +0m00.39s 0m01.76s | ModularArithmetic/BarrettReduction/Z | 0m02.00s || -0m00.24s 0m01.72s | ModularArithmetic/ExtendedBaseVector | 0m01.35s || +0m00.36s 0m01.28s | BaseSystem | 0m01.43s || -0m00.14s 0m01.25s | ModularArithmetic/ModularBaseSystemField | 0m00.90s || +0m00.35s 0m01.22s | Experiments/DerivationsOptionRectLetInEncoding | 0m01.21s || +0m00.01s 0m01.10s | ModularArithmetic/PrimeFieldTheorems | 0m01.54s || -0m00.43s 0m00.93s | ModularArithmetic/Montgomery/ZBounded | 0m01.28s || -0m00.35s 0m00.93s | Util/NumTheoryUtil | 0m01.20s || -0m00.26s 0m00.92s | ModularArithmetic/ModularBaseSystemListProofs | 0m01.29s || -0m00.37s 0m00.78s | ModularArithmetic/ModularBaseSystem | 0m00.76s || +0m00.02s 0m00.77s | ModularArithmetic/ModularBaseSystemList | 0m00.94s || -0m00.16s 0m00.76s | Encoding/ModularWordEncodingTheorems | 0m00.82s || -0m00.05s 0m00.70s | Spec/ModularWordEncoding | 0m00.69s || +0m00.01s 0m00.69s | ModularArithmetic/Pre | 0m00.59s || +0m00.09s 0m00.68s | Encoding/ModularWordEncodingPre | 0m00.93s || -0m00.25s 0m00.65s | ModularArithmetic/PseudoMersenneBaseParamProofs | 0m00.66s || -0m00.01s 0m00.64s | ModularArithmetic/ExtPow2BaseMulProofs | 0m00.71s || -0m00.06s 0m00.60s | ModularArithmetic/Pow2Base | 0m00.62s || -0m00.02s 0m00.53s | Spec/ModularArithmetic | 0m00.46s || +0m00.07s 0m00.46s | ModularArithmetic/ZBounded | 0m00.62s || -0m00.15s 0m00.39s | ModularArithmetic/PseudoMersenneBaseParams | 0m00.55s || -0m00.16s 0m00.38s | ModularArithmetic/Montgomery/Z | 0m00.44s || -0m00.06s
Diffstat (limited to 'src/Util')
-rw-r--r--src/Util/ZUtil.v2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Util/ZUtil.v b/src/Util/ZUtil.v
index 22f9adcd9..ba57c52fb 100644
--- a/src/Util/ZUtil.v
+++ b/src/Util/ZUtil.v
@@ -20,7 +20,7 @@ Hint Extern 1 => lra : lra.
Hint Extern 1 => nia : nia.
Hint Extern 1 => omega : omega.
Hint Resolve Z.log2_nonneg Z.div_small Z.mod_small Z.pow_neg_r Z.pow_0_l Z.pow_pos_nonneg Z.lt_le_incl Z.pow_nonzero Z.div_le_upper_bound Z_div_exact_full_2 Z.div_same Z.div_lt_upper_bound Z.div_le_lower_bound Zplus_minus Zplus_gt_compat_l Zplus_gt_compat_r Zmult_gt_compat_l Zmult_gt_compat_r : zarith.
-Hint Resolve (fun a b H => proj1 (Z.mod_pos_bound a b H)) (fun a b H => proj2 (Z.mod_pos_bound a b H)) : zarith.
+Hint Resolve (fun a b H => proj1 (Z.mod_pos_bound a b H)) (fun a b H => proj2 (Z.mod_pos_bound a b H)) (fun a b pf => proj1 (Z.pow_gt_1 a b pf)) : zarith.
Ltac zutil_arith := solve [ omega | lia ].