Proof with auto.
induction v...
simpl.
rewrite IHv.
rewrite (e h)...
Qed. (* todo: as a morphism *)

(* Specifications: *)
Lemma In_map A B (f: A -> B) (a: A) n (v: Vector.t A n): List.In a v -> List.In (f a) (map f v).
(* vnth *)
Lemma natBelow0_rect: natBelow 0 -> forall T, T.
Definition natBelow_S_bla (T: Type) (n: nat) (b: natBelow n): T -> (natBelow (pred n) -> T) -> T :=
match b with
| mkNatBelow 0 _ => fun z s => z
| mkNatBelow (S i) p => fun z s => s (mkNatBelow i p)
end.
Lemma natBelow_S_inv' (n: nat) (P: natBelow (S n) -> Type):
P (nb0 n) -> (forall m, P (Snb m)) -> forall x, P x.
Lemma nth_map A B (f: A -> B) n i (v: Vector.t A n):
nth (map f v) i = f (nth v i).