(* * 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 factoryOverlap' : forall f1 f2 n1 n2,
isTokenFactory f1 n1 -> isTokenFactory f2 n2 -> joins f1 f2 -> False.