(* * Copyright (c) 2009-2016, Andrew Appel, Robert Dockins, Aquinas Hobor and Le Xuan Bach * *)
Require VST.msl.tree_shares.
Module Share : SHARE_MODEL := tree_shares.Share.
Definition share : Type := Share.t.
Instance pa_share : Perm_alg share := Share.pa.
Instance sa_share : Sep_alg share := Share.sa.
Instance ca_share : Canc_alg share := Share.ca.
Definition emptyshare : share := Share.bot.
Definition fullshare : share := Share.top.

Lemma rel_join2 : forall a x y s,
nonidentity a ->
join (rel a x) (rel a y) s ->
exists z, s = rel a z /\ join x y z.