Set Bullet Behavior "Strict Subproofs".
Opaque upto.

Lemma data_at_shares_join' : forall {cs} sh v p shs sh1
(Hsplit : sepalg_list.list_join sh1 shs sh), readable_share sh1 ->
@data_at cs sh1 tint (Vint v) p *
fold_right_sepcon (map (fun sh => EX v : _, data_at sh tint (Vint v) p) shs) =
data_at sh tint (Vint v) p.