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 join_splice2:
forall a1 a2 a3 b1 b2 b3 : Share.t,
join (Share.splice a1 b1) (Share.splice a2 b2) (Share.splice a3 b3) ->
join a1 a2 a3 /\ join b1 b2 b3.