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.

(* Specifications: *)
Lemma lub_Lsh_Rsh:
Share.lub Share.Lsh Share.Rsh = Share.top.
Lemma glb_Lsh_Rsh:
Share.glb Share.Lsh Share.Rsh = Share.bot.
Lemma readable_share_dec:
forall sh, {readable_share sh}+{~ readable_share sh}.
Lemma writable_readable:
forall sh, writable_share sh -> readable_share sh.
Lemma readable_share_top:
readable_share Share.top.