diff options
author | 2015-02-10 21:54:21 +0100 | |
---|---|---|
committer | 2015-02-10 21:56:06 +0100 | |
commit | 525c0e434e9b9472b6249bfd575659eb2dbec206 (patch) | |
tree | 1e72d9ee4c7cf094507207555c625927709255ad /test-suite/bugs/closed | |
parent | f804e681f1550e1c20b8ce5b83bc66c876fb3c99 (diff) |
Fixing #4001 (missing type constraints when building return clause of match).
Diffstat (limited to 'test-suite/bugs/closed')
-rw-r--r-- | test-suite/bugs/closed/4001.v | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/4001.v b/test-suite/bugs/closed/4001.v new file mode 100644 index 000000000..25d78f4b0 --- /dev/null +++ b/test-suite/bugs/closed/4001.v @@ -0,0 +1,18 @@ +(* Computing the type constraints to be satisfied when building the + return clause of a match with a match *) + +Set Implicit Arguments. +Set Asymmetric Patterns. + +Variable A : Type. +Variable typ : A -> Type. + +Inductive t : list A -> Type := +| snil : t nil +| scons : forall (x : A) (e : typ x) (lx : list A) (le : t lx), t (x::lx). + +Definition car (x:A) (lx : list A) (s: t (x::lx)) : typ x := + match s in t l' with + | snil => False + | scons _ e _ _ => e + end. |