(* 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. *)

(* Specifications: *)
Lemma split_readable_share sh :
readable_share sh ->
exists sh1, exists sh2,
readable_share sh1 /\
readable_share sh2 /\
sepalg.join sh1 sh2 sh.
Lemma split_Ews :
exists sh1, exists sh2,
readable_share sh1 /\
readable_share sh2 /\
sepalg.join sh1 sh2 Ews.