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 BVxor_assoc : forall n (v1 v2 v3 : Bvector n), BVxor n (BVxor n v1 v2) v3 = BVxor n v1 (BVxor n v2 v3).