Motivation
An m×n matrix of 0's and 1's is the incidence matrix of m sets against n elements, or the adjacency matrix of a bipartite graph, or, when m=n, the adjacency matrix of a directed graph on n nodes. The first question about such matrices is when one exists with prescribed row and column sums. Gale (1957) and Ryser (1957) answered it independently with a partial-sum criterion against the conjugate sequence. Ore (1956) solved the companion problem for directed graphs: when does a given directed graph have a subgraph with prescribed in- and out-degrees? Fulkerson (1960) treated the square case in which 1's are forbidden on the main diagonal, which is the degree problem for directed graphs without loops.
Ford and Fulkerson's Flows in Networks derives all of these from the supply-demand theorem for network flows. Chapter II, §11 states a two-sided version of Ore's theorem (Theorem 11.1, Corollary 11.2). §12 states the Gale–Ryser theorem in inequality form (Theorem 12.1, Corollaries 12.2–12.3) and Fulkerson's zero-trace theorem (Theorem 12.4, Corollaries 12.5–12.6). This mission formalizes those statements, citing the RAND typescript (Report R-375-PR, 1962), Chapter II, pp. 70–92.
Setting
A directed graph G=[N;A] has a finite node set N and a set A of ordered pairs (x,y) with x=y, at most one per ordered pair. A subgraph H keeps the nodes and takes an arc set A′⊆A. Its local degree at x is the pair eH(x), iH(x): the numbers of arcs of H entering and leaving x. For X⊆N, A(X) is the set of heads of arcs leaving X and B(X) the set of tails of arcs entering X; ∣(X,y)∣ and ∣(y,X)∣ count the arcs from X to y and from y to X; a(X)=∑x∈Xa(x).
A (0,1)-matrix A=(aij) has every entry 0 or 1. For nonnegative integers a1,…,am the conjugate sequence is aj∗=∣{i∣ai≥j}∣. For nonnegative integers a1,…,an, the diagonally restricted conjugate sequence (ak∗∗) is defined as follows. In an n×n array, row i places ai dots in its leftmost columns other than column i, and ak∗∗ is the number of dots in column k:
ak∗∗=∣{i∣i<k, ai≥k−1}∣+∣{i∣i>k, ai≥k}∣.
For a=(4,3,3,2,2,1) this gives a∗∗=(5,4,2,3,1,0), which is not monotone.
In Lean these are Digraph, IsSubgraph, outDeg, inDeg, succSet, predSet, numArcsTo, numArcsFrom (file Def_FlowsNetworks_Matrices_Digraph) and IsZeroOne, conj, diagDot, diagConj (file Def_FlowsNetworks_Matrices_ZeroOne), all in the namespace FlowsNetworks.Matrices.
Formalization targets
Goal: the zero-trace theorem (Chapter II, Theorem 12.4, p. 89)
For nonnegative integers a1≥⋯≥an and b1≥⋯≥bn, there is an n×n (0,1)-matrix with
j∑aij≤ai,i∑aij≥bj,i∑aii=0
if and only if
i=1∑kbi≤i=1∑kai∗∗,k=1,…,n.
Milestones
- Theorem 11.1 (pp. 73–74). For integers 0≤a(x)≤a′(x) and 0≤b(x)≤b′(x), G has a subgraph with a≤iH≤a′ and b≤eH≤b′ iff, for all X⊆N,
a(X)≤y∈A(X)∑min[b′(y),∣(X,y)∣],b(X)≤y∈B(X)∑min[a′(y),∣(y,X)∣].
- Corollary 11.2 (Ore, pp. 74–75): exact degrees iH=a, eH=b iff a(N)=b(N) and the first inequality holds with b in place of b′.
- Theorem 12.1 (pp. 79–80). For nonnegative integers a1,…,am and b1≥⋯≥bn, an m×n (0,1)-matrix with ∑iaij≥bj and ∑jaij≤ai exists iff ∑j≤kbj≤∑j≤kaj∗ for k=1,…,n.
- Corollaries 12.2 and 12.3 (p. 80): the cases bj=b (criterion nb≤∑jaj∗) and ai=a (criterion ∑jbj≤ma, bj≤m).
- Corollaries 12.5 and 12.6 (p. 90): the zero-trace cases bi=b (criterion nb≤∑iai∗∗) and ai=a (criterion ∑ibi≤na, bi≤n−1).
Significance
The result itself. Theorem 12.4 characterizes the out-degree upper bounds and in-degree lower bounds that a loopless directed graph on n labelled nodes can meet. With equal totals, it characterizes the degree sequences of such graphs (directed graphs with no loops and no parallel arcs). Theorem 12.1 is the inequality form of the Gale–Ryser theorem, which underlies the theory of the class A(R,S) of (0,1)-matrices with given margins: Ryser's structure matrix, interchanges, and term rank. Ore's theorem is its counterpart for an arbitrary host graph. Corollaries 12.2–12.3 and 12.5–12.6 are the closed forms used in scheduling and seating problems, such as n families at m tables with no two relatives at one table.
Formalizing it. All results are classical and proved. On the platform, the Gale–Ryser theorem exists only as AppliedComb.ManyFaces.gale_ryser (Keller–Trotter, Theorem 16.12). That statement requires equal sums and exact margins, sorts both sequences, and requires positive parts. The book's version has one-sided bounds, arbitrary totals, an unsorted a and zero entries, so it is drafted here, not referenced. No zero-trace theorem, diagonally restricted conjugate, or directed-subgraph degree theorem was found on the platform.
Difficulty
Each criterion is a family of n inequalities, and the content is that these few inequalities suffice. A direct argument has to show that a deficiency in some arbitrary set of columns, or of nodes, is already seen by an initial segment of the sorted sequence. The diagonal restriction breaks the usual monotonicity: a∗∗ need not be monotone (the example above has a3∗∗<a4∗∗), so the standard exchange argument for conjugate sequences does not apply unchanged. The ordering hypotheses are essential. Without b1≥⋯≥bn both Theorem 12.1 and Theorem 12.4 are false (findings F1, F2: a=(2), b=(0,2) for 12.1; a=(1,1), b=(0,2) for 12.4). The existence side needs an integral object (a matrix or a subgraph), not a fractional one.
Formalization scope
Matrices are Matrix (Fin m) (Fin n) ℕ with entries at most 1. Every integer datum is a natural number, so nonnegativity is built in. Indices are 0-based: the book's index i is i + 1, and ∑i=1k is the sum over i.val < k. Orderings are Antitone. Zero trace is written ∑iaii=0, as printed. Directed graphs have a finite node type with decidable equality, arcs form a Finset (N × N) with no loops, and a subgraph is an arc set H⊆A. Corollaries 12.3, 12.5 and 12.6 carry the ordering hypotheses of the theorem they specialize. In Corollary 11.2 the page prints b′(y) in (11.19), which is read as b(y) because the corollary prescribes exact degrees. Its summation range, printed y∈A(x), is read as A(X), as in (11.14).
The trivializing formalization is ruled out: a∗ and a∗∗ are explicit counts computed from the integers ai, never defined through the existence of a matrix, and every partial-sum criterion is required for every k=1,…,n, not only for k=n.
Beyond the paper. Two sharpness probes accompany the faithful statements. Each is expected to be false, and a disproof is the sought outcome. zero_one_matrix_existence_probe is Theorem 12.1 without b1≥⋯≥bn (F1: m=1, a=(2), b=(0,2) satisfies the criterion but admits no matrix). zero_trace_theorem_probe is Theorem 12.4 without b1≥⋯≥bn (F2: n=2, a=(1,1), b=(0,2) likewise).
A complete development needs integral network-flow feasibility (the supply-demand theorem with integrality, or a direct combinatorial substitute), the bijection between integral flows on a bipartite network and (0,1)-matrices or subgraphs, and conjugate-sequence identities such as ∑imin(ai,k)=∑j≤kaj∗. These pieces are reusable for the rest of Chapter II. Direct combinatorial proofs that avoid flows are equally welcome.
Selected references
- L. R. Ford, Jr. and D. R. Fulkerson, Flows in Networks, The RAND Corporation, Report R-375-PR, 1962; Princeton University Press, 1962. https://doi.org/10.1515/9781400875184
- D. Gale, A theorem on flows in networks, Pacific Journal of Mathematics 7 (1957), 1073–1082. https://doi.org/10.2140/pjm.1957.7.1073
- H. J. Ryser, Combinatorial properties of matrices of zeros and ones, Canadian Journal of Mathematics 9 (1957), 371–377. https://doi.org/10.4153/CJM-1957-044-3
- O. Ore, Studies on directed graphs, I, Annals of Mathematics 63 (1956), 383–406. https://doi.org/10.2307/1970010
- D. R. Fulkerson, Zero-one matrices with zero trace, Pacific Journal of Mathematics 10 (1960), 831–836. https://doi.org/10.2140/pjm.1960.10.831