aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/X25519/C32/feadd.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-10-21 23:43:59 -0400
committerGravatar Jason Gross <jasongross9@gmail.com>2017-10-22 00:20:52 -0400
commit102904674d12d1791f55a55cb66a334e5c21715a (patch)
treefec67713e46239561cd6386b15508c393ef5aa33 /src/Specific/X25519/C32/feadd.v
parent6c779ae1c2a2f4c798606ce3f7718768387f47a6 (diff)
Add tight and loose bounds, no carry in add, sub
Following Andres' suggestions to allow making ladderstep from other synthesis things. It went though mostly without a hitch, though there were a number of boilerplate changes needed.
Diffstat (limited to 'src/Specific/X25519/C32/feadd.v')
-rw-r--r--src/Specific/X25519/C32/feadd.v14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Specific/X25519/C32/feadd.v b/src/Specific/X25519/C32/feadd.v
new file mode 100644
index 000000000..f74cf9cef
--- /dev/null
+++ b/src/Specific/X25519/C32/feadd.v
@@ -0,0 +1,14 @@
+Require Import Crypto.Arithmetic.PrimeFieldTheorems.
+Require Import Crypto.Specific.X25519.C32.Synthesis.
+
+(* TODO : change this to field once field isomorphism happens *)
+Definition add :
+ { add : feBW_tight -> feBW_tight -> feBW_loose
+ | forall a b, phiBW_loose (add a b) = F.add (phiBW_tight a) (phiBW_tight b) }.
+Proof.
+ Set Ltac Profiling.
+ Time synthesize_add ().
+ Show Ltac Profile.
+Time Defined.
+
+Print Assumptions add.