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 Vector_map_tabulate {X Y n} (f : X -> Y) g :
Vector.map (n:=n) f (tabulate g) = tabulate (fun x => f (g x)).