aboutsummaryrefslogtreecommitdiff
path: root/src/Assembly/GF25519.v
diff options
context:
space:
mode:
authorGravatar Robert Sloan <varomodt@google.com>2016-10-14 17:18:55 -0700
committerGravatar Robert Sloan <varomodt@google.com>2016-10-14 17:18:55 -0700
commit075347c125e6bdb77c1e0f4ed229d5019b213584 (patch)
treee1eff7196029d010fa8006881e184f6c5327de49 /src/Assembly/GF25519.v
parent9aaac03f6c5be0f804ed1d996d52fcefb1e57944 (diff)
More of the Conversions.v correctness proofs
Diffstat (limited to 'src/Assembly/GF25519.v')
-rw-r--r--src/Assembly/GF25519.v122
1 files changed, 61 insertions, 61 deletions
diff --git a/src/Assembly/GF25519.v b/src/Assembly/GF25519.v
index 84e692424..23b079b03 100644
--- a/src/Assembly/GF25519.v
+++ b/src/Assembly/GF25519.v
@@ -48,28 +48,28 @@ Module GF25519.
{ r: @HL.expr Z (@interp_type Z) FE
| HL.interp (E := ZEvaluable) (t := FE) r = ge25519_add_expr P Q }.
Proof.
- vm_compute in P, Q; repeat
+ vm_compute in P, Q; repeat
match goal with
| [x:?T |- _] =>
- lazymatch T with
- | Z => fail
- | prod _ _ => destruct x
- | _ => clear x
- end
+ lazymatch T with
+ | Z => fail
+ | prod _ _ => destruct x
+ | _ => clear x
+ end
end.
- eexists.
- cbv beta delta [ge25519_add_expr].
+ eexists.
+ cbv beta delta [ge25519_add_expr].
- let R := HL.rhs_of_goal in
- let X := HL.reify (@interp_type Z) R in
- transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
+ let R := HL.rhs_of_goal in
+ let X := HL.reify (@interp_type Z) R in
+ transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
[reflexivity|].
- cbv iota beta delta [
+ cbv iota beta delta [
interp_type interp_binop HL.interp
Z.land ZEvaluable eadd esub emul eshiftr eand].
- reflexivity.
+ reflexivity.
Defined.
Definition ge25519_add (P Q: @interp_type Z ResultType) :=
@@ -101,28 +101,28 @@ Module GF25519.
{ r: @HL.expr Z (@interp_type Z) FE
| HL.interp (E := ZEvaluable) (t := FE) r = ge25519_sub_expr P Q }.
Proof.
- vm_compute in P, Q; repeat
+ vm_compute in P, Q; repeat
match goal with
| [x:?T |- _] =>
- lazymatch T with
- | Z => fail
- | prod _ _ => destruct x
- | _ => clear x
- end
+ lazymatch T with
+ | Z => fail
+ | prod _ _ => destruct x
+ | _ => clear x
+ end
end.
- eexists.
- cbv beta delta [ge25519_sub_expr].
+ eexists.
+ cbv beta delta [ge25519_sub_expr].
- let R := HL.rhs_of_goal in
- let X := HL.reify (@interp_type Z) R in
- transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
+ let R := HL.rhs_of_goal in
+ let X := HL.reify (@interp_type Z) R in
+ transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
[reflexivity|].
- cbv iota beta delta [
- interp_type interp_binop HL.interp
- Z.land ZEvaluable eadd esub emul eshiftr eand].
- reflexivity.
+ cbv iota beta delta [
+ interp_type interp_binop HL.interp
+ Z.land ZEvaluable eadd esub emul eshiftr eand].
+ reflexivity.
Defined.
Definition ge25519_sub (P Q: @interp_type Z ResultType) :=
@@ -154,28 +154,28 @@ Module GF25519.
{ r: @HL.expr Z (@interp_type Z) FE
| HL.interp (E := ZEvaluable) (t := FE) r = ge25519_mul_expr P Q }.
Proof.
- vm_compute in P, Q; repeat
+ vm_compute in P, Q; repeat
match goal with
| [x:?T |- _] =>
- lazymatch T with
- | Z => fail
- | prod _ _ => destruct x
- | _ => clear x
- end
- end.
-
- eexists.
- cbv beta delta [ge25519_mul_expr].
-
- let R := HL.rhs_of_goal in
- let X := HL.reify (@interp_type Z) R in
- transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
+ lazymatch T with
+ | Z => fail
+ | prod _ _ => destruct x
+ | _ => clear x
+ end
+ end.
+
+ eexists.
+ cbv beta delta [ge25519_mul_expr].
+
+ let R := HL.rhs_of_goal in
+ let X := HL.reify (@interp_type Z) R in
+ transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
[reflexivity|].
- cbv iota beta delta [
- interp_type interp_binop HL.interp
- Z.land ZEvaluable eadd esub emul eshiftr eand].
- reflexivity.
+ cbv iota beta delta [
+ interp_type interp_binop HL.interp
+ Z.land ZEvaluable eadd esub emul eshiftr eand].
+ reflexivity.
Defined.
Definition ge25519_mul (P Q: @interp_type Z ResultType) :=
@@ -207,28 +207,28 @@ Module GF25519.
{ r: @HL.expr Z (@interp_type Z) FE
| HL.interp (E := ZEvaluable) (t := FE) r = ge25519_opp_expr P }.
Proof.
- vm_compute in P; repeat
+ vm_compute in P; repeat
match goal with
| [x:?T |- _] =>
- lazymatch T with
- | Z => fail
- | prod _ _ => destruct x
- | _ => clear x
- end
+ lazymatch T with
+ | Z => fail
+ | prod _ _ => destruct x
+ | _ => clear x
+ end
end.
- eexists.
- cbv beta delta [ge25519_opp_expr zero_].
+ eexists.
+ cbv beta delta [ge25519_opp_expr zero_].
- let R := HL.rhs_of_goal in
- let X := HL.reify (@interp_type Z) R in
- transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
+ let R := HL.rhs_of_goal in
+ let X := HL.reify (@interp_type Z) R in
+ transitivity (HL.interp (E := ZEvaluable) (t := ResultType) X);
[reflexivity|].
- cbv iota beta delta [
- interp_type interp_binop HL.interp
- Z.land ZEvaluable eadd esub emul eshiftr eand].
- reflexivity.
+ cbv iota beta delta [
+ interp_type interp_binop HL.interp
+ Z.land ZEvaluable eadd esub emul eshiftr eand].
+ reflexivity.
Defined.
Definition ge25519_opp (P: @interp_type Z ResultType) :=