aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Prod.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-09-03 18:28:15 -0700
committerGravatar Jason Gross <jagro@google.com>2016-09-03 18:28:15 -0700
commit32df140e0de10abc67b6d3699d591b50adf85aae (patch)
treedc8296ac29c0ba023527c69e59d5b6923bc474a1 /src/Util/Prod.v
parent8573ff8c58a3766731df93b24e6b6fd1e0787a9a (diff)
Add path_prod_eta
Diffstat (limited to 'src/Util/Prod.v')
-rw-r--r--src/Util/Prod.v8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Util/Prod.v b/src/Util/Prod.v
index 197c1e209..2d788aa32 100644
--- a/src/Util/Prod.v
+++ b/src/Util/Prod.v
@@ -47,12 +47,16 @@ Section prod.
(** We could actually use [IsIso] here, but for simplicity, we
don't. If we wanted to deal with proofs of equality of × types
in dependent positions, we'd need it. *)
- Definition path_prod_uncurried_iff {A P}
- (u v : @prod A P)
+ Definition path_prod_uncurried_iff {A B}
+ (u v : @prod A B)
: u = v <-> (prod (fst u = fst v) (snd u = snd v)).
Proof.
split; [ intro; subst; split; reflexivity | apply path_prod_uncurried ].
Defined.
+
+ Definition path_prod_eta {A B} {u v : @prod A B} (p : u = v)
+ : p = path_prod_uncurried u v (fst_path p, snd_path p).
+ Proof. destruct u, p; reflexivity. Defined.
End prod.
(** ** Useful Tactics *)