repeat rewrite Zlength_map.  simpl.
repeat rewrite Zlength_app. repeat rewrite <- QuadByteByteList_ZLength.
reflexivity. Qed.
Definition SByte (q:SixteenByte) (v:val) : mpred :=
@data_at CompSpecs Tsh (Tarray tuchar 16 noattr) (SixteenByte2ValList q) v.

(* Specifications: *)
Lemma ThirtyTwoByte_split16 q v:
field_compatible (Tarray tuchar 32 noattr) [] v ->
ThirtyTwoByte q v =
(SByte (fst q) v * SByte (snd q) (offset_val 16 v))%logic.
Lemma QuadByte2ValList_firstn4 q l:
firstn 4 (QuadByte2ValList q ++ l) = QuadByte2ValList q.
Lemma QuadChunk2ValList_ZLength: forall l, Zlength (QuadChunks2ValList l) = (4 * Zlength l)%Z.
Lemma Select_SplitSelect16Q_Zlength Q i front back:
(front, back) = SplitSelect16Q Q i -> 0<= i < 4 ->
Zlength front = i /\ Zlength back = 3-i.