(* * 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 split_nontrivial' : forall x1 x2 x,
split x = (x1, x2) ->
(identity x1 \/ identity x2) ->
identity x.