aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Curry.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-10-20 13:35:46 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-10-20 13:35:46 -0400
commitf32c60ffa460088bd3b9a15976ba3bd347e2e623 (patch)
tree2d2c87b8563b3c0e1a0f2bc82487f94d08b3926b /src/Util/Curry.v
parent6817b8c6a0bfc23a8b3a26592f91c1566322185c (diff)
Add curry{3,4}
Diffstat (limited to 'src/Util/Curry.v')
-rw-r--r--src/Util/Curry.v6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Util/Curry.v b/src/Util/Curry.v
index d1e3a7b94..22747ed23 100644
--- a/src/Util/Curry.v
+++ b/src/Util/Curry.v
@@ -1,7 +1,11 @@
Require Import Crypto.Util.Tactics.ChangeInAll.
Definition curry2 {A B C} (f : A -> B -> C) (x : A * B) : C
-:= let '(a, b) := x in f a b.
+ := let '(a, b) := x in f a b.
+Definition curry3 {A B C D} (f : A -> B -> C -> D) (x : A * B * C) : D
+ := let '(a, b, c) := x in f a b c.
+Definition curry4 {A B C D E} (f : A -> B -> C -> D -> E) (x : A * B * C * D) : E
+ := let '(a, b, c, d) := x in f a b c d.
Ltac change_with_curried f :=
cbv beta in f; (* work around https://coq.inria.fr/bugs/show_bug.cgi?id=5430 *)