Proof with try tauto.
intros. rewrite Share.lub_rel_recompose in H.
generalize (Share.decompose_recompose (Share.lub a1 a2, Share.lub b1 b2));intro.
rewrite H in H0.
rewrite Share.lub_rel_recompose in H0.
rewrite Share.decompose_recompose in H0.
split;congruence.
Qed.

Lemma right_nonempty_readable:
forall rsh sh, sepalg.nonidentity sh <->
readable_share (Share.splice rsh sh).