Definition Tsh : share := Share.top.Definition nonempty_share (sh: share) :=
       sepalg.nonidentity sh.Definition readable_share (sh: share) :=
       nonempty_share (Share.glb Share.Rsh sh).Definition writable_share (sh: share) :=
    nonempty_share (Share.glb Share.Lsh sh) /\ join_sub Share.Rsh sh.

Lemma readable_share_dec: forall sh, {readable_share sh}+{~ readable_share sh}.