2014-12-24 01:35:14 +00:00
|
|
|
import logic
|
2014-11-29 17:36:41 +00:00
|
|
|
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
|