Why two capacities at a time
The value of a maximal flow is the basic output of network-flow models of transport, communication and supply systems. A planner who can enlarge the capacity of a link wants to know what the enlargement buys. For a single link the answer is simple. For two links it is a question about interaction: does enlarging one make enlarging the other more valuable (the links reinforce each other) or less valuable (they interfere)? L. S. Shapley answered it, and Ford and Fulkerson give his theorems and proofs in Section 13 of Chapter I of Flows in Networks. Any two arcs either always reinforce or always interfere, and in several positions the network's geometry alone decides which. These are early instances of supermodularity and submodularity of an optimal value in its parameters, a theme that later became central in parametric optimization and discrete convex analysis.
Setting
A network [N;A] is a finite set N of nodes together with a set A of ordered pairs (x,y) of distinct nodes, the arcs. The arc (x,y) has initial node x and terminal node y. There is at most one arc from x to y, but (x,y) and (y,x) may both be arcs. The nodes are split into a set S of sources, a disjoint set T of sinks, and the remaining intermediate nodes R. Each arc carries a capacity c(x,y)≥0.
A flow from S to T is a function f on the arcs with 0≤f(x,y)≤c(x,y) on every arc, and with conservation f(x,N)=f(N,x) at every intermediate node x. Here f(x,N) is the total flow on arcs leaving x and f(N,x) the total on arcs entering it. Its value is the net amount leaving the sources, v=f(S,N)−f(N,S). The maximal flow value vˉ is the largest value of a flow. A node set X containing every source and no sink determines the cut (X,Xˉ), the set of arcs from X to its complement, with capacity c(X,Xˉ), the sum of their capacities.
Fix two distinct arcs Ai and Aj and keep every other capacity fixed and finite. Write vˉi(ξ) for the maximal flow value when c(Ai) is replaced by ξ, and vˉij(ξ,η) for the value when c(Ai) and c(Aj) are replaced by ξ and η. These two capacities may also be ∞, and then vˉ may be ∞. For a rectangle with corners (ξ,η), (ξ+h,η), (ξ,η+k), (ξ+h,η+k) in the nonnegative quadrant, with hk=0, the difference quotient is
qij=hkvˉij(ξ+h,η+k)−vˉij(ξ+h,η)−vˉij(ξ,η+k)+vˉij(ξ,η).
The interaction constant is
pij=vˉij(∞,∞)−vˉij(0,∞)−vˉij(∞,0)+vˉij(0,0),
which may be +∞, or indeterminate (∞−∞).
Formalization targets
Goal: Theorem 13.1, one sign
(∀rectangles: qij≥0) ∨ (∀rectangles: qij≤0).
The goal leaves the sign open. Which sign occurs depends on the whole network: in the book's Fig. 13.3, removing a third arc turns p12=1 into p12=−1.
Milestones
- Eq. (13.1). vˉ=min{c(X,Xˉ):S⊆X, T∩X=∅}, the max-flow min-cut theorem for several sources and sinks.
- Eq. (13.2). vˉi(ξ)=min[vˉi(0)+ξ, vˉi(∞)] for ξ∈[0,∞].
- Eq. (13.4). vˉij(ξ,η)=min[vˉij(0,0)+ξ+η, vˉij(0,∞)+ξ, vˉij(∞,0)+η, vˉij(∞,∞)].
- Corollary 13.2. If pij>0 (including +∞), qij is sometimes >0 and never <0. If pij=0 or pij is indeterminate, qij≡0. If pij<0, qij is sometimes <0 and never >0.
- Theorem 13.3. qij≥0 when the terminal node of Ai is the initial node of Aj. qij≤0 when Ai and Aj share their initial node. qij≥0 when Ai starts at a source and Aj ends at a sink.
- Corollary 13.4. qij≤0 when Ai and Aj share their terminal node, when both start at sources, or when both end at sinks.
Corollary 13.2 refines the goal by naming the sign. Theorem 13.3 and Corollary 13.4 fix the sign from positions alone.
Significance
Theorem 13.1 says that the cross effect of two capacities on the maximal flow value never changes sign. The marginal value of capacity on one arc is monotone in the capacity of the other, in a direction fixed once and for all by the network. Corollary 13.2 reduces that direction to a single number computed from four maximal-flow values at the corners 0 and ∞. Theorem 13.3 and Corollary 13.4 show that some directions are forced by position: arcs in series reinforce, and arcs that compete at a common node interfere. These facts underlie sensitivity analysis of maximal flows. They are also the two-parameter case of the lattice and submodularity structure of minimal cuts.
The theorems were proved by Shapley and printed with proofs by Ford and Fulkerson (RAND, 1962). Their proofs argue from a picture of how the regions of linearity of vˉij can sit in the quadrant (Fig. 13.2). No machine-checked proof of any statement of Section 13 exists on Prove2Me. Proved max-flow min-cut statements exist there for a single source and sink and in other conventions, and are related to milestone 1 rather than identical to it. Formalizing the section gives a checked account of the parametric behaviour of the maximal flow value. That includes the infinite capacities the section allows, and the indeterminate case of pij, which a picture handles only informally.
Difficulty
The first idea is to read the sign off formula (13.4): vˉij is the minimum of four affine functions, so its mixed second difference is determined by which pieces are active at the four corners of a rectangle. A minimum of four arbitrary affine functions, however, can have mixed differences of both signs. The claim depends on constraints that the four corner values satisfy because they come from one network, and on how the regions of linearity can meet. The book's proof uses a case analysis of these configurations: at most one diagonal boundary segment, and its slope fixed by pij. Making that analysis rigorous, including the degenerate configurations where regions are empty or corner values are infinite, is the core of the goal and of Corollary 13.2.
Milestone 1 also has to be established in the several-source form, with arcs allowed to enter sources and to leave sinks, where the reduction to a single source and sink must respect flows whose sources have net inflow.
Formalization scope
Nodes form a finite type with decidable equality; arcs are a finite set of ordered pairs without loops; sources and sinks are disjoint finite sets, either of which may be empty (then vˉ≡0 and every statement holds trivially, as in the book). Capacities of the fixed arcs are finite nonnegative reals. The two varied capacities and every maximal flow value lie in [0,∞] (ℝ≥0∞). A flow is a real function vanishing off the arcs, and the maximal flow value is the supremum of flow values in [0,∞]. That supremum is taken over a nonempty set (the zero flow), so it is never a default value, and it is ∞ exactly when flow values are unbounded. The maximal flow value is not defined as a minimum cut capacity; equality with the minimum cut is milestone 1.
The difference quotient is taken at finite real arguments over every rectangle with ξ,η,ξ+h,η+k≥0 and hk=0; h and k may be negative. The book prints the third term of (13.12) as vˉij(ξ,η+h). The rectangle the theorem names needs vˉij(ξ,η+k), which is the formalized quotient; with the printed term the claim already fails for two arcs in series. The constant pij is a four-way value (indeterminate, +∞, −∞, real), so ∞−∞ is never silently assigned a number.
"Of one sign" is formalized as one sign for all rectangles at once. The rectangle-by-rectangle reading, under which every real number is trivially ≥0 or ≤0, is ruled out.
A complete development needs flows with several sources and sinks, cuts, and the max-flow min-cut theorem in that form; the definitions here are self-contained and reusable for any parametric max-flow statement. Contributions of the general piecewise-linear structure of vˉ in one or two capacities are welcome.
Selected references
- L. R. Ford, Jr. and D. R. Fulkerson, Flows in Networks, The RAND Corporation, Report R-375-PR, 1962, Chapter I, §§7 and 13; published by Princeton University Press, 1962. https://doi.org/10.1515/9781400875184
- L. R. Ford, Jr. and D. R. Fulkerson, Maximal flow through a network, Canadian Journal of Mathematics 8 (1956), 399–404. https://doi.org/10.4153/CJM-1956-045-5
- D. M. Topkis, Minimizing a submodular function on a lattice, Operations Research 26 (1978), 305–321. https://doi.org/10.1287/opre.26.2.305