From b5f40f48560912560fba3d53472c10821747f35e Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Wed, 3 Aug 2016 10:13:30 -0700 Subject: More zsimplify hints After | File Name | Before || Change ---------------------------------------------------------------------------------- 1m42.13s | Total | 1m42.60s || -0m00.46s ---------------------------------------------------------------------------------- 0m32.53s | Specific/GF25519 | 0m32.31s || +0m00.21s 0m15.14s | ModularArithmetic/ModularBaseSystemProofs | 0m15.17s || -0m00.02s 0m11.31s | Experiments/SpecEd25519 | 0m11.34s || -0m00.02s 0m07.31s | Specific/GF1305 | 0m07.07s || +0m00.23s 0m04.04s | ModularArithmetic/Pow2BaseProofs | 0m04.03s || +0m00.00s 0m03.71s | ModularArithmetic/Tutorial | 0m03.99s || -0m00.28s 0m03.71s | BaseSystemProofs | 0m03.92s || -0m00.20s 0m03.17s | ModularArithmetic/ModularBaseSystemOpt | 0m03.18s || -0m00.01s 0m02.69s | Util/ZUtil | 0m02.69s || +0m00.00s 0m01.57s | ModularArithmetic/PrimeFieldTheorems | 0m01.58s || -0m00.01s 0m01.57s | ModularArithmetic/ModularArithmeticTheorems | 0m01.57s || +0m00.00s 0m01.50s | Encoding/PointEncodingPre | 0m01.46s || +0m00.04s 0m01.21s | BaseSystem | 0m01.20s || +0m00.01s 0m01.09s | ModularArithmetic/ExtendedBaseVector | 0m01.16s || -0m00.06s 0m00.98s | ModularArithmetic/BarrettReduction/Z | 0m00.96s || +0m00.02s 0m00.94s | Experiments/DerivationsOptionRectLetInEncoding | 0m00.93s || +0m00.00s 0m00.89s | ModularArithmetic/ModularBaseSystemField | 0m00.83s || +0m00.06s 0m00.84s | Util/NumTheoryUtil | 0m00.86s || -0m00.02s 0m00.80s | ModularArithmetic/ModularBaseSystemListProofs | 0m00.81s || -0m00.01s 0m00.70s | Experiments/SpecificCurve25519 | 0m00.67s || +0m00.02s 0m00.65s | Encoding/ModularWordEncodingTheorems | 0m00.69s || -0m00.03s 0m00.63s | Testbit | 0m00.64s || -0m00.01s 0m00.62s | ModularArithmetic/ExtPow2BaseMulProofs | 0m00.62s || +0m00.00s 0m00.61s | ModularArithmetic/ModularBaseSystemList | 0m00.63s || -0m00.02s 0m00.61s | Encoding/ModularWordEncodingPre | 0m00.93s || -0m00.32s 0m00.59s | Spec/ModularWordEncoding | 0m00.60s || -0m00.01s 0m00.56s | ModularArithmetic/ModularBaseSystem | 0m00.62s || -0m00.05s 0m00.56s | ModularArithmetic/PseudoMersenneBaseParamProofs | 0m00.56s || +0m00.00s 0m00.46s | ModularArithmetic/Pre | 0m00.47s || -0m00.00s 0m00.39s | ModularArithmetic/Pow2Base | 0m00.39s || +0m00.00s 0m00.38s | ModularArithmetic/PseudoMersenneBaseParams | 0m00.39s || -0m00.01s 0m00.37s | Spec/ModularArithmetic | 0m00.33s || +0m00.03s --- 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 773a4818d..0b1d097bb 100644 --- a/src/Util/ZUtil.v +++ b/src/Util/ZUtil.v @@ -24,7 +24,7 @@ Hint Resolve (fun a b H => proj1 (Z.mod_pos_bound a b H)) (fun a b H => proj2 (Z which can reasonably be said to "simplify" the goal, should go in 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 Z.add_opp_diag_r Z.add_opp_diag_l Zmod_0_l : zsimplify. +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 Z.add_opp_diag_r Z.add_opp_diag_l Zmod_0_l Z.add_simpl_r Z.add_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 Z.mod_mod using lia : zsimplify. Hint Rewrite <- Z.opp_eq_mul_m1 : zsimplify. -- cgit v1.2.3