diff options
Diffstat (limited to 'test-suite/success/ImplicitArguments.v')
-rw-r--r-- | test-suite/success/ImplicitArguments.v | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test-suite/success/ImplicitArguments.v b/test-suite/success/ImplicitArguments.v new file mode 100644 index 00000000..e7795733 --- /dev/null +++ b/test-suite/success/ImplicitArguments.v @@ -0,0 +1,17 @@ +Inductive vector {A : Type} : nat -> Type := +| vnil : vector 0 +| vcons : A -> forall {n'}, vector n' -> vector (S n'). + +Require Import Coq.Program.Program. + +Program Definition head {A : Type} {n : nat} (v : vector A (S n)) : vector A n := + match v with + | vnil => ! + | vcons a n' v' => v' + end. + +Fixpoint app {A : Type} {n m : nat} (v : vector A n) (w : vector A m) : vector A (n + m) := + match v in vector _ n return vector A (n + m) with + | vnil => w + | vcons a n' v' => vcons a (app v' w) + end. |