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 writable_share_dec: forall sh, {writable_share sh} + {~ writable_share sh}.