Module Type SHARE_MODEL.
Include BA_FACTS.
Parameter EqDec_share: EqDec t.
Existing Instance EqDec_share.
(* Splittability *)
Parameter split : t -> t * t.
(* Token factories *)
Parameter isTokenFactory : t -> nat -> Prop.
Parameter isToken : t -> nat -> Prop.
Parameter create_token : nat -> t -> (t*t).
Parameter split_token : nat -> t -> t*t.
(* relativization *)
Parameter rel : t -> t -> t.

Axiom rel_bot1 : forall a, rel a bot = bot.
Axiom rel_bot2 : forall x, rel bot x = bot.
Axiom rel_top1 : forall a, rel a top = a.
Axiom rel_top2 : forall x, rel top x = x.