(* Lemma data_at_Tsh_conflict : forall {cs : compspecs} sh t v v' p, sepalg.nonidentity sh -> 0 < sizeof t -> data_at Tsh t v p * data_at sh t v' p |-- FF. *)

Lemma split_readable_share sh :
readable_share sh ->
exists sh1, exists sh2,
readable_share sh1 /\
readable_share sh2 /\
sepalg.join sh1 sh2 sh.