Fixpoint tailOpt(A : Set)(n : nat)(v : Vector.t A n) : option (Vector.t A (pred n)):=
  match v with
    | [] => None
    | Vector.cons _ _ _ v => Some v
  end.

Lemma app_first_eq : forall (A : Type)(ls2 ls1 ls3 : list A), ls1 = ls2 ++ ls3 -> length ls1 = length ls2 -> ls1 = ls2 /\ ls3 = nil.