17 lines
361 B
Text
17 lines
361 B
Text
|
import logic data.nat.basic
|
||
|
open nat
|
||
|
|
||
|
inductive vec (A : Type) : nat → Type :=
|
||
|
vnil : vec A zero,
|
||
|
vone : A → vec A (succ zero),
|
||
|
vtwo : A → A → vec A (succ (succ zero))
|
||
|
|
||
|
namespace vec
|
||
|
|
||
|
theorem eone {A : Type} {P : vec A (succ zero) → Type} (H : Π a, P (vone a)) (v : vec A (succ zero)) : P v :=
|
||
|
begin
|
||
|
cases v,
|
||
|
-- apply (H a)
|
||
|
end
|
||
|
end vec
|