Hint Resolve writable_readable_share.
Definition extern_retainer := fst (Share.split Share.Lsh).
Definition Ews (* extern_write_share *) :=
Share.lub extern_retainer Share.Rsh.

Lemma readable_share_join:
forall sh1 sh2 sh,
sepalg.join sh1 sh2 sh ->
readable_share sh1 \/ readable_share sh2 -> readable_share sh.