Local Ltac t ofs z :=
    exfalso;
    rewrite reptype_lemmas.ptrofs_add_repr_0_r in *;
    destruct (Ptrofs.unsigned_add_either ofs (Ptrofs.repr z)) as [R|R];
    rewrite Ptrofs.unsigned_repr_eq in *;
    unfold Z.modulo in *; simpl in *;
    unfold Ptrofs.modulus, two_power_nat, Ptrofs.wordsize, Wordsize_Ptrofs.wordsize,
      size_chunk, Mptr in *;
    destruct Archi.ptr64; simpl in *; omega.Ltac app_pred_unfold :=
  match goal with
    H : context[app_pred (exist ?F ?f ?p) ?phi] |- _ =>
    change (app_pred (exist F f p) phi) with (f phi) in H; cbv beta in H
  | |- context[app_pred (exist ?F ?f ?p) ?phi] =>
    change (app_pred (exist F f p) phi) with (f phi); cbv beta
  end.

Lemma data_at_noghost CS sh b ofs phi : app_pred (@data_at_ CS sh (Tarray (Tpointer Tvoid noattr) 2 noattr) (Vptr b ofs)) phi -> noghost phi.