Instance Inhabitant_share : Inhabitant share := Share.bot.(* TODO: remove this, it's already in sublist.v *) 
Instance Inhabitant_mpred : Inhabitant mpred := @FF mpred Nveric.

Lemma data_at_shares_join : forall {cs} sh t v p shs sh1 (Hsplit : sepalg_list.list_join sh1 shs sh), @data_at cs sh1 t v p * fold_right sepcon emp (map (fun sh => data_at sh t v p) shs) = data_at sh t v p.