diff options
author | Xavier Clerc <xavier.clerc@inria.fr> | 2014-09-25 11:14:27 +0200 |
---|---|---|
committer | Xavier Clerc <xavier.clerc@inria.fr> | 2014-09-25 11:14:27 +0200 |
commit | 5ee96761e3cd19236f446a11d178a31328b325ec (patch) | |
tree | 568e3a3e523e0ab65743e28e0589ec47dc11ad38 /test-suite/bugs/opened/3510.v | |
parent | d5b7c4b6e0efa998a35182cb1dbf6c309a82ba5a (diff) |
Add several reproduction files for bugs.
Diffstat (limited to 'test-suite/bugs/opened/3510.v')
-rw-r--r-- | test-suite/bugs/opened/3510.v | 34 |
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. |