(************************************************  Reroot lemmas  ************************************************)

Lemma split3seg_array_at': forall sh t gfs lo ml mr hi v p,
lo <= ml ->
ml <= mr ->
mr <= hi ->
Zlength v = hi-lo ->
array_at sh t gfs lo hi v p =
array_at sh t gfs lo ml (sublist 0 (ml-lo) v) p*
data_at sh (nested_field_array_type t gfs ml mr)
(sublist (ml-lo) (mr-lo) v)
(field_address0 t (ArraySubsc ml::gfs) p) *
array_at sh t gfs mr hi (sublist (mr-lo) (hi-lo) v) p.