(************************************************  Unfold and split lemmas  ************************************************)

(* Specifications: *)
Lemma field_at_Tarray: forall sh t gfs t0 n a v1 v2 p,
legal_nested_field t gfs ->
nested_field_type t gfs = Tarray t0 n a ->
0 <= n ->
JMeq v1 v2 ->
field_at sh t gfs v1 p = array_at sh t gfs 0 n v2 p.
Lemma not_ptr_FF: forall A p, (A |-- !! isptr p) <-> (~ isptr p -> A = FF).
Ltac solve_ptr_derives :=
repeat rewrite isptr_offset_val;
apply derives_refl.
Lemma field_at_isptr':
forall sh t path v c, field_at sh t path v c |-- !! isptr c.