aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/opened/3510.v
diff options
context:
space:
mode:
authorGravatar Xavier Clerc <xavier.clerc@inria.fr>2014-09-25 11:14:27 +0200
committerGravatar Xavier Clerc <xavier.clerc@inria.fr>2014-09-25 11:14:27 +0200
commit5ee96761e3cd19236f446a11d178a31328b325ec (patch)
tree568e3a3e523e0ab65743e28e0589ec47dc11ad38 /test-suite/bugs/opened/3510.v
parentd5b7c4b6e0efa998a35182cb1dbf6c309a82ba5a (diff)
Add several reproduction files for bugs.
Diffstat (limited to 'test-suite/bugs/opened/3510.v')
-rw-r--r--test-suite/bugs/opened/3510.v34
1 files changed, 34 insertions, 0 deletions
diff --git a/test-suite/bugs/opened/3510.v b/test-suite/bugs/opened/3510.v
new file mode 100644
index 000000000..9e5489339
--- /dev/null
+++ b/test-suite/bugs/opened/3510.v
@@ -0,0 +1,34 @@
+Lemma match_option_fn T (b : option T) A B s n
+: match b as b return forall x : A, B b x with
+ | Some k => s k
+ | None => n
+ end
+ = fun x : A => match b as b return B b x with
+ | Some k => s k x
+ | None => n x
+ end.
+admit.
+Defined.
+Lemma match_option_comm_2 T (p : option T) A B R (f : forall (x : A) (y : B x), R x y) (s1 : T -> A) (s2 : forall x : T, B (s1 x)) n1 n2
+: match p as p return R match p with
+ | Some k => s1 k
+ | None => n1
+ end
+ match p as p return B match p with Some k => s1 k | None => n1 end with
+ | Some k => s2 k
+ | None => n2
+ end with
+ | Some k => f (s1 k) (s2 k)
+ | None => f n1 n2
+ end
+ = f match p return A with
+ | Some k => s1 k
+ | None => n1
+ end
+ match p as p return B match p with Some k => s1 k | None => n1 end with
+ | Some k => s2 k
+ | None => n2
+ end.
+admit.
+Defined.
+Hint Rewrite match_option_fn match_option_comm_2 : matchdb.