proposition: Lemma nth_map {A B} (f: A -> B) {n} v (p1 p2: Fin.t n) (eq: p1 = p2): (map f v) [@ p1] = f (v [@ p2]).
proof: Proof. subst p2; induction p1 as [n|n p1 IHp1]. - revert n v; refine (@caseS _ _ _); reflexivity. - revert n v p1 IHp1; refine (@caseS _ _ _); now simpl. Qed.
imports: VectorDef PeanoNat Eqdep_dec