Definition hackfun phi0 phi :=
level phi0 = level phi /\ ghost_of phi0 = ghost_of phi /\
forall loc, (identity (phi0 @ loc) <-> identity (phi @ loc)) /\
(~identity (phi0 @ loc) -> (phi0 @ loc = phi @ loc)).

Lemma init_datalist_hack:
forall b sh rho dl phi0 z,
(init_data_list2pred dl sh (Vptr b z) rho) phi0 ->
forall phi,
hackfun phi0 phi ->
readable_share sh ->
(init_data_list2pred dl sh (Vptr b z) rho) phi.