Definition pure_readable_share (sh: Share.t) :=
  Share.glb Share.Lsh sh = Share.bot /\ readable_share sh.Definition rshare := sig pure_readable_share.Definition readable_part: forall (sh: Share.t) (rsh: readable_share sh), rshare.

Lemma join_pure_readable: forall sh1 sh2 sh3, join sh1 sh2 sh3 -> pure_readable_share sh1 -> pure_readable_share sh2 -> pure_readable_share sh3.