## 4 The Structure of Stable Flows
For stable flow \(f\), we can classify the vertices of \(D\) different from \(s\) and \(t\) as follows: \(v\) is an \(f\)-_vendor_ if \(g_{f}(v^{in}v^{out})>0\), and \(v\) is an \(f\)-_customer_ if \(g_{f}(v^{out}v^{in})>0\). If \(v\) is an \(f\)-vendor, then no edge \(v^{out}u^{in}\) can be \(g_{f}\)-dominated at \(v^{out}\) (as \(g_{f}(v^{in}v^{out})>0\)); hence, player \(v\) sends as much flow to other vertices as they accept. Similarly, if \(v\) is an \(f\)-customer, then no edge \(u^{out}v^{in}\) can be \(g_{f}\)-dominated at \(v^{out}\); that is, player \(v\) receives as much flow as the others can supply her. To explore the promised lattice structure of stable flows, let \(f_{1}\) and \(f_{2}\) be two stable flows with canonical representations \(g_{f_{1}}\) and \(g_{f_{2}}\), respectively. From Theorem 1, we know that stable allocations form a lattice; so, \(g_{f_{1}}\lor g_{f_{2}}\) and \(g_{f_{1}}\wedge g_{f_{2}}\) are also stable allocations of \(G_{D}\), and by Theorem 2, these stable allocations define stable flows \(f_{1}\lor f_{2}\) and \(f_{1}\wedge f_{2}\), respectively. How can we determine these latter flows directly, without the canonical representations? To answer this, we translate the lattice property of stable allocations on \(G_{D}\) to stable flows of \(D\). Theorem 4 shows that stable flows cannot differ on arcs incident to terminal vertex \(s\) or \(t\), so on these arcs, \(f_{1}\lor f_{2}\) and \(f_{1}\wedge f_{2}\) are determined. However, vertices different from \(s\) and \(t\) may have completely different situations in stable flows \(f_{1}\) and \(f_{2}\). The two color classes of graph \(G_{D}\) are formed by the \(v^{in}\)- and \(v^{out}\)-type vertices, respectively. Therefore, by Theorem 1, \(g_{f_{1}}\lor g_{f_{2}}\) can be determined, such that (say) each vertex, \(v^{out}\), selects the better allocation and each vertex, \(v^{in}\), receives the worst allocation out of the ones that \(g_{f_{1}}\) and \(g_{f_{2}}\) provide them. Similarly, for stable allocation \(g_{f_{1}}\wedge g_{f_{2}}\), the \"in\"-type vertices choose according to their preferences, and the \"out\"-type ones are left with the less preferred allocations. This means the following in the language of flows. If we want to construct \(f_{1}\lor f_{2}\) and \(v\) is a vertex different from \(s\) and \(t\), then either all arcs entering \(v\) will have the same flow in \(f_{1}\lor f_{2}\) as in \(f_{1}\) or for all arcs \(a\) entering \(v\), equation \((f_{1}\lor f_{2})(a)=f_{2}(a)\) holds. A similar statement is true for the arcs leaving \(v\). To determine which of the two alternatives is the right one, the following rules apply:  
* If \(v\) is an \(f_{1}\)-vendor and an \(f_{2}\)-customer, then \(v\) chooses \(f_{2}\). If \(v\) is an \(f_{2}\)-vendor and an \(f_{1}\)-customer, then \(v\) chooses \(f_{1}\). That is, each vertex strives to be a customer. * If \(v\) is an \(f_{1}\)-vendor and an \(f_{2}\)-vendor and \(v\) transmits more flow in \(f_{1}\) than in \(f_{2}\) (_i.e._, \(0<g_{f_{1}}(v^{in}v^{out})<g_{f_{2}}(v^{in}v^{out})\)) then \(v\) chooses \(f_{1}\). That is, vendors prefer to sell more. * If \(v\) is an \(f_{1}\)-customer and an \(f_{2}\)-customer and \(v\) transmits more flow in \(f_{1}\) than in \(f_{2}\) (_i.e._, \(0<g_{f_{1}}(v^{out}v^{in})<g_{f_{2}}(v^{out}v^{in})\)), then \(v\) chooses \(f_{2}\). That is, customers prefer to buy less. * Otherwise, \(v\) is a customer in both \(f_{1}\) and \(f_{2}\) or \(v\) is a vendor in both flows, and \(v\) transmits the same amount in both flows (_i.e._, \(g_{f_{1}}(v^{out}v^{in})=g_{f_{2}}(v^{out}v^{in})\) and \(g_{f_{1}}(v^{in}v^{out})=g_{f_{2}}(v^{in}v^{out})\)). In this situation, \(v\) chooses the better \"selling position\" and gets the worse \"buying position\" out of stable flows \(f_{1}\) and \(f_{2}\). Clearly, for the construction of \(f_{1}\wedge f_{2}\), one always has to choose the \"other\" options rather than the one that the above rules describe.