induction l; simpl; intros.
rewrite (eq_nil v)...
rewrite <- H...
simpl.
rewrite list_round_trip...
Qed.
(* simultaneous induction over two vectors *)

Lemma double_rect A B (P: forall n, Vector.t A n -> Vector.t B n -> Prop):
P 0 Vector.nil Vector.nil ->
(forall n (v: Vector.t A n) (w: Vector.t B n) (x: A) (y: B), P n v w -> P (S n) (Vector.cons x v) (Vector.cons y w)) ->
forall n (v: Vector.t A n) (w: Vector.t B n), P n v w.