diff options
author | jadep <jade.philipoom@gmail.com> | 2016-10-12 20:13:44 -0400 |
---|---|---|
committer | jadep <jade.philipoom@gmail.com> | 2016-10-12 20:43:53 -0400 |
commit | 2d6a328ea70a882d25c72d2624cb39a598543e75 (patch) | |
tree | 3039d0396a9e012c5235b9f32dabd7b13e3f5fd2 /src/Specific/GF25519.v | |
parent | 72a7997f1142cf81ed95043f34cd640e163af6f5 (diff) |
Clean up ge_modulus definition in Specific
Diffstat (limited to 'src/Specific/GF25519.v')
-rw-r--r-- | src/Specific/GF25519.v | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/Specific/GF25519.v b/src/Specific/GF25519.v index 8f9e1bc59..d5dc43a7a 100644 --- a/src/Specific/GF25519.v +++ b/src/Specific/GF25519.v @@ -372,12 +372,19 @@ Proof. reflexivity. Defined. -Definition ge_modulus (f : fe25519) : bool - := Eval cbv beta iota delta [proj1_sig ge_modulus_sig] in proj1_sig (ge_modulus_sig f). +Definition ge_modulus (f : fe25519) : bool := + Eval cbv beta iota delta [proj1_sig ge_modulus_sig] in + let '(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9) := f in + proj1_sig (ge_modulus_sig (f0, f1, f2, f3, f4, f5, f6, f7, f8, f9)). Definition ge_modulus_correct (f : fe25519) : - ge_modulus f = ge_modulus_opt (to_list 10 f) - := Eval cbv beta iota delta [proj2_sig ge_modulus_sig] in proj2_sig (ge_modulus_sig f). + ge_modulus f = ge_modulus_opt (to_list 10 f). +Proof. + pose proof (proj2_sig (ge_modulus_sig f)). + cbv [fe25519] in *. + repeat match goal with p : (_ * Z)%type |- _ => destruct p end. + assumption. +Defined. Definition freeze_sig (f : fe25519) : { f' : fe25519 | f' = from_list_default 0 10 (freeze_opt c_ (to_list 10 f)) }. |