Definition SixteenWordRep (w:SixteenWord):list val :=
match w with (q0, q1, q2, q3) => QuadWordRep q0 ++ QuadWordRep q1 ++ QuadWordRep q2 ++ QuadWordRep q3 end.
Definition littleendian_of_SixteenByte (x:SixteenByte): QuadWord :=
match x with (q0, q1, q2, q3) => (littleendian q0, littleendian q1, littleendian q2, littleendian q3) end.

(* Specifications: *)
Lemma QuadWR_length q: length (QuadWordRep q) = 4%nat.
destruct q as [[[? ?] ?] ?]. simpl. reflexivity. Qed.
Lemma QuadWR_zlength q: Zlength (QuadWordRep q) = 4.
rewrite Zlength_correct, QuadWR_length. trivial. Qed.
Lemma SixteenWR_length s: length (SixteenWordRep s) = 16%nat.
destruct s as [[[? ?] ?] ?]. simpl.