blob: 9367c97cefc1e686a6ac9ded7b54446b0d38c8bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Require Import Crypto.Arithmetic.PrimeFieldTheorems.
Require Import Crypto.Specific.solinas32_2e384m2e128m2e96p2e32m1_18limbs.Synthesis.
(* TODO : change this to field once field isomorphism happens *)
Definition square :
{ square : feBW_loose -> feBW_tight
| forall a, phiBW_tight (square a) = F.mul (phiBW_loose a) (phiBW_loose a) }.
Proof.
Set Ltac Profiling.
Time synthesize_square ().
Show Ltac Profile.
Time Defined.
Print Assumptions square.
|