Ltac solve_ptr_derives :=
  repeat rewrite isptr_offset_val;
  apply derives_refl.

Lemma split2_array_at: forall sh t gfs lo mid hi v p, lo <= mid <= hi -> Zlength v = hi - lo -> array_at sh t gfs lo hi v p = array_at sh t gfs lo mid (sublist 0 (mid-lo) v) p * array_at sh t gfs mid hi (sublist (mid-lo) (Zlength v) v) p.