aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/NISTP256/AMD128/fenz.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Specific/NISTP256/AMD128/fenz.v')
-rw-r--r--src/Specific/NISTP256/AMD128/fenz.v16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Specific/NISTP256/AMD128/fenz.v b/src/Specific/NISTP256/AMD128/fenz.v
new file mode 100644
index 000000000..c1a91fa38
--- /dev/null
+++ b/src/Specific/NISTP256/AMD128/fenz.v
@@ -0,0 +1,16 @@
+Require Import Coq.ZArith.ZArith.
+Require Import Crypto.Arithmetic.PrimeFieldTheorems.
+Require Import Crypto.Specific.NISTP256.AMD128.Synthesis.
+Local Open Scope Z_scope.
+
+(* TODO : change this to field once field isomorphism happens *)
+Definition nonzero :
+ { nonzero : feBW_small -> BoundedWord.BoundedWord 1 adjusted_bitwidth bound1
+ | forall a, (BoundedWord.BoundedWordToZ _ _ _ (nonzero a) =? 0) = (if Decidable.dec (phiM_small a = F.of_Z m 0) then true else false) }.
+Proof.
+ Set Ltac Profiling.
+ Time synthesize_nonzero ().
+ Show Ltac Profile.
+Time Defined.
+
+Print Assumptions nonzero.