diff options
author | 2016-11-13 17:00:44 -0500 | |
---|---|---|
committer | 2016-11-13 17:00:44 -0500 | |
commit | 646a21fc7271316880edc4e627923e7bdd93065b (patch) | |
tree | e4c4ba26f442f5e705a90c7325e1d622845344e1 /src/SpecificGen/GF25519_32Reflective/Reified/Pack.v | |
parent | 3d3b942308e09a678641005eabdc2f3761f0edae (diff) |
Add SpecificGen/GF*
For bounds analysis
Diffstat (limited to 'src/SpecificGen/GF25519_32Reflective/Reified/Pack.v')
-rw-r--r-- | src/SpecificGen/GF25519_32Reflective/Reified/Pack.v | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/SpecificGen/GF25519_32Reflective/Reified/Pack.v b/src/SpecificGen/GF25519_32Reflective/Reified/Pack.v new file mode 100644 index 000000000..9f32e104a --- /dev/null +++ b/src/SpecificGen/GF25519_32Reflective/Reified/Pack.v @@ -0,0 +1,17 @@ +Require Import Crypto.SpecificGen.GF25519_32Reflective.CommonUnOpFEToWire. + +Definition rpackZ_sig : rexpr_unop_FEToWire_sig pack. Proof. reify_sig. Defined. +Definition rpackW := Eval vm_compute in rword_of_Z rpackZ_sig. +Lemma rpackW_correct_and_bounded_gen : correct_and_bounded_genT rpackW rpackZ_sig. +Proof. rexpr_correct. Qed. +Definition rpack_output_bounds := Eval vm_compute in compute_bounds rpackW ExprUnOpFEToWire_bounds. +Local Obligation Tactic := intros; vm_compute; constructor. +Program Definition rpackW_correct_and_bounded + := ExprUnOpFEToWire_correct_and_bounded + rpackW pack rpackZ_sig rpackW_correct_and_bounded_gen + _ _. + +Local Open Scope string_scope. +Compute ("Pack", compute_bounds_for_display rpackW ExprUnOpFEToWire_bounds). +Compute ("Pack overflows? ", sanity_compute rpackW ExprUnOpFEToWire_bounds). +Compute ("Pack overflows (error if it does)? ", sanity_check rpackW ExprUnOpFEToWire_bounds). |