Section tabulate_vec.
Variable X : Type.
Fixpoint tabulate (n : nat) (f : Fin.t n -> X) {struct n} : Vector.t X n.
End tabulate_vec.
(* Lemma vec_replace_nth X x n (t : Vector.t X n) (i : Fin.t n) : x = Vector.nth (Vector.replace t i x) i.  Lemma vec_replace_nth_nochange X x n (t : Vector.t X n) (i j : Fin.t n) : Fin.to_nat i <> Fin.to_nat j -> Vector.nth t i = Vector.nth (Vector.replace t j x) i. *)
Instance Vector_eq_dec n A: eq_dec A -> eq_dec (Vector.t A n).

Lemma vect_in_map (X Y : Type) (n : nat) (f : X -> Y) (V : Vector.t X n) (x : X) :
In x V -> In (f x) (map f V).