From 039290fb22ae8ba4889c0fcc3f517a9bc8cf0611 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Thu, 28 Jul 2016 12:59:33 -0700 Subject: Add Z.mod_mod to zsimplify After | File Name | Before || Change ---------------------------------------------------------------------------------- 1m46.76s | Total | 1m47.10s || -0m00.33s ---------------------------------------------------------------------------------- 0m05.21s | ModularArithmetic/Tutorial | 0m03.82s || +0m01.39s 0m04.09s | ModularArithmetic/Pow2BaseProofs | 0m05.39s || -0m01.29s 0m33.15s | Specific/GF25519 | 0m33.13s || +0m00.01s 0m15.42s | ModularArithmetic/ModularBaseSystemProofs | 0m15.68s || -0m00.25s 0m12.24s | Experiments/SpecEd25519 | 0m11.94s || +0m00.30s 0m07.30s | Specific/GF1305 | 0m07.36s || -0m00.06s 0m03.96s | BaseSystemProofs | 0m03.93s || +0m00.02s 0m03.26s | ModularArithmetic/ModularBaseSystemOpt | 0m03.26s || +0m00.00s 0m02.38s | Util/ZUtil | 0m02.47s || -0m00.09s 0m01.64s | Encoding/PointEncodingPre | 0m01.55s || +0m00.08s 0m01.58s | ModularArithmetic/PrimeFieldTheorems | 0m01.64s || -0m00.05s 0m01.55s | ModularArithmetic/ModularArithmeticTheorems | 0m01.59s || -0m00.04s 0m01.19s | BaseSystem | 0m01.18s || +0m00.01s 0m01.18s | Experiments/DerivationsOptionRectLetInEncoding | 0m01.43s || -0m00.25s 0m01.14s | ModularArithmetic/ExtendedBaseVector | 0m01.18s || -0m00.04s 0m00.95s | ModularArithmetic/BarrettReduction/Z | 0m01.08s || -0m00.13s 0m00.93s | ModularArithmetic/ModularBaseSystemField | 0m01.10s || -0m00.17s 0m00.89s | ModularArithmetic/ExtPow2BaseMulProofs | 0m00.64s || +0m00.25s 0m00.87s | Util/NumTheoryUtil | 0m00.91s || -0m00.04s 0m00.85s | Encoding/ModularWordEncodingTheorems | 0m00.69s || +0m00.16s 0m00.82s | ModularArithmetic/ModularBaseSystemListProofs | 0m00.85s || -0m00.03s 0m00.72s | Experiments/SpecificCurve25519 | 0m00.72s || +0m00.00s 0m00.66s | Testbit | 0m00.66s || +0m00.00s 0m00.61s | ModularArithmetic/PseudoMersenneBaseParams | 0m00.59s || +0m00.02s 0m00.61s | ModularArithmetic/ModularBaseSystem | 0m00.69s || -0m00.07s 0m00.60s | ModularArithmetic/ModularBaseSystemList | 0m00.60s || +0m00.00s 0m00.59s | Spec/ModularWordEncoding | 0m00.59s || +0m00.00s 0m00.59s | Encoding/ModularWordEncodingPre | 0m00.62s || -0m00.03s 0m00.58s | ModularArithmetic/PseudoMersenneBaseParamProofs | 0m00.58s || +0m00.00s 0m00.46s | ModularArithmetic/Pre | 0m00.47s || -0m00.00s 0m00.40s | ModularArithmetic/Pow2Base | 0m00.42s || -0m00.01s 0m00.35s | Spec/ModularArithmetic | 0m00.35s || +0m00.00s --- src/Util/ZUtil.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/Util/ZUtil.v b/src/Util/ZUtil.v index ab844e9ad..899d1711e 100644 --- a/src/Util/ZUtil.v +++ b/src/Util/ZUtil.v @@ -23,7 +23,7 @@ Hint Resolve (fun a b H => proj1 (Z.mod_pos_bound a b H)) (fun a b H => proj2 (Z this database. *) Create HintDb zsimplify discriminated. Hint Rewrite Z.div_1_r Z.mul_1_r Z.mul_1_l Z.sub_diag Z.mul_0_r Z.mul_0_l Z.add_0_l Z.add_0_r Z.opp_involutive Z.sub_0_r Z_mod_same_full Z.sub_simpl_r Z.sub_simpl_l : zsimplify. -Hint Rewrite Z.div_mul Z.div_1_l Z.div_same Z.mod_same Z.div_small Z.mod_small Z.div_add Z.div_add_l Z.mod_add Z.div_0_l using lia : zsimplify. +Hint Rewrite Z.div_mul Z.div_1_l Z.div_same Z.mod_same Z.div_small Z.mod_small Z.div_add Z.div_add_l Z.mod_add Z.div_0_l Z.mod_mod using lia : zsimplify. (** "push" means transform [-f x] to [f (-x)]; "pull" means go the other way *) Create HintDb push_Zopp discriminated. -- cgit v1.2.3