These files contain the intermediate steps in the construction of side-optimal chain stable networks in the Example in Appendix B.

Files i0.xls - i12.xls contain the iterations starting from the smallest pre-network. Files q0.xls - q4.xls contain the iterations starting from the largest pre-network.

Each file contains one iteration/pre-network. To see how pre-networks are encoded in these files, consider file i5.xls. On the vertical axis are origins of arrows and on the horizontal are destinations. Since there can be no arrows from a_i to a_j or from b to b or from c_i to c_j, those spaces are blacked out. Now, consider the cells corresponding to origin a2 and destination c2 (cells F8, F9, and F10 in Excel). The top one of the three cells always corresponds to the contract with unit ID = 1, the second cell corresponds to the contract with unit ID = 2, and the third -- to the contract with unit ID = 3. The top cell has number 30 in it. This means that arrow from a2 to c2 with contract (a2, c2, 1, 30) attached is in the pre-network. It is clear from the construction that all strictly better contracts with the same ID also should be in the pre-network, and so arrows with contracts (a2, c2, 1, 40) and (a2, c2, 1, 50) are in the pre-network as well (because sellers like higher prices). Hence, in this pre-network, the following arrows from a2 to c2 will be present: (a2, c2, 1, 30), (a2, c2, 1, 40), (a2, c2, 1, 50), (a2, c2, 2, 40), (a2, c2, 2, 50), (a2, c2, 3, 40), (a2, c2, 3, 50). The arrows from upstream to downstream nodes are encoded analogously: e.g., the following arrows are pointing from b to a1: (a1, b, 1, 30), (a1, b, 1, 20), (a1, b, 1, 10), (a1, b, 2, 30), (a1, b, 2, 20), (a1, b, 2, 10), (a1, b, 3, 20), (a1, b, 3, 10).

Files i12.xls and q4.xls contain the smallest and the largest fixed-point pre-networks; applying mapping T to them leaves them unchanged. To obtain the corresponding chain stable networks, we need to apply mapping F. The contracts selected by this mapping are highlighted in the spreadsheet (note that each contract is highlighted twice).

An earlier draft of the paper explained that it does not matter in what order parts of the pre-network get updated; you will still converge to the same fixed point. In particular, it is OK to iterate on one part of the pre-network several times, then move to a different part and iterate on those nodes. In these intermediate steps, I sometimes do that and skip one or two iterations of a particular part of a pre-network; for instance, I will sometimes start filling up a particular part (e.g., arrows going from a to b) and then when updating arrows from b take into account these new arrows, to speed things up. I hope this does not make things too confusing; if it does, carefully following the first few iteration from i0, i1, and i2 should clarify the notation and construction.

If you find a mistake, please let me know.