#Bidder = (bid_in,su).WaitingBid + (preq_in, sd).WaitingPrice;
#WaitingBid = (reject_c,infty).Incorrect + (forward_accept, infty).Bidder + (forward_reject, infty).Incorrect;
#WaitingPrice = (presp_c, infty).Bidder + (forward_presp,infty).Bidder;
#Incorrect = (preq_in, st).WaitingPrice;


#Bidder_CN = (bid'_in,su).WaitingBid_CN + (preq'_in, sd).WaitingPrice_CN;
#WaitingBid_CN = (forward_accept', infty).Bidder_CN + (forward_reject', infty).Incorrect_CN;
#WaitingPrice_CN = (forward_presp',infty).Bidder_CN;
#Incorrect_CN = (preq'_in, st).WaitingPrice_CN;


#Node = (bid_in, infty).Node1 + (preq_in, infty).Node2 + (accept_s, infty).Node3 + (reject_s, infty).Node4 + (presp_s, infty).Node5;
#Node1 = (forward_bid, s).Node + (presp_s, infty).gNode1 + (accept_s, infty).g2Node1 + (reject_s, infty).g3Node1;
#g3Node1 = (forward_reject, s).Node1;
#g2Node1 = (forward_accept, s).Node1;
#gNode1 = (forward_presp, s).Node1;
#Node2 = (forward_preq, s).Node + (presp_s, infty).g4Node2 + (accept_s, infty).g5Node2 + (reject_s, infty).g6Node2;
#g6Node2 = (forward_reject, s).Node2;
#g5Node2 = (forward_accept, s).Node2;
#g4Node2 = (forward_presp, s).Node2;
#Node3 = (forward_accept, s).Node;
#Node4 = (forward_reject, s).Node;
#Node5 = (forward_presp, s).Node;


#CNode = (bid'_in,infty).CNode1 + (preq'_in,infty).CNode2 + (forward_accept_sc,infty).CNode3 + (forward_reject_sc,infty).CNode4+(reject_cn, infty).CNode4 + (presp_cn, infty).CNode5;
#CNode1 = (forward_bid_nc, s).CNode + (forward_accept_sc,infty).g7CNode1 + (forward_reject_sc,infty).g8CNode1 + (reject_cn, infty).g9CNode1  + (presp_cn, infty).g10CNode1;
#g10CNode1 = (forward_presp', s).CNode1;
#g9CNode1 = (forward_reject', s).CNode1;
#g8CNode1 = (forward_reject', s).CNode1;
#g7CNode1 = (forward_accept', s).CNode1;
#CNode2 = (forward_preq_nc, s).CNode + (forward_accept_sc,infty).g11CNode2 + (forward_reject_sc,infty).g12CNode2 + (reject_cn, infty).g13CNode2 + (presp_cn, infty).g14CNode2;
#g14CNode2 = (forward_presp', s).CNode2;
#g13CNode2 = (forward_reject', s).CNode2;
#g12CNode2 = (forward_reject', s).CNode2;
#g11CNode2 = (forward_accept', s).CNode2;
#CNode3 = (forward_accept', s).CNode;
#CNode4 = (forward_reject', s).CNode;
#CNode5 = (forward_presp', s).CNode;


#Cache = (bid_in, infty).Cache1 + (forward_bid_nc, infty).Cache1 +  (preq_in, infty).Cache2 + (forward_preq_nc, infty).Cache2 + (update,infty).Cache;
#Cache1 = (reject_c,tr).Cache + (forward_bid_cs,tttr).Cache3 + (reject_cn,ttr).Cache;
#Cache2 = (presp_c, s).Cache + (presp_cn,s).Cache;
#Cache3 = (accept_sc, infty).Cache4 + (reject_sc, infty).Cache5;
#Cache4 = (forward_accept_sc,s).Cache + (forward_accept, s).Cache;
#Cache5 = (forward_reject_sc,s).Cache + (forward_reject, s).Cache;


#Server = (forward_bid,infty).Server' + (forward_bid_cs,infty).Server'' + (forward_preq,infty).Server1  + (update,w).Server;
#Server' = (accept_s,pr).Server + (reject_s,ppr).Server;
#Server'' = (accept_sc,qr).Server + (reject_sc,qqr).Server;
#Server1 = (presp_s,r).Server;


((Server <update,accept_sc,reject_sc,forward_bid_cs> ((Bidder <> Bidder)
         <bid_in,reject_c,presp_c,forward_accept,forward_reject,preq_in,forward_presp> Cache))
         <forward_bid_nc,forward_accept_sc,forward_reject_sc,forward_preq_nc,reject_cn, presp_cn> (CNode 
         <bid'_in,preq'_in,forward_accept',forward_reject', forward_presp'> (Bidder_CN <> Bidder_CN))) 
         <accept_s,reject_s,presp_s,forward_preq,forward_bid> (Node 
         <bid_in,preq_in, forward_accept,forward_reject,forward_presp,presp_c,reject_c> 
(Bidder <> Bidder))
