Lemma split3_data_at_Tarray_tuchar {cs: compspecs} sh n n1 n2 (v: list val) p: 0 <= n1 <= n2 -> n2 <= n -> Zlength v = n -> data_at sh (Tarray tuchar n noattr) v p = data_at sh (Tarray tuchar n1 noattr) (sublist 0 n1 v) p * data_at sh (Tarray tuchar (n2 - n1) noattr) (sublist n1 n2 v) (field_address0 (Tarray tuchar n noattr) (ArraySubsc n1::nil) p) * data_at sh (Tarray tuchar (n - n2) noattr) (sublist n2 n v) (field_address0 (Tarray tuchar n noattr) (ArraySubsc n2::nil) p).