Set Bullet Behavior "Strict Subproofs".
Opaque upto.

Lemma comm_loc_share_join : forall good lsh1 lsh2 lsh comm g g0 g1 g2 bufs sh gsh h1 h2 h
(Hsh : sepalg.join lsh1 lsh2 lsh) (Hh : Permutation.Permutation (h1 ++ h2) h)
(Hsh1 : lsh1 <> Share.bot) (Hsh2 : lsh2 <> Share.bot) (Hdisj : disjoint h1 h2),
comm_loc good lsh1 comm g g0 g1 g2 bufs sh gsh h1 *
comm_loc good lsh2 comm g g0 g1 g2 bufs sh gsh h2 =
comm_loc good lsh comm g g0 g1 g2 bufs sh gsh h.