prelude inductive nat : Type := zero : nat, succ : nat → nat namespace nat end nat open nat inductive vector (A : Type) : nat → Type := vnil : vector A zero, vcons : Π {n : nat}, A → vector A n → vector A (succ n) namespace vector end vector open vector check vector.{1} check vnil.{1} check vcons.{1} check vector.rec.{1 1}