(* eliminators/inversion *)

Definition head A n (v: Vector.t A (S n)): A :=
  match v with
  | Vector.nil => I | Vector.cons h _ _ => h
  end.Definition tail n A (v: Vector.t A (S n)): Vector.t A n :=
  match v with
  | Vector.nil => I | Vector.cons _ _ t => t
  end.

Lemma Vcons_eq A (h h': A) n (t t': Vector.t A n): h = h' -> t = t' -> Vector.cons h t = Vector.cons h' t'.