intros until sh2; intros H H0.
destruct (dec_share_identity sh1).
generalize (split_nontrivial' _ _ _ H0); intro.
spec H1...
destruct (eq_dec sh2 sh)...
subst sh2.
generalize (split_join _ _ _ H0); intro.
apply unit_identity in H1...
Qed.

(* Specifications: *)
Lemma bot_unit: forall sh,
join emptyshare sh sh.