Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

Graph Theory

345 missions · 142 completed

Missions

Open203Completed142All345
🏆Completed
CombinatoricsOperations ResearchOptimization+1·Captain: mikedeng1

An Analysis of Several Heuristics for the Traveling Salesman Problem III: Nearest and Cheapest Insertion Are Within a Factor of TwoResearch Paper

Motivation

The traveling salesman problem (TSP) asks for a shortest closed route through a finite set of points. It is NP-hard, and in practice tours are built by fast constructive heuristics whose output is then improved or used as is. A central question in the analysis of algorithms, raised in this form by Rosenkrantz, Stearns and Lewis in 1977, is how far such a heuristic can be from optimal in the worst case, as a function of the number of points nnn, when the distances satisfy the triangle inequality.

The paper (SIAM J. Comput. 6(3), 1977) answers this for several heuristics. For the general class of insertion methods it proves a logarithmic bound (Theorem 3); for two specific rules, nearest insertion and cheapest insertion, it proves a bound that does not grow with nnn: the tour is less than twice the optimal (Theorem 4), and more precisely at most 2(1−1/n)2(1-1/n)2(1−1/n) times the optimal (Corollary, eq. (4.12)). Theorem 5 of the same paper shows the constant 2(1−1/n)2(1-1/n)2(1−1/n) is attained, so this is the exact worst case of both rules. These results, with Christofides' 3/2 bound of 1976, are the classical reference points for approximation ratios of TSP construction heuristics and appear in standard OR and approximation-algorithm texts.

Setting

A traveling salesman graph (N,d)(N,d)(N,d) has a finite node set NNN with ∣N∣=n|N| = n∣N∣=n and a distance d:N×N→Rd : N\times N\to\mathbb Rd:N×N→R that is symmetric, nonnegative and satisfies the triangle inequality d(i,k)≤d(i,j)+d(j,k)d(i,k)\le d(i,j)+d(j,k)d(i,k)≤d(i,j)+d(j,k). A tour is a circuit visiting every node exactly once; its length is the sum of its edge lengths, and OPTIMAL is the least tour length.

A subtour TTT is a tour on a subset of NNN (a one-node subtour has no edges). For k∉Tk\notin Tk∈/T, TOUR(T,k)\mathrm{TOUR}(T,k)TOUR(T,k) inserts kkk into TTT where it is cheapest: if TTT has at least two nodes, choose an edge (x,y)(x,y)(x,y) of TTT minimizing d(x,k)+d(k,y)−d(x,y)d(x,k)+d(k,y)-d(x,y)d(x,k)+d(k,y)−d(x,y) and replace it by (x,k),(k,y)(x,k),(k,y)(x,k),(k,y); if T={i}T=\{i\}T={i}, form the two-node tour on i,ki,ki,k. COST(T,k)\mathrm{COST}(T,k)COST(T,k) is the length of TOUR(T,k)\mathrm{TOUR}(T,k)TOUR(T,k) minus the length of TTT.

An insertion method builds subtours T1,…,TnT_1,\dots,T_nT1​,…,Tn​ with T1={a0}T_1=\{a_0\}T1​={a0​} and Ti+1=TOUR(Ti,ai)T_{i+1}=\mathrm{TOUR}(T_i,a_i)Ti+1​=TOUR(Ti​,ai​) for some ai∉Tia_i\notin T_iai​∈/Ti​, 1≤i<n1\le i<n1≤i<n; INSERT is the length of TnT_nTn​. With d(T,p)=min⁡x∈Td(x,p)d(T,p)=\min_{x\in T}d(x,p)d(T,p)=minx∈T​d(x,p):

  • nearest insertion chooses each aia_iai​ with d(Ti,ai)=min⁡{d(Ti,x):x∈N−Ti}d(T_i,a_i)=\min\{d(T_i,x): x\in N-T_i\}d(Ti​,ai​)=min{d(Ti​,x):x∈N−Ti​};
  • cheapest insertion chooses each aia_iai​ with COST(Ti,ai)=min⁡{COST(Ti,x):x∈N−Ti}\mathrm{COST}(T_i,a_i)=\min\{\mathrm{COST}(T_i,x): x\in N-T_i\}COST(Ti​,ai​)=min{COST(Ti​,x):x∈N−Ti​}.

The start node a0a_0a0​ and every tie (between candidate nodes, and between candidate edges) are arbitrary. TREE denotes the length of a minimal spanning tree of (N,d)(N,d)(N,d).

Formalization targets

Goal: Corollary to Theorem 4, eq. (4.12)

For every traveling salesman graph on n≥1n\ge1n≥1 nodes and every run of nearest insertion or of cheapest insertion,

INSERT  ≤  2(1−1n)⋅OPTIMAL.\mathrm{INSERT}\;\le\;2\Bigl(1-\frac1n\Bigr)\cdot\mathrm{OPTIMAL}.INSERT≤2(1−n1​)⋅OPTIMAL.

Milestones

  1. Lemma 2, (3.3): COST(T,k)≤2 d(k,j)\mathrm{COST}(T,k)\le 2\,d(k,j)COST(T,k)≤2d(k,j) for k∉Tk\notin Tk∈/T, j∈Tj\in Tj∈T.
  2. Eq. (3.7): for every insertion method, INSERT=∑i=1n−1COST(Ti,ai)\mathrm{INSERT}=\sum_{i=1}^{n-1}\mathrm{COST}(T_i,a_i)INSERT=∑i=1n−1​COST(Ti​,ai​).
  3. Eqs. (4.9)–(4.10): nearest insertion satisfies COST(Ti,ai)≤2 d(p,q)\mathrm{COST}(T_i,a_i)\le 2\,d(p,q)COST(Ti​,ai​)≤2d(p,q) for all p∈Tip\in T_ip∈Ti​, q∉Tiq\notin T_iq∈/Ti​ (4.5).
  4. Proof of Theorem 4: cheapest insertion satisfies (4.5) as well.
  5. Lemma 3: every insertion run satisfying (4.5) has INSERT≤2⋅TREE\mathrm{INSERT}\le 2\cdot\mathrm{TREE}INSERT≤2⋅TREE (4.6).
  6. Eq. (4.11): TREE≤(1−1/n)⋅OPTIMAL\mathrm{TREE}\le(1-1/n)\cdot\mathrm{OPTIMAL}TREE≤(1−1/n)⋅OPTIMAL.

Theorem 4 itself, INSERT<2⋅OPTIMAL\mathrm{INSERT}<2\cdot\mathrm{OPTIMAL}INSERT<2⋅OPTIMAL when ddd is not identically zero, is included as a companion statement.

Significance

The bound says that two simple O(n2)O(n^2)O(n2) and O(n2log⁡n)O(n^2\log n)O(n2logn) construction rules are never worse than a factor 2(1−1/n)2(1-1/n)2(1−1/n) from optimal on any metric instance, a guarantee independent of nnn, in contrast with nearest neighbor and with arbitrary insertion orders, whose ratios the same paper shows can grow logarithmically. Lemma 3 is reusable on its own: any insertion rule satisfying the local inequality (4.5) inherits the bound 2⋅TREE2\cdot\mathrm{TREE}2⋅TREE, and the paper notes that similar arguments apply to nearest addition and nearest merger.

The result has been proved since 1977. The Prove2Me library has a machine-checked proof of the weaker statement for nearest insertion only with constant 222 (SupplyChainTheory.nearest_insertion_bound, from Snyder–Shen, Theorem 10.7) and of TREE≤OPTIMAL\mathrm{TREE}\le\mathrm{OPTIMAL}TREE≤OPTIMAL (SupplyChainTheory.mst_lower_bound). This mission asks for the paper's full statement: both rules, the exact constant 2(1−1/n)2(1-1/n)2(1−1/n), and the general Lemma 3 via its correspondence between insertion steps and spanning-tree edges. Paired with the tightness result of the companion mission (Theorem 5), it would give a formally verified exact worst-case ratio for both heuristics.

Difficulty

Lemma 2 and inequality (4.5) are local consequences of the triangle inequality; the difficulty is global. The obvious attempt at Lemma 3 charges step iii to the tree edge joining aia_iai​ to its nearest node of TiT_iTi​, but distinct steps can then be charged to the same tree edge, and the sum of the charges no longer bounds 2⋅TREE2\cdot\mathrm{TREE}2⋅TREE. Any correct argument must control how the insertion order interacts with the structure of an arbitrary spanning tree, which in Lean means reasoning about paths in SimpleGraph together with the evolving subtours. For cheapest insertion the chosen node need not be a nearest node, so (4.5) is not immediate from the rule. Finally, the goal's constant 2(1−1/n)2(1-1/n)2(1−1/n) is sharper than the bound 2⋅OPTIMAL2\cdot\mathrm{OPTIMAL}2⋅OPTIMAL obtained from TREE≤OPTIMAL\mathrm{TREE}\le\mathrm{OPTIMAL}TREE≤OPTIMAL, so the weaker spanning-tree bound already in the library does not suffice.

Formalization scope

Nodes are Fin n with n≥1n\ge1n≥1 (the paper's nodes 1,…,n1,\dots,n1,…,n shifted to 0,…,n−10,\dots,n-10,…,n−1). The distance satisfies the paper's three axioms plus the normalization d(i,i)=0d(i,i)=0d(i,i)=0, which never affects a tour, subtour or tree length. Tours are permutations; OPTIMAL is a minimum over all of them (Finset.inf'). Subtours are lists of distinct nodes with closed length. TOUR(T,k)\mathrm{TOUR}(T,k)TOUR(T,k) is encoded as insertion of kkk at a list position whose resulting length is minimal over all ∣T∣+1|T|+1∣T∣+1 positions, which is the minimization of (3.1) over the edges of TTT; COST is the corresponding minimum increase. The subtour index is 1-based as printed (T1={a0}T_1=\{a_0\}T1​={a0​}, TnT_nTn​ final). The distance d(T,p)d(T,p)d(T,p) is taken in R∪{+∞}\mathbb R\cup\{+\infty\}R∪{+∞}, so no default value enters the nearest rule. Spanning trees are SimpleGraph (Fin n) with IsTree; statements about TREE are phrased over every spanning tree (upper bounds) or some spanning tree (bounds on TREE), which is equivalent. Ratios are multiplied out, so the goal needs no nontriviality hypothesis; Theorem 4's strict form carries the paper's exclusion of the identically zero distance (p. 564).

A formalization in which TOUR inserts at an arbitrary rather than a cheapest position, or in which the run fixes the start node or the tie-breaking, would state a different (and, for arbitrary positions, false) theorem; the statements here quantify over every run.

A complete development needs subtour-length lemmas for List.insertIdx, the telescoping identity (3.7), and a spanning-tree edge-assignment argument on Mathlib's SimpleGraph paths; the last two are reusable for other insertion rules and for the companion missions of this series. Proofs of any milestone are welcome independently.

Selected references

  • D. J. Rosenkrantz, R. E. Stearns, P. M. Lewis II, An Analysis of Several Heuristics for the Traveling Salesman Problem, SIAM Journal on Computing 6(3):563–581, 1977. https://doi.org/10.1137/0206041
  • N. Christofides, Worst-Case Analysis of a New Heuristic for the Travelling Salesman Problem, Report 388, GSIA, Carnegie Mellon University, 1976. https://doi.org/10.1007/s43069-021-00101-z (reprint in Operations Research Forum 3, 2022)
  • L. V. Snyder, Z.-J. M. Shen, Fundamentals of Supply Chain Theory, 2nd ed., Wiley, 2019, Chapter 10 (Theorem 10.7). https://doi.org/10.1002/9781119584445
10 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs III: The Stable Set Polytope after Substituting a Graph for a VertexResearch Paper

Motivation

Many combinatorial optimization problems on graphs are linear programs over a polytope whose inequality description is unknown. The stable set polytope is the standard example: maximizing a linear function over it is the maximum weight stable set problem, which is NP-hard, and no complete inequality description is known for general graphs. A productive line of work, begun in V. Chvátal's 1975 paper On certain polytopes associated with graphs (J. Combin. Theory Ser. B 18 (1975) 138–154), asks instead how such descriptions behave under graph operations: if descriptions are known for small graphs, can one write one down for a graph built from them?

Section 5 of that paper answers this for substitution, the operation that replaces a vertex of one graph by a whole second graph. Substitution contains three familiar constructions as special cases: duplicating a vertex, forming the join of two graphs, and forming the lexicographic product (composition). Duplication is one of the two ingredients of Lovász's proof of the perfect graph theorem (Lovász 1972); substitution in general is the operation under which perfection is preserved, and graphs built from simple pieces by substitution are a recurring source of classes with tractable stable set polytopes.

Setting

All graphs are finite, undirected and loopless. A stable set of a graph G=(V,E)G=(V,E)G=(V,E) is a set of vertices no two of which are adjacent. Write S(G)⊆RVS(G)\subseteq\mathbb R^VS(G)⊆RV for the set of incidence vectors of stable sets (the zero–one vectors xxx with {u:xu=1}\{u:x_u=1\}{u:xu​=1} stable), and

P(G)=conv⁡S(G)P(G)=\operatorname{conv}S(G)P(G)=convS(G)

for the stable set polytope. A finite system of linear inequalities in the variables (xu:u∈V)(x_u:u\in V)(xu​:u∈V) is a defining linear system of P(G)P(G)P(G) when its set of solutions is exactly P(G)P(G)P(G).

Let G1=(V1,E1)G_1=(V_1,E_1)G1​=(V1​,E1​) and G2=(V2,E2)G_2=(V_2,E_2)G2​=(V2​,E2​) be graphs with V1∩V2=∅V_1\cap V_2=\emptysetV1​∩V2​=∅, and let v∈V1v\in V_1v∈V1​. The graph GGG obtained from G1G_1G1​ by substituting G2G_2G2​ for vvv has vertex set (V1−{v})∪V2(V_1-\{v\})\cup V_2(V1​−{v})∪V2​. Its edges are the edges of G1−vG_1-vG1​−v, the edges of G2G_2G2​, and every edge joining a vertex of G2G_2G2​ to a neighbour of vvv in G1G_1G1​. In Lean the vertex type is the disjoint sum {u : V₁ // u ≠ v} ⊕ V₂ and the graph is substitute G₁ v G₂.

Formalization targets

Goal: Theorem 5.1

For k∈{1,2}k\in\{1,2\}k∈{1,2} let

−xu≤0 (u∈Vk),∑u∈Vkaiuxu≤bi (i∈Jk)-x_u\le 0\ (u\in V_k),\qquad \sum_{u\in V_k}a_{iu}x_u\le b_i\ (i\in J_k)−xu​≤0 (u∈Vk​),u∈Vk​∑​aiu​xu​≤bi​ (i∈Jk​)

be a defining linear system of P(Gk)P(G_k)P(Gk​), with J1,J2J_1,J_2J1​,J2​ finite index sets and real coefficients, and put aiv+=max⁡{aiv,0}a^+_{iv}=\max\{a_{iv},0\}aiv+​=max{aiv​,0} for i∈J1i\in J_1i∈J1​. Then

−xu≤0  (u∈V2∪(V1−{v})),aiv+∑u∈V2ajuxu+bj∑u∈V1−{v}aiuxu≤bibj  (i∈J1, j∈J2)(5.1)-x_u\le 0\ \ (u\in V_2\cup(V_1-\{v\})),\qquad a^+_{iv}\sum_{u\in V_2}a_{ju}x_u+b_j\sum_{u\in V_1-\{v\}}a_{iu}x_u\le b_ib_j\ \ (i\in J_1,\ j\in J_2)\tag{5.1}−xu​≤0  (u∈V2​∪(V1​−{v})),aiv+​u∈V2​∑​aju​xu​+bj​u∈V1​−{v}∑​aiu​xu​≤bi​bj​  (i∈J1​, j∈J2​)(5.1)

is a defining linear system of P(G)P(G)P(G). The statement fixes no particular system for G1G_1G1​ or G2G_2G2​: any defining systems of the two pieces produce one for GGG, with ∣J1∣⋅∣J2∣|J_1|\cdot|J_2|∣J1​∣⋅∣J2​∣ rows besides nonnegativity.

Milestones

  1. Validity of (5.1) (§5, p. 145): every x∈S(G)x\in S(G)x∈S(G) satisfies (5.1), hence so does every point of P(G)P(G)P(G).
  2. Proposition 2.1 (pp. 139–140): for a finite nonempty set SSS of solutions of a system with nonnegativity rows −xu≤0-x_u\le 0−xu​≤0, the solution set equals conv⁡S\operatorname{conv}SconvS if and only if for every integer vector ccc the value max⁡{cx:x∈S}\max\{cx:x\in S\}max{cx:x∈S} equals the minimum of the associated dual linear program, the minimum being attained.
  3. Decomposition of the optimum (§5, pp. 145–146): for an integer vector ccc on V2∪WV_2\cup WV2​∪W, W=V1−{v}W=V_1-\{v\}W=V1​−{v}, with du=max⁡{cu,0}d_u=\max\{c_u,0\}du​=max{cu​,0},
max⁡{cx:x∈S(G)}=max⁡{m0, m1+m2},\max\{cx:x\in S(G)\}=\max\{m_0,\ m_1+m_2\},max{cx:x∈S(G)}=max{m0​, m1​+m2​},

where m0m_0m0​ and m1m_1m1​ are the maxima of ∑u∈Wduxu\sum_{u\in W}d_ux_u∑u∈W​du​xu​ over x∈S(G1)x\in S(G_1)x∈S(G1​) with xv=0x_v=0xv​=0 and xv=1x_v=1xv​=1 respectively, and m2m_2m2​ is the maximum of ∑u∈V2duxu\sum_{u\in V_2}d_ux_u∑u∈V2​​du​xu​ over S(G2)S(G_2)S(G2​).

Significance

Theorem 5.1 gives an explicit construction: from a polyhedral description of P(G1)P(G_1)P(G1​) and P(G2)P(G_2)P(G2​) it writes one of P(G)P(G)P(G), row by row, with no loss. Specialized to G1=K2G_1=K_2G1​=K2​ it gives Corollary 5.2 of the paper, a defining linear system for the join G1+G2G_1+G_2G1​+G2​; applied repeatedly it gives defining systems for lexicographic products, and applied with G2=K2‾G_2=\overline{K_2}G2​=K2​​ it describes the effect of duplicating a vertex. Applied to clique systems, whose coefficients are 0 and 1, the rows of (5.1) are again clique inequalities of GGG, so the class of graphs whose stable set polytope is described by nonnegativity and clique inequalities is closed under substitution.

The result has been proved in print since 1975. As far as a search of the Prove2Me catalogue shows, none of it, including Proposition 2.1 and the substitution operation itself, has a machine-checked statement or proof. The mission asks for a formal proof of the theorem and of the two combinatorial and polyhedral steps it rests on. The definitions of S(G)S(G)S(G), P(G)P(G)P(G) and graph substitution, and the LP characterization of Proposition 2.1, are reusable by every other mission on stable set polytopes and on polyhedral descriptions of 0–1 sets.

Difficulty

That every point of P(G)P(G)P(G) satisfies (5.1) is a short case check on stable sets of GGG. The difficulty is the reverse inclusion: that no point outside P(G)P(G)P(G) satisfies (5.1). The first idea, taking a point that satisfies (5.1) and splitting it directly into a point of P(G1)P(G_1)P(G1​) and a point of P(G2)P(G_2)P(G2​), fails: (5.1) couples the two input systems through products of their coefficients and right-hand sides, and a fractional solution of (5.1) carries no evident decomposition into the two pieces. Nothing is assumed about the signs of the input coefficients, so the rows of (5.1) can mix positive and negative terms, and the positive part aiv+a^+_{iv}aiv+​ in place of aiva_{iv}aiv​ is what keeps the system valid when aiv<0a_{iv}<0aiv​<0.

The polyhedral step behind Proposition 2.1, relating a convex hull of finitely many points to an inequality system through linear programming duality, is not available in Mathlib in this form and has to be built.

Formalization scope

  • Graphs are SimpleGraph on a Fintype with decidable equality; the substituted graph lives on {u : V₁ // u ≠ v} ⊕ V₂, which builds in V1∩V2=∅V_1\cap V_2=\emptysetV1​∩V2​=∅.
  • S(G)S(G)S(G) is the set of real incidence vectors of finite stable sets (IsIndepSet); P(G)P(G)P(G) is convexHull ℝ (S G), never the solution set of an inequality system.
  • A linear system is a finite index type JJJ with real a : J → V → ℝ, b : J → ℝ. The nonnegativity rows −xu≤0-x_u\le0−xu​≤0 are kept as a separate conjunct ∀ u, 0 ≤ x u everywhere; Proposition 2.1 is false without them. "Defining linear system" is set equality of the solution set with P(G)P(G)P(G).
  • No sign conditions on the aiua_{iu}aiu​ or bib_ibi​ are assumed; the paper assumes none.
  • Implicit hypothesis made explicit: V2≠∅V_2\ne\emptysetV2​=∅ ([Nonempty V₂]) in Theorem 5.1. The paper's graphs have nonempty vertex sets and its proof picks a vertex of G2G_2G2​; with V2=∅V_2=\emptysetV2​=∅, J2=∅J_2=\emptysetJ2​=∅ and V1≠{v}V_1\ne\{v\}V1​={v}, (5.1) is just x≥0x\ge0x≥0 and the theorem fails. The validity milestone does not need it.
  • In Proposition 2.1 the set SSS is assumed nonempty, which the paper's max⁡{cx:x∈S}\max\{cx:x\in S\}max{cx:x∈S} presupposes. "max = min" is stated as a lower bound for every feasible dual vector plus a feasible dual vector attaining the maximum.
  • In the decomposition milestone each maximum is a real sSup over a finite set that always contains the zero vector or the incidence vector of {v}\{v\}{v}, so no junk value of sSup can occur.
  • A trivializing formalization is excluded: P(G)P(G)P(G) is the convex hull of stable-set vectors rather than a set defined through the same inequalities, and the goal is the full set equality, not the validity inclusion alone.

Contributions welcome: a proof of Proposition 2.1 (the reusable core), the combinatorial decomposition, the validity case check, and the assembly of the goal.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, J. Combin. Theory Ser. B 18 (1975) 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • L. Lovász, Normal hypergraphs and the perfect graph conjecture, Discrete Math. 2 (1972) 253–267. https://doi.org/10.1016/0012-365X(72)90006-4
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, J. Res. Nat. Bur. Standards 69B (1965) 125–130. https://doi.org/10.6028/jres.069B.013
  • F. Harary, Graph Theory, Addison-Wesley, 1969.
6 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear algebraProbability+1·Captain: mikedeng1

Matching Is as Easy as Matrix Inversion: Steps 1–3 Find a Minimum Weight Perfect Matching with Probability at Least 1/2Research Paper

Motivation

Deciding whether a graph has a perfect matching, and finding one, are basic problems of combinatorial optimization; Edmonds' blossom algorithm solves them sequentially in polynomial time. The question behind this paper is whether they can also be solved in parallel, in polylogarithmic time on polynomially many processors (the class NC, or RNC when random bits are allowed).

The algebraic route to that question goes through the Tutte matrix. Tutte (1947) showed that a graph has a perfect matching if and only if its Tutte matrix, a skew-symmetric matrix of indeterminates, has a nonzero determinant. Substituting random numbers for the indeterminates turns this into a randomized parallel decision procedure, but it does not say which perfect matching exists, and a graph may have exponentially many.

Mulmuley, Vazirani and Vazirani (Combinatorica 7 (1987) 105–113) resolve this with the isolating lemma: random small integer weights make the minimum weight member of an arbitrary set family unique with probability at least one half. Once a single perfect matching is isolated, one determinant and one adjugate of an integer matrix reveal it. The isolating lemma has since become a standard tool in randomized algorithms and complexity theory, well beyond matchings.

Timeline:

  • 1947, Tutte: a graph has a perfect matching iff the determinant of its Tutte matrix is a nonzero polynomial (doi:10.1112/jlms/s1-22.2.107).
  • 1979, Lovász: random substitution into the Tutte matrix gives a randomized algorithm for deciding whether a perfect matching exists (Fundamentals of Computation Theory, LNCS 1979).
  • 1986, Karp, Upfal and Wigderson: the first RNC algorithm that finds a perfect matching, with RNC³ running time (Combinatorica 6 (1986) 35–48).
  • 1987, Mulmuley, Vazirani and Vazirani: the isolating lemma and an RNC² algorithm that inverts one integer matrix (this paper).
  • 2016–2017, Fenner, Gurjar and Thierauf (arXiv:1601.06319) for bipartite graphs, and Svensson and Tarnawski (arXiv:1704.01929) for general graphs, partially derandomize the isolation step and place perfect matching in quasi-NC. Whether perfect matching is in NC remains open.

Setting

A set system (S,F)(S, F)(S,F) is a finite set SSS of elements together with a family FFF of subsets of SSS. Given a weight wx∈Nw_x \in \mathbb{N}wx​∈N for each element xxx, the weight of T⊆ST \subseteq ST⊆S is w(T)=∑x∈Twxw(T) = \sum_{x \in T} w_xw(T)=∑x∈T​wx​, and FFF has a unique minimum weight set if one member of FFF is strictly lighter than every other member.

A graph GGG has vertices v1,…,vnv_1, \dots, v_nv1​,…,vn​ (in Lean, Fin n, in their natural order) and edge set EEE, with m=∣E∣m = |E|m=∣E∣. A perfect matching is a set M⊆EM \subseteq EM⊆E such that every vertex lies in exactly one edge of MMM. The edges and the perfect matchings of GGG form a set system.

Given edge weights wij∈Nw_{ij} \in \mathbb{N}wij​∈N, the integer matrix BBB is obtained from the Tutte matrix by substituting 2wij2^{w_{ij}}2wij​ for its indeterminates:

bij=2wij if (vi,vj)∈E, i<j;bij=−2wij if (vi,vj)∈E, i>j;bij=0 otherwise.b_{ij} = 2^{w_{ij}} \ \text{if } (v_i, v_j) \in E,\ i < j; \qquad b_{ij} = -2^{w_{ij}} \ \text{if } (v_i, v_j) \in E,\ i > j; \qquad b_{ij} = 0 \ \text{otherwise}.bij​=2wij​ if (vi​,vj​)∈E, i<j;bij​=−2wij​ if (vi​,vj​)∈E, i>j;bij​=0 otherwise.

∣B∣|B|∣B∣ is its determinant, BijB_{ij}Bij​ the submatrix with row iii and column jjj removed, and adj⁡(B)\operatorname{adj}(B)adj(B) its adjugate, whose (j,i)(j, i)(j,i) entry is ±∣Bij∣\pm|B_{ij}|±∣Bij​∣.

The algorithm of §4 is:

  1. Step 1. Compute ∣B∣|B|∣B∣ and obtain www, the exponent for which 22w2^{2w}22w is the highest power of 2 dividing ∣B∣|B|∣B∣.
  2. Step 2. Compute adj⁡(B)\operatorname{adj}(B)adj(B).
  3. Step 3. Output every edge (vi,vj)(v_i, v_j)(vi​,vj​) for which the integer ∣Bij∣ 2wij/22w|B_{ij}|\,2^{w_{ij}}/2^{2w}∣Bij​∣2wij​/22w is odd.

Formalization targets

Goal: Steps 1–3 find a minimum weight perfect matching with probability at least 1/2

For every graph GGG that has a perfect matching, with edge weights drawn uniformly and independently from {1,…,2m}\{1, \dots, 2m\}{1,…,2m},

Pr⁡[the output of Steps 1–3 is a perfect matching of G of minimum weight] ≥ 12.\Pr\bigl[\text{the output of Steps 1–3 is a perfect matching of } G \text{ of minimum weight}\bigr] \ \ge\ \tfrac12 .Pr[the output of Steps 1–3 is a perfect matching of G of minimum weight] ≥ 21​.

This is the correctness half of the paper's Theorem (p. 109). The probability is a fraction of the (2m)m(2m)^m(2m)m weight functions.

Milestones

  1. Lemma 1 (isolating lemma): for a nonempty family FFF over an nnn-element set, weights uniform in [1,2n][1, 2n][1,2n] give a unique minimum weight set with probability ≥1/2\ge 1/2≥1/2.
  2. Isolation for perfect matchings (§4): with edge weights uniform in [1,2m][1, 2m][1,2m], the minimum weight perfect matching is unique with probability ≥1/2\ge 1/2≥1/2.
  3. Odd-cycle cancellation (proof of Lemma 2): for a skew-symmetric integer matrix, only permutations all of whose cycles have even length contribute to the determinant.
  4. Lemma 2: if the minimum weight perfect matching is unique, of weight www, then ∣B∣≠0|B| \neq 0∣B∣=0 and 22w2^{2w}22w is the highest power of 2 dividing ∣B∣|B|∣B∣.
  5. Lemma 3: under the same hypothesis, (vi,vj)∈M(v_i, v_j) \in M(vi​,vj​)∈M iff ∣Bij∣ 2wij/22w|B_{ij}|\,2^{w_{ij}}/2^{2w}∣Bij​∣2wij​/22w is odd.
  6. Steps 1–3, deterministic core: under the same hypothesis, Step 1 obtains the weight of MMM and Steps 2–3 output exactly MMM.

Two companion items are included but are not on the goal's path: the maximum weight version of Lemma 1 (the remark after its proof, p. 107) and Lemma 4 (p. 110): the lexicographically largest matching set, for vertices sorted by decreasing weight, is a heaviest matching set.

Significance

The isolating lemma is a statement about arbitrary set families with no structure assumed, which is why it transfers: it is used for isolating satisfying assignments, for parallel algorithms for exact matching and minimum weight matchings with small weights, and in the derandomization program that led to the quasi-NC matching algorithms cited above. Lemmas 2 and 3 are the bridge from a combinatorial object (a unique minimum weight perfect matching) to arithmetic facts about one integer matrix (2-adic valuations of its determinant and adjugate entries), which is what makes the algorithm reducible to matrix inversion.

All results of this mission are proved in the paper. What the mission adds is machine-checked proofs: Mathlib at the pinned revision contains Tutte's barrier theorem but neither the isolating lemma nor the Tutte-matrix determinant arguments, and a search of Prove2Me (September 2026) found no formalization of them. A complete development yields a reusable isolating lemma for finite set systems and a reusable determinant expansion for skew-symmetric matrices.

Difficulty

The probabilistic step is a union bound over elements, but the event bounded for each element, "the element is ambiguous", is defined through a threshold that depends on all the other weights; the argument needs independence of that threshold from the element's own weight, which is a product-space (Fubini-type) counting statement rather than a one-line estimate. In a counting formalization over {1,…,2n}S\{1, \dots, 2n\}^S{1,…,2n}S, each fibre must be handled separately.

The determinant steps require a genuine combinatorial involution on permutations: reversing an odd cycle must be well defined (a canonical choice of cycle) and self-inverse, preserve the sign, negate the value, and in Lemma 3 also preserve the constraint σ(i)=j\sigma(i) = jσ(i)=j, which is where "since nnn is even, there are at least two odd cycles" enters. Relating a permutation with only even cycles to a pair of perfect matchings whose union is its trail is the second nontrivial bijection. Divisibility must be tracked exactly: 22w2^{2w}22w divides every term, and every term other than the one of MMM is divisible by 22w+12^{2w+1}22w+1.

Formalization scope

Vertices are Fin n and the graph is G : SimpleGraph (Fin n) with decidable adjacency. Edge weights are functions G.edgeSet → ℕ; perfect matchings are Finset G.edgeSet in which every vertex lies in exactly one edge. The matrix is weightedTutteMatrix G w : Matrix (Fin n) (Fin n) ℤ, with the positive entry above the diagonal. Probabilities are ratios of counts over Fintype.piFinset (fun _ => Finset.Icc 1 (2m)), stated without division as (2m)m≤2⋅#{… }(2m)^m \le 2 \cdot \#\{\dots\}(2m)m≤2⋅#{…}; the weight range is exactly [1,2m][1, 2m][1,2m] (resp. [1,2n][1, 2n][1,2n] in Lemma 1). "x/2kx/2^kx/2k is odd" means 2k∣x2^k \mid x2k∣x and x/2kx/2^kx/2k is an odd integer. The minor ∣Bij∣|B_{ij}|∣Bij​∣ is taken as Mathlib's signed cofactor adjugate B j i; parity and divisibility do not see the sign. Step 1's www is ⌊ν2(∣B∣)/2⌋\lfloor \nu_2(|B|)/2\rfloor⌊ν2​(∣B∣)/2⌋.

Added hypotheses: Lemma 1 and its maximum version assume FFF nonempty (the printed lemma omits it and is false for F=∅F = \emptysetF=∅); the goal and the isolation milestone assume GGG has a perfect matching, which is the paper's own input assumption. Lemmas 2 and 3 allow arbitrary natural weights, as printed.

The algorithm's output is defined from BBB, ∣B∣|B|∣B∣, adj⁡(B)\operatorname{adj}(B)adj(B), the 2-adic valuation and parity only; a definition of the output that refers to perfect matchings or to minimality would trivialize the goal and is ruled out. The complexity half of the Theorem (RNC², O(n3.5m)O(n^{3.5}m)O(n3.5m) processors), which rests on Pan's matrix-inversion algorithm, is not formalized, nor are §5a–b and §6.

Contributions welcome: proofs of the milestones in any order, general lemmas about the permutation expansion of skew-symmetric determinants, and a counting form of the union bound over product spaces, all of which are reusable outside this mission.

Selected references

  • K. Mulmuley, U. V. Vazirani, V. V. Vazirani, Matching is as easy as matrix inversion, Combinatorica 7(1) (1987) 105–113. https://doi.org/10.1007/BF02579206
  • W. T. Tutte, The factorization of linear graphs, J. London Math. Soc. 22 (1947) 107–111. https://doi.org/10.1112/jlms/s1-22.2.107
  • R. M. Karp, E. Upfal, A. Wigderson, Constructing a perfect matching is in random NC, Combinatorica 6(1) (1986) 35–48. https://doi.org/10.1007/BF02579407
  • L. Lovász, On determinants, matchings, and random algorithms, Fundamentals of Computation Theory (FCT '79), 1979, 565–574.
  • S. Fenner, R. Gurjar, T. Thierauf, Bipartite perfect matching is in quasi-NC, STOC 2016. https://arxiv.org/abs/1601.06319
  • O. Svensson, J. Tarnawski, The matching problem in general graphs is in quasi-NC, FOCS 2017. https://arxiv.org/abs/1704.01929
10 thms2 active usersReviewed
🏆Completed
CombinatoricsConvex OptimizationOperations Research·Captain: mikedeng1

Cones of Matrices and Set-Functions and 0–1 Optimization IV: Clique, Odd Hole, Odd Wheel and Odd Antihole Constraints Hold after One Round of N₊Research Paper

Motivation

The stable set problem (find a largest, or maximum-weight, set of pairwise non-adjacent nodes in a graph) is NP-hard, and its linear programming relaxations have been studied since the 1970s as a test bed for polyhedral combinatorics. Lovász and Schrijver (SIAM J. Optim. 1991) introduced a general lift-and-project procedure for 0–1 programs: lift a relaxation to a cone of (n+1)×(n+1)(n+1)\times(n+1)(n+1)×(n+1) matrices, impose conditions every 0–1 solution satisfies, and project back. Its semidefinite version, the operator N+N_+N+​, is one of the first systematic uses of positive semidefinite constraints in combinatorial optimization, and it is the ancestor of the Sherali–Adams, Lasserre and sum-of-squares hierarchies used today in approximation algorithms and proof complexity.

For the stable set problem the paper measures the strength of the operators by an index: how many rounds are needed before a given valid inequality is implied. This mission formalizes the paper's result that one round of N+N_+N+​ already implies four of the classical families of facets of the stable set polytope.

Timeline:

  • 1975: Chvátal shows that the rank constraint of a connected α-critical graph defines a facet of its stable set polytope (Chvátal 1975); clique, odd hole and odd antihole constraints are special rank constraints.
  • 1981–88: Grötschel, Lovász and Schrijver show that the weighted stable set problem is solvable in polynomial time for perfect and hhh-perfect graphs, through the theta body TH(G)\mathrm{TH}(G)TH(G) (Grötschel, Lovász, Schrijver 1988).
  • 1991: Lovász and Schrijver define the operators NNN and N+N_+N+​ and prove Corollary 2.15: clique, odd hole, odd wheel and odd antihole constraints have N+N_+N+​-index 1.

Setting

Vectors live in Rn+1\mathbb R^{n+1}Rn+1 with coordinates x0,x1,…,xnx_0, x_1, \dots, x_nx0​,x1​,…,xn​. The polar cone of KKK is K∗={u:uTx≥0 ∀x∈K}K^* = \{u : u^{\mathsf T}x \ge 0 \ \forall x \in K\}K∗={u:uTx≥0 ∀x∈K}. Let QQQ be the cone spanned by the 0–1 vectors with x0=1x_0 = 1x0​=1. For a convex cone K⊆QK \subseteq QK⊆Q, the matrix cone M+(K)M_+(K)M+​(K) consists of the symmetric positive semidefinite matrices Y=(yij)Y = (y_{ij})Y=(yij​) with yii=y0iy_{ii} = y_{0i}yii​=y0i​ for 1≤i≤n1 \le i \le n1≤i≤n and uTYv≥0u^{\mathsf T}Yv \ge 0uTYv≥0 for all u∈K∗u \in K^*u∈K∗, v∈Q∗v \in Q^*v∈Q∗. The operator is

N+(K)={Ye0:Y∈M+(K)},N_+(K) = \{Ye_0 : Y \in M_+(K)\},N+​(K)={Ye0​:Y∈M+​(K)},

and N+0(K)=KN_+^0(K) = KN+0​(K)=K, N+t(K)=N+(N+t−1(K))N_+^t(K) = N_+(N_+^{t-1}(K))N+t​(K)=N+​(N+t−1​(K)).

Let G=(V,E)G = (V, E)G=(V,E) be a finite graph with no isolated nodes (the paper's standing assumption for Section 2). STAB(G)\mathrm{STAB}(G)STAB(G) is the convex hull of incidence vectors χA\chi^AχA of stable sets AAA. FRAC(G)\mathrm{FRAC}(G)FRAC(G) is the polytope given by xi≥0x_i \ge 0xi​≥0 and xi+xj≤1x_i + x_j \le 1xi​+xj​≤1 for ij∈Eij \in Eij∈E. FR(G)⊆RV∪{0}\mathrm{FR}(G) \subseteq \mathbb R^{V\cup\{0\}}FR(G)⊆RV∪{0} is the cone xi≥0x_i \ge 0xi​≥0, xi+xj≤x0x_i + x_j \le x_0xi​+xj​≤x0​. The relaxations are

N+r(G)={x∈RV:(1,x)∈N+r(FR(G))},N_+^r(G) = \{x \in \mathbb R^V : (1, x) \in N_+^r(\mathrm{FR}(G))\},N+r​(G)={x∈RV:(1,x)∈N+r​(FR(G))},

so N+0(G)=FRAC(G)⊇N+1(G)⊇⋯⊇STAB(G)N_+^0(G) = \mathrm{FRAC}(G) \supseteq N_+^1(G) \supseteq \dots \supseteq \mathrm{STAB}(G)N+0​(G)=FRAC(G)⊇N+1​(G)⊇⋯⊇STAB(G). The N+N_+N+​-index of an inequality aTx≤ba^{\mathsf T}x \le baTx≤b valid for STAB(G)\mathrm{STAB}(G)STAB(G) is the least rrr with aTx≤ba^{\mathsf T}x \le baTx≤b valid for N+r(G)N_+^r(G)N+r​(G).

The four constraint families are:

  • clique: ∑i∈Bxi≤1\sum_{i\in B} x_i \le 1∑i∈B​xi​≤1 for a clique BBB;
  • odd hole: ∑i∈Cxi≤12(∣C∣−1)\sum_{i\in C} x_i \le \frac12(|C|-1)∑i∈C​xi​≤21​(∣C∣−1) for CCC inducing a chordless odd cycle;
  • odd wheel: ∑i∈U∖{u0}xi+∣U∣−22xu0≤∣U∣−22\sum_{i\in U\setminus\{u_0\}} x_i + \frac{|U|-2}{2}x_{u_0} \le \frac{|U|-2}{2}∑i∈U∖{u0​}​xi​+2∣U∣−2​xu0​​≤2∣U∣−2​ for UUU inducing an odd wheel with center u0u_0u0​ (an odd hole plus a node adjacent to all of it);
  • odd antihole: ∑i∈Dxi≤2\sum_{i\in D} x_i \le 2∑i∈D​xi​≤2 for DDD inducing a chordless odd cycle in the complement of GGG.

The contraction of a node vvv turns aTx≤ba^{\mathsf T}x \le baTx≤b into the inequality with the coefficients of vvv and its neighbours removed and right-hand side b−avb - a_vb−av​.

Formalization targets

Goal: Corollary 2.15

For every graph GGG without isolated nodes, each clique constraint (clique of size at least 3), odd hole constraint, odd wheel constraint and odd antihole constraint has N+N_+N+​-index exactly 1:

aTx≤b holds on N+1(G)and fails somewhere on FRAC(G).a^{\mathsf T}x \le b \text{ holds on } N_+^1(G) \quad\text{and fails somewhere on } \mathrm{FRAC}(G).aTx≤b holds on N+1​(G)and fails somewhere on FRAC(G).

Milestones

  1. Lemma 1.5: for a closed convex cone K⊆QK \subseteq QK⊆Q and aaa with ai≤0a_i \le 0ai​≤0 (i≥1i \ge 1i≥1), a0≥0a_0 \ge 0a0​≥0, if aTx≥0a^{\mathsf T}x \ge 0aTx≥0 holds on K∩GiK \cap G_iK∩Gi​ (where Gi={xi=x0}G_i = \{x_i = x_0\}Gi​={xi​=x0​}) for every iii with ai<0a_i < 0ai​<0, then it holds on N+(K)N_+(K)N+​(K).
  2. Lemma 2.14: if aTx≤ba^{\mathsf T}x \le baTx≤b is valid for STAB(G)\mathrm{STAB}(G)STAB(G), and the contraction of every node with positive coefficient is valid for N+r(G)N_+^r(G)N+r​(G), then aTx≤ba^{\mathsf T}x \le baTx≤b is valid for N+r+1(G)N_+^{r+1}(G)N+r+1​(G).
  3. Bipartite support (Section 2.c): an inequality valid for STAB(G)\mathrm{STAB}(G)STAB(G) whose nonzero-coefficient nodes induce a bipartite graph is valid for FRAC(G)\mathrm{FRAC}(G)FRAC(G).
  4. Contraction property (Section 2.d): contracting a node with positive coefficient in any of the four constraints leaves positive-coefficient nodes that induce a bipartite subgraph.

Further result

Corollary 2.19 (first sentence): the N+N_+N+​-index of a STAB(G)\mathrm{STAB}(G)STAB(G)-valid inequality aTx≤ba^{\mathsf T}x \le baTx≤b is at most the independence number of the subgraph induced by the nodes with positive coefficient.

Significance

Corollary 2.15 shows that a single round of N+N_+N+​, a relaxation over which one can optimize in polynomial time for each fixed number of rounds (the paper's Theorem 2.1), captures all clique, odd hole, odd wheel and odd antihole inequalities at once. Consequently N+(G)=STAB(G)N_+(G) = \mathrm{STAB}(G)N+​(G)=STAB(G) for every hhh-perfect graph, in particular for perfect and ttt-perfect graphs. The result is a standard reference point when comparing lift-and-project hierarchies, and the lemmas behind it (Lemma 1.5 and Lemma 2.14) are the paper's general tools for bounding N+N_+N+​-ranks.

The theorem was proved in 1991. To our knowledge it has not been machine-checked: this mission would produce the first formal development of the Lovász–Schrijver N+N_+N+​ operator, its iterates, and the stable set relaxations STAB\mathrm{STAB}STAB, FRAC\mathrm{FRAC}FRAC, FR\mathrm{FR}FR in Lean.

Difficulty

The lower bound (each constraint fails on FRAC(G)\mathrm{FRAC}(G)FRAC(G)) is a direct computation; the upper bound is where the work lies. The obvious approach, deriving each constraint from the linear conditions on the lifted matrix YYY alone, cannot succeed: those conditions define the linear operator NNN, and the goal is specifically about what positive semidefiniteness adds. The general lemmas are stated for arbitrary cones and require a working theory of polar cones and closedness in Rn+1\mathbb R^{n+1}Rn+1, including closedness of the iterates N+r(FR(G))N_+^r(\mathrm{FR}(G))N+r​(FR(G)), which the paper uses without comment. The graph-theoretic steps require facts about the stable set and fractional stable set polytopes of bipartite graphs and a careful case analysis of chordless odd cycles in a graph and in its complement, none of which is in Mathlib.

Formalization scope

  • Coordinates of Rn+1\mathbb R^{n+1}Rn+1 are indexed by Option ι, with none the special coordinate x0x_0x0​. For graphs, ι := V.
  • MMM is defined by condition (iii) with polar cones, not by its reformulations. Only M+M_+M+​, N+N_+N+​ and their iterates are defined; the linear operator NNN is not used.
  • Lemma 1.5 carries the hypothesis that KKK is closed. The paper takes it tacitly (all its cones are polyhedral); without it the lemma fails, since N+(K)N_+(K)N+​(K) depends only on the closure of KKK.
  • FR(G)\mathrm{FR}(G)FR(G) is defined by its constraints, which agree with the paper's "cone spanned by the vectors (1,x)(1,x)(1,x), x∈FRAC(G)x \in \mathrm{FRAC}(G)x∈FRAC(G)" because GGG has no isolated nodes. Every graph statement carries the no-isolated-nodes hypothesis.
  • Contraction is written on the same graph GGG as a zeroed coefficient vector, rather than on the subgraph G−Γ(v)−vG - \Gamma(v) - vG−Γ(v)−v.
  • Odd holes include triangles; odd antiholes have at least 5 nodes (a 3-node "antihole" is a stable set, for which the constraint is false); odd wheels are an odd hole plus a center adjacent to all its nodes.
  • Clique constraints in the goal are restricted to cliques with at least 3 nodes: cliques of size 1 or 2 give inequalities already valid on FRAC(G)\mathrm{FRAC}(G)FRAC(G), of index 0.
  • "N+N_+N+​-index at most rrr" is stated as validity on N+r(G)N_+^r(G)N+r​(G); the index itself is stated with IsLeast, never with an infimum that would default to 0 on an empty set.

A formalization asserting only validity on N+1(G)N_+^1(G)N+1​(G), or only for one fixed graph, would be weaker than the paper's statement and is ruled out: the goal states the exact index for all graphs without isolated nodes and all four families.

Not formalized: the linear operator NNN and its results, the polynomial-time separation results (Theorem 2.1, Corollaries 2.20–2.21), the theta-body results (Lemma 2.17, Corollary 2.18), graph indices (Corollary 2.16), and the second sentence of Corollary 2.19.

Reusable infrastructure includes the polar cone, the matrix cone M+M_+M+​ and the N+N_+N+​ operator (usable for any 0–1 program), the polytopes STAB\mathrm{STAB}STAB and FRAC\mathrm{FRAC}FRAC, and odd holes, antiholes and wheels as finite-set predicates. Contributions proving closedness of the iterates, the integrality of FRAC\mathrm{FRAC}FRAC for bipartite graphs, or the MMM-cone reformulations (iii′)–(iii″) are welcome.

Selected references

  • L. Lovász and A. Schrijver, Cones of matrices and set-functions and 0–1 optimization, SIAM Journal on Optimization 1(2), 1991, 166–190. https://doi.org/10.1137/0801013
  • M. Grötschel, L. Lovász and A. Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer, 1988 (2nd ed. 1993). https://doi.org/10.1007/978-3-642-78240-4
  • V. Chvátal, On certain polytopes associated with graphs, Journal of Combinatorial Theory B 18, 1975, 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
8 thms2 active usersReviewed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

Cones of Matrices and Set-Functions and 0–1 Optimization III: The Defect of a Stable Set Inequality Bounds Its N-IndexResearch Paper

Motivation

Many 0–1 optimization problems can be written as linear programs over the convex hull of the 0–1 points of a polytope, but that hull usually has no manageable description by inequalities. Lift-and-project methods approximate it by a sequence of convex sets. Each set comes from a linear or semidefinite system in more variables, followed by a projection. Lovász and Schrijver introduced the operator NNN in Cones of matrices and set-functions and 0–1 optimization (SIAM J. Optim. 1(2), 1991). For any polytope KKK in the unit cube, nnn rounds of NNN reach the 0–1 hull (their Theorem 1.4), and each round keeps linear optimization tractable.

The stable set problem is the paper's main test case, and the question is quantitative: how many rounds does a given valid inequality need? Section 2.c answers it with a single number read off a linear program. Later work on the rank of lift-and-project hierarchies uses this measure: Balas, Ceria and Cornuéjols's lift-and-project cuts (1993), the Sherali–Adams and Lasserre comparisons of Laurent (2003), and the rank lower bounds for stable set relaxations in the decades since.

Setting

Let G=(V,E)G = (V, E)G=(V,E) be a finite graph with no isolated nodes, which is the paper's standing assumption for Section 2. For A⊆VA \subseteq VA⊆V let χA∈RV\chi^A \in \mathbb R^VχA∈RV be its incidence vector.

  • The stable set polytope is STAB(G)=conv⁡{χA:A stable}\mathrm{STAB}(G) = \operatorname{conv}\{\chi^A : A \text{ stable}\}STAB(G)=conv{χA:A stable}.
  • The fractional stable set polytope FRAC(G)\mathrm{FRAC}(G)FRAC(G) is the solution set of xi≥0x_i \ge 0xi​≥0 (i∈Vi \in Vi∈V) and xi+xj≤1x_i + x_j \le 1xi​+xj​≤1 (ij∈Eij \in Eij∈E).

Homogenize with a new coordinate x0x_0x0​. Let Q⊆RV∪{0}Q \subseteq \mathbb R^{V \cup\{0\}}Q⊆RV∪{0} be the cone spanned by the 0–1 vectors with x0=1x_0 = 1x0​=1, and let FR(G)\mathrm{FR}(G)FR(G) be the cone given by xi≥0x_i \ge 0xi​≥0 and xi+xj≤x0x_i + x_j \le x_0xi​+xj​≤x0​. For a convex cone KKK with polar cone K∗={u:uTx≥0 ∀x∈K}K^* = \{u : u^{\mathsf T}x \ge 0 \ \forall x \in K\}K∗={u:uTx≥0 ∀x∈K}, the matrix cone M(K)M(K)M(K) is the set of symmetric matrices YYY that satisfy two conditions:

  • yii=y0iy_{ii} = y_{0i}yii​=y0i​ for every iii;
  • uTYv≥0u^{\mathsf T} Y v \ge 0uTYv≥0 for all u∈K∗u \in K^*u∈K∗ and v∈Q∗v \in Q^*v∈Q∗.

The operator is N(K)={Ye0:Y∈M(K)}N(K) = \{Y e_0 : Y \in M(K)\}N(K)={Ye0​:Y∈M(K)}. Its iterates are N0(K)=KN^0(K) = KN0(K)=K and Nt(K)=N(Nt−1(K))N^t(K) = N(N^{t-1}(K))Nt(K)=N(Nt−1(K)). On the graph side, Nt(G)={x:(1x)∈Nt(FR(G))}N^t(G) = \{x : \binom1x \in N^t(\mathrm{FR}(G))\}Nt(G)={x:(x1​)∈Nt(FR(G))}, so N0(G)=FRAC(G)N^0(G) = \mathrm{FRAC}(G)N0(G)=FRAC(G) and STAB(G)⊆Nt(G)\mathrm{STAB}(G) \subseteq N^t(G)STAB(G)⊆Nt(G) for every ttt.

Let aTx≤ba^{\mathsf T}x \le baTx≤b be valid for STAB(G)\mathrm{STAB}(G)STAB(G), with a∈Z+Va \in \mathbb Z_+^Va∈Z+V​ and b∈Z+b \in \mathbb Z_+b∈Z+​. Two numbers are attached to it:

  • its N-index kkk is the least ttt such that aTx≤ba^{\mathsf T}x \le baTx≤b is valid for Nt(G)N^t(G)Nt(G);
  • its defect is r=2max⁡{aTx−b:x∈FRAC(G)}r = 2\max\{a^{\mathsf T}x - b : x \in \mathrm{FRAC}(G)\}r=2max{aTx−b:x∈FRAC(G)}, which is an integer.

For a node vvv with neighbourhood Γ(v)\Gamma(v)Γ(v), the deletion of vvv zeroes ava_vav​. The contraction of vvv zeroes aaa on {v}∪Γ(v)\{v\}\cup\Gamma(v){v}∪Γ(v) and lowers the right-hand side to b−avb - a_vb−av​.

Formalization targets

Goal: Theorem 2.13

For every such inequality with defect r≥0r \ge 0r≥0 and N-index kkk,

rb  ≤  k  ≤  r,\frac{r}{b} \;\le\; k \;\le\; r,br​≤k≤r,

formalized as r≤k br \le k\,br≤kb and k≤rk \le rk≤r. The goal holds for every graph without isolated nodes and every valid inequality with nonnegative integer coefficients and nonnegative defect.

Milestones

  1. Lemma 2.11. Let a≥0a \ge 0a≥0 and max⁡STABaTx<max⁡FRACaTx\max_{\mathrm{STAB}} a^{\mathsf T}x < \max_{\mathrm{FRAC}} a^{\mathsf T}xmaxSTAB​aTx<maxFRAC​aTx. Then the edges ijijij with yi+yj=1y_i + y_j = 1yi​+yj​=1 at every FRAC-maximizer yyy form a nonbipartite graph.
  2. Lemma 2.12. Under the same hypothesis, some node iii has yi=12y_i = \tfrac12yi​=21​ at every FRAC-maximizer yyy.
  3. The defect-decrease claim (proof of Theorem 2.13). For such a node iii, the deletion and the contraction of iii both have defect smaller than rrr.
  4. Lemma 2.2. If the deletion and the contraction of some node are valid for KKK, where K⊆FR(G)K \subseteq \mathrm{FR}(G)K⊆FR(G) is a closed convex cone, then aTx≤ba^{\mathsf T}x \le baTx≤b is valid for N(K)N(K)N(K).
  5. Lemma 2.7. 1k+21∈Nk(G)\frac{1}{k+2}\mathbb 1 \in N^k(G)k+21​1∈Nk(G) for every k≥0k \ge 0k≥0.

Further result

Corollary 2.8. Let GGG have nnn nodes, stability number α\alphaα and graph N-index kkk. Then

nα−2≤k≤n−α−1.\frac n\alpha - 2 \le k \le n - \alpha - 1.αn​−2≤k≤n−α−1.

Significance

Theorem 2.13 turns the N-index, which is defined through an infinite family of matrix-cone projections, into a quantity computable by one linear program over FRAC(G)\mathrm{FRAC}(G)FRAC(G). Some consequences:

  • Odd hole constraints have defect 1 and hence N-index 1.
  • An odd antihole on 2k+12k+12k+1 nodes has index exactly kkk; the paper notes that the lower bound is tight for odd antihole constraints.
  • Inequalities of large defect relative to their right-hand side need many rounds. With Lemma 2.7 this yields Corollary 2.8 and the unboundedness of the N-index of line graphs, the stable set side of Yannakakis's matching-polytope question.

The result is proved in the paper; the mission's work is to formalize it. Nothing on Prove2Me or in Mathlib covers stable set polytopes, the Lovász–Schrijver operator or its index, and no machine-checked version of Theorem 2.13 is known. A formal proof would give the first verified rank bound for a lift-and-project hierarchy. It would also build a reusable library for STAB\mathrm{STAB}STAB, FRAC\mathrm{FRAC}FRAC, half-integrality of FRAC\mathrm{FRAC}FRAC vertices, and the NNN operator.

Difficulty

The upper bound is an induction on the defect, and it needs several facts about FRAC(G)\mathrm{FRAC}(G)FRAC(G):

  • its vertices are half-integral;
  • the defect is therefore an integer;
  • a node 12\tfrac1221​ at every optimum exists, which is a statement about the whole optimal face and not about one optimal vertex.

The last is the heart of Lemmas 2.11 and 2.12. The induction also climbs through Nt(FR(G))N^t(\mathrm{FR}(G))Nt(FR(G)) for every ttt, so Lemma 2.2 must hold for an arbitrary closed convex cone inside FR(G)\mathrm{FR}(G)FR(G), not only for polytopes given by inequalities.

The lower bound is where the obvious argument fails. The printed proof tests aTx≤ba^{\mathsf T}x \le baTx≤b at 1k+21\frac1{k+2}\mathbb 1k+21​1 and obtains k≥aT1/b−2k \ge a^{\mathsf T}\mathbb 1/b - 2k≥aT1/b−2. That equals r/br/br/b only when r=aT1−2br = a^{\mathsf T}\mathbb 1 - 2br=aT1−2b, which Lemma 2.10 gives for facets alone. For a general valid inequality rrr can exceed aT1−2ba^{\mathsf T}\mathbb 1 - 2baT1−2b, so the uniform vector does not suffice. The theorem is stated, as printed, for every valid inequality, and a complete proof must supply the missing step.

Formalization scope

  • Coordinates of RV∪{0}\mathbb R^{V\cup\{0\}}RV∪{0} are indexed by Option V, with none as x0x_0x0​. Graphs are finite SimpleGraphs with the hypothesis that every node has a neighbour.
  • FR(G)\mathrm{FR}(G)FR(G) is defined by its two constraint families. This equals the cone over FRAC(G)\mathrm{FRAC}(G)FRAC(G) because there are no isolated nodes.
  • MMM is defined by condition (iii) itself.
  • The defect and the N-index are never suprema or infima. They are values rrr, kkk with IsGreatest and IsLeast hypotheses, so no default value such as sup⁡∅=0\sup\emptyset = 0sup∅=0 can make a statement vacuous.
  • Coefficients are natural numbers cast to R\mathbb RR. Lemmas 2.11–2.12 take real a≥0a \ge 0a≥0, as printed.
  • Deletion and contraction are zero-extended coefficient vectors on the same graph GGG, with defects taken over FRAC(G)\mathrm{FRAC}(G)FRAC(G). Subgraphs with isolated nodes never arise.
  • The goal adds the hypothesis r≥0r \ge 0r≥0. Without it the upper bound is false: for x1≤2x_1 \le 2x1​≤2 on one edge, r=−2r = -2r=−2 but k=0k = 0k=0. The paper's proof presumes it.
  • The lower bound is stated as r≤kbr \le kbr≤kb, which avoids Lean's r/0=0r/0 = 0r/0=0 convention.
  • Lemma 2.2 is stated for a closed convex cone K⊆FR(G)K \subseteq \mathrm{FR}(G)K⊆FR(G). The paper tacitly takes KKK closed, and the Section 1 lemma it rests on is false for non-closed cones. Its hypothesis "KKK contains STAB(G)\mathrm{STAB}(G)STAB(G)" is dropped, which makes the lemma stronger.
  • Corollary 2.8 uses the least kkk with Nk(G)=STAB(G)N^k(G) = \mathrm{STAB}(G)Nk(G)=STAB(G). This is equivalent to the paper's "largest N-index of a facet" and avoids a facet notion.
  • The goal is the two-sided bound for all graphs and inequalities. A version for one fixed graph, a version with a facet hypothesis, or "valid for Nr(G)N^r(G)Nr(G)" alone would each be a different, weaker theorem.
  • Not formalized: Lemma 2.10 (facets), Corollaries 2.6 and 2.9 (graph index via facets), and the polynomial-time results.

The work needs half-integrality of FRAC(G)\mathrm{FRAC}(G)FRAC(G), Lemma 1.3 of the paper (N(K)⊆(K∩Hi)+(K∩Gi)N(K) \subseteq (K\cap H_i) + (K \cap G_i)N(K)⊆(K∩Hi​)+(K∩Gi​)) and monotonicity of NNN. Each of these is reusable and welcome as a separate contribution.

Selected references

  • L. Lovász, A. Schrijver, Cones of matrices and set-functions and 0–1 optimization, SIAM Journal on Optimization 1(2) (1991) 166–190. https://doi.org/10.1137/0801013
  • M. Grötschel, L. Lovász, A. Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer, 1988. https://doi.org/10.1007/978-3-642-97881-4
  • E. Balas, S. Ceria, G. Cornuéjols, A lift-and-project cutting plane algorithm for mixed 0–1 programs, Mathematical Programming 58 (1993) 295–324. https://doi.org/10.1007/BF01581273
  • M. Laurent, A comparison of the Sherali–Adams, Lovász–Schrijver, and Lasserre relaxations for 0–1 programming, Mathematics of Operations Research 28(3) (2003) 470–496. https://doi.org/10.1287/moor.28.3.470.16391
  • M. Yannakakis, Expressing combinatorial optimization problems by linear programs, Journal of Computer and System Sciences 43 (1991) 441–466. https://doi.org/10.1016/0022-0000(91)90024-Y
10 thms2 active usersReviewed
🏆Completed
CombinatoricsDiscrete Geometry·Captain: aarontcao

Lovasz Problem 11.8: triangle-free unit vector systems sum to Theta(n^(2/3))Research Paper

Let u1,…,unu_1, \dots, u_nu1​,…,un​ be unit vectors in a Euclidean space such that among any three of them some two are orthogonal. How large can ∥u1+⋯+un∥\|u_1 + \dots + u_n\|∥u1​+⋯+un​∥ be?

The answer is Θ(n2/3)\Theta(n^{2/3})Θ(n2/3).

Attribution, which is commonly given wrong in both halves

Lovasz posed the question, as Problem 11.8 of Combinatorial Problems and Exercises (North Holland, 1979). Konyagin proved the O(n2/3)O(n^{2/3})O(n2/3) upper bound in Systems of vectors in Euclidean space and an extremal problem for polynomials, Mat. Zametki 29 (1981) 63-74, doi:10.1007/BF01142512. Alon gave a matching lower bound in Explicit Ramsey graphs and orthonormal labelings, Electron. J. Combin. 1 (1994) R12, doi:10.37236/1192. The two together pin the exponent exactly.

Where the proof comes from

The hypothesis is a graph condition in disguise. Join iii to jjj when ⟨ui,uj⟩≠0\langle u_i, u_j \rangle \ne 0⟨ui​,uj​⟩=0; then "among any three some two are orthogonal" says that graph is triangle-free.

The proof does not run through Ramsey counting, which is the natural first guess and does not reach the right exponent. It runs through the Lovasz theta function. Kashin and Konyagin bound θ=O(n1/3)\theta = O(n^{1/3})θ=O(n1/3) for graphs of independence number less than 3, that is for complements of triangle-free graphs, and Cauchy-Schwarz turns that into the bound on the norm of the sum. The orthonormal labeling of a graph by unit vectors is not a coincidence of notation: it is the definition of θ\thetaθ that the argument uses.

What this mission will cost

State this honestly rather than discover it later. The Lovasz theta function, orthonormal graph labeling, and Shannon capacity are all absent from Mathlib. So the milestone chain that the upper bound needs cannot be written yet, and this proposal ships with exactly one milestone, which is Alon's lower bound.

google-deepmind/formal-conjectures contains an SDP-form definition of the theta function, with basic bounds such as lovaszThetaFunction_le_card since PR #6100 of 2026-09-18. The proof here needs the orthonormal-labeling form instead, so that file is a starting point rather than a foundation. Building the theta function, proving that the two forms agree, and getting the Kashin-Konyagin bound is the real content of this mission and is larger than the statement of the goal suggests.

The lower bound is the tractable half. It needs explicit Ramsey graphs and an orthonormal labeling of one, and it does not need θ\thetaθ at all.

Notes on the formalization

Both items are stated in Mathlib primitives alone, so the mission omits definition items. The triangle-free hypothesis is written as a condition on triples of indices rather than through SimpleGraph.CliqueFree 3, so that a reader auditing the statement does not have to unfold a graph construction to see what is assumed. Anyone proving it is free to build the graph and use the Mathlib predicate.

8 thms2 active usersReviewed
🏆Completed
CombinatoricsTheoretical Computer Science·Captain: mikedeng1

Fast Algorithms for Finding Nearest Common Ancestors III: The Plies of the Compressed Tree Are SmallResearch Paper

Motivation

The nearest common ancestor problem asks, for a rooted tree and two of its vertices vvv and www, for the deepest vertex that is an ancestor of both, written nca⁡(v,w)\operatorname{nca}(v,w)nca(v,w). It is a subroutine in string and graph algorithms.

Harel and Tarjan (Fast Algorithms for Finding Nearest Common Ancestors, SIAM J. Comput. 13, 1984) preprocess a static tree of nnn vertices in linear time on a random-access machine so that each query takes constant time. For a complete binary tree the queries reduce to bit arithmetic on vertex numbers (§3). An arbitrary tree is first reduced, in §4, to a compressed tree CCC whose sizes double along every edge, and CCC is cut by rank into three plies. Lemma 9 bounds the size of each ply, and those bounds are what make the tables of the method fit in linear space. This mission formalizes the structural lemmas of §4 about CCC and Lemma 9.

Timeline.

  • 1976: Aho, Hopcroft and Ullman give an O(log⁡log⁡n)O(\log\log n)O(loglogn)-per-query random-access algorithm for static trees.
  • 1979: Tarjan (Applications of path compression on balanced trees, J. ACM 26) uses the decomposition of a tree by the doubling rule on subtree sizes to compute functions on paths; Lemmas 5–7 of Harel–Tarjan are cited from there without proof.
  • 1983: Sleator and Tarjan (A data structure for dynamic trees, J. Comput. System Sci. 26) use the same heavy/light split of edges for dynamic trees.
  • 1984: Harel and Tarjan give the O(n)O(n)O(n)-preprocessing, O(1)O(1)O(1)-query algorithm, with the compressed tree and its plies (§4).

Setting

A rooted tree TTT (Appendix, p. 354) consists of a finite vertex set VVV with n=∣V∣n = |V|n=∣V∣, a root r∈Vr \in Vr∈V and a parent map pTp_TpT​, defined for v≠rv \ne rv=r, such that every vertex reaches rrr by iterating pTp_TpT​. The edges of TTT are the pairs v→pT(v)v \to p_T(v)v→pT​(v) for v≠rv \ne rv=r. If pTi(v)=wp_T^i(v) = wpTi​(v)=w for some i≥0i \ge 0i≥0, then vvv is a descendant of www and www an ancestor of vvv. Every vertex is its own ancestor and descendant. The depth of vvv is the number of edges from vvv to rrr. sizeT(v)\mathrm{size}_T(v)sizeT​(v) is the number of descendants of vvv, including vvv.

An edge v→pT(v)v \to p_T(v)v→pT​(v) is light if 2⋅sizeT(v)≤sizeT(pT(v))2\cdot\mathrm{size}_T(v) \le \mathrm{size}_T(p_T(v))2⋅sizeT​(v)≤sizeT​(pT​(v)) and heavy otherwise. At most one heavy edge enters each vertex, so the heavy edges partition VVV into heavy paths. A vertex with no heavy edge entering or leaving it forms a heavy path by itself. The apex of a heavy path is its vertex of smallest depth, and apex(v)\mathrm{apex}(v)apex(v) denotes the apex of the heavy path containing vvv.

The compressed tree CCC has the same vertices and root as TTT, and its edges are

{ v→apex(pT(v)):v≠r }.\{\, v \to \mathrm{apex}(p_T(v)) : v \ne r \,\}.{v→apex(pT​(v)):v=r}.

Write pC(v)=apex(pT(v))p_C(v) = \mathrm{apex}(p_T(v))pC​(v)=apex(pT​(v)), and let sizeC(v)\mathrm{size}_C(v)sizeC​(v) be the number of descendants of vvv in CCC. The rank of vvv is rank(v)=⌊lg⁡sizeC(v)⌋\mathrm{rank}(v) = \lfloor \lg \mathrm{size}_C(v)\rfloorrank(v)=⌊lgsizeC​(v)⌋, where lg⁡=log⁡2\lg = \log_2lg=log2​. Let lg⁡(i)\lg^{(i)}lg(i) denote the iii-fold iterate of lg⁡\lglg. Ply three is the set of vertices of rank at least ⌊lg⁡(2)n⌋\lfloor\lg^{(2)} n\rfloor⌊lg(2)n⌋. Ply two is the set of vertices whose rank lies between ⌊lg⁡(3)n⌋\lfloor\lg^{(3)} n\rfloor⌊lg(3)n⌋ and ⌊lg⁡(2)n⌋−1\lfloor\lg^{(2)} n\rfloor - 1⌊lg(2)n⌋−1, inclusive. Ply one is the set of vertices of rank below ⌊lg⁡(3)n⌋\lfloor\lg^{(3)} n\rfloor⌊lg(3)n⌋.

Formalization targets

Goal: Lemma 9 in the explicit form of its proof

For every rooted tree on n≥4n \ge 4n≥4 vertices:

∣ply three∣≤4nlg⁡n,∣ply two∣≤4nlg⁡(2)n,|\text{ply three}| \le \frac{4n}{\lg n}, \qquad |\text{ply two}| \le \frac{4n}{\lg^{(2)} n},∣ply three∣≤lgn4n​,∣ply two∣≤lg(2)n4n​,

and for every vertex vvv in ply one, every CCC-descendant of vvv lies in ply one and sizeC(v)≤lg⁡(2)n\mathrm{size}_C(v) \le \lg^{(2)} nsizeC​(v)≤lg(2)n.

The paper states the first two bounds as O(n/log⁡n)O(n/\log n)O(n/logn) and O(n/log⁡(2)n)O(n/\log^{(2)} n)O(n/log(2)n). The constants 444 and 444 are the ones its proof on p. 345 establishes. The third clause is the paper's "each connected component of ply one is a subtree of CCC containing at most log⁡(2)n\log^{(2)} nlog(2)n vertices", read vertex by vertex. Ply one is closed under CCC-descendants, so the component of a ply-one vertex is the CCC-subtree of its shallowest ply-one ancestor.

Milestones

  1. Lemma 5 (p. 344): sizeC(v)=sizeT(v)\mathrm{size}_C(v) = \mathrm{size}_T(v)sizeC​(v)=sizeT​(v) if vvv is an apex, and sizeC(v)=1\mathrm{size}_C(v) = 1sizeC​(v)=1 otherwise.
  2. Lemma 6 (p. 344): 2⋅sizeC(v)≤sizeC(pC(v))2\cdot\mathrm{size}_C(v) \le \mathrm{size}_C(p_C(v))2⋅sizeC​(v)≤sizeC​(pC​(v)) for every v≠rv \ne rv=r.
  3. Lemma 8 (p. 344): for every iii, at most n/2in/2^in/2i vertices have rank iii.
  4. Proof of Lemma 9, first sentence (p. 345): at most n/2k−1n/2^{k-1}n/2k−1 vertices have rank kkk or greater.

A further item states Lemma 7 (p. 344): CCC has depth at most ⌊lg⁡n⌋\lfloor\lg n\rfloor⌊lgn⌋. The paper uses it to bound the tables of ply three, not in the proof of Lemma 9.

Significance

Lemma 9 is the counting step of the linear-time preprocessing. Ply three has O(n/log⁡n)O(n/\log n)O(n/logn) vertices, each with O(log⁡n)O(\log n)O(logn) ancestors in CCC by Lemma 7, so storing every vertex's ply-three ancestors takes O(n)O(n)O(n) space. Ply two has O(n/log⁡(2)n)O(n/\log^{(2)} n)O(n/log(2)n) vertices, each with O(log⁡(2)n)O(\log^{(2)} n)O(log(2)n) ply-two ancestors, which again gives O(n)O(n)O(n). Ply one splits into subtrees of at most lg⁡(2)n\lg^{(2)} nlg(2)n vertices, and these are small enough to be embedded in complete binary trees and answered by the bit arithmetic of §3.

Lemmas 5–8 and the proof of Lemma 9 are proved or cited in the paper, and none of them is open. As far as a search of the platform shows, none has a machine-checked proof, and Mathlib has no parent-map rooted trees, subtree sizes or heavy-path decompositions. The mission produces a reusable formal account of heavy paths and of the size-doubling compressed tree, with the paper's explicit constants.

Difficulty

The paper states Lemmas 5–7 without proof, citing Tarjan (1979). Lemma 5 requires identifying the CCC-descendants of an apex with its TTT-descendants. That identification needs a clean description of heavy paths: at most one heavy edge enters each vertex, a vertex's heavy path runs up to its apex, and the heavy paths do not overlap. Lemma 8 needs the observation that two vertices of equal rank are unrelated in CCC, so that their descendant sets are disjoint and the sizes add up to at most nnn. Lemma 9 turns floors of iterated real logarithms into bounds on powers of two. The step 2⌊lg⁡(2)n⌋>12lg⁡n2^{\lfloor \lg^{(2)} n\rfloor} > \tfrac12 \lg n2⌊lg(2)n⌋>21​lgn loses a factor 222, and this is where the constant 444 comes from; a proof that expects the constant 222 fails at this step.

Formalization scope

  • Trees. A rooted tree is a structure over a Fintype vertex type VVV with a root, a total parent map and the axiom that every vertex reaches the root. The paper's partial map is made total by pT(r)=rp_T(r) = rpT​(r)=r. Every statement about an edge v→p(v)v \to p(v)v→p(v) assumes v≠rv \ne rv=r, since for v=rv = rv=r Lemma 6 would read 2n≤n2n \le n2n≤n. The Appendix's printed "p0(v)=0p^0(v) = 0p0(v)=0" is read as p0(v)=vp^0(v) = vp0(v)=v.
  • Heavy edges and apex. A heavy edge is v≠rv \ne rv=r with sizeT(pT(v))<2 sizeT(v)\mathrm{size}_T(p_T(v)) < 2\,\mathrm{size}_T(v)sizeT​(pT​(v))<2sizeT​(v), the strict negation of light. apex(v)\mathrm{apex}(v)apex(v) is computed by climbing heavy edges from vvv until the first edge that is not heavy, which is the apex of the heavy path containing vvv. The root is always an apex.
  • Compressed tree. pC(v)=apex(pT(v))p_C(v) = \mathrm{apex}(p_T(v))pC​(v)=apex(pT​(v)) for v≠rv \ne rv=r and pC(r)=rp_C(r) = rpC​(r)=r. Ancestors and sizes in CCC are defined through iterates of pCp_CpC​.
  • Logarithms. The rank is Nat.log 2 of sizeC\mathrm{size}_CsizeC​, which is exactly ⌊lg⁡sizeC⌋\lfloor\lg\mathrm{size}_C\rfloor⌊lgsizeC​⌋. The ply thresholds are iterated Nat.log 2, which equal the real floors ⌊lg⁡(2)n⌋\lfloor\lg^{(2)} n\rfloor⌊lg(2)n⌋ and ⌊lg⁡(3)n⌋\lfloor\lg^{(3)} n\rfloor⌊lg(3)n⌋ for n≥4n \ge 4n≥4. The bounds of the goal use Real.logb 2.
  • Added hypothesis n≥4n \ge 4n≥4 in the goal. It makes lg⁡n≥2\lg n \ge 2lgn≥2 and lg⁡(2)n≥1\lg^{(2)} n \ge 1lg(2)n≥1, so the divisions are honest (Lean's x/0=0x/0 = 0x/0=0), and it makes lg⁡(3)n≥0\lg^{(3)} n \ge 0lg(3)n≥0. On the page it is hidden in the O(⋅)O(\cdot)O(⋅).
  • Division-free milestones. Lemma 8 is stated as #{rank=i}⋅2i≤n\#\{\mathrm{rank} = i\}\cdot 2^i \le n#{rank=i}⋅2i≤n, and the rank-≥k\ge k≥k count as #{rank≥k}⋅2k≤2n\#\{\mathrm{rank} \ge k\}\cdot 2^k \le 2n#{rank≥k}⋅2k≤2n.
  • Ruled out. The goal is not an ∃C\exists C∃C statement. Replacing the paper's 444 by an existential constant, or bounding ply three by nnn, would discard the content of the lemma.
  • Welcome contributions. A library of facts about heavy paths is welcome: uniqueness of the entering heavy edge, apex characterizations, and the descendants of an apex in CCC. So are proofs of Lemmas 5–8 and proofs that the iterated Nat.log thresholds agree with the real ones. It is reusable for heavy-light decompositions generally.

Selected references

  • D. Harel, R. E. Tarjan, Fast Algorithms for Finding Nearest Common Ancestors, SIAM J. Comput. 13(2):338–355, 1984. https://doi.org/10.1137/0213024
  • R. E. Tarjan, Applications of path compression on balanced trees, J. ACM 26(4):690–715, 1979. https://doi.org/10.1145/322154.322161
  • A. V. Aho, J. E. Hopcroft, J. D. Ullman, On finding lowest common ancestors in trees, SIAM J. Comput. 5(1):115–132, 1976. https://doi.org/10.1137/0205011
  • D. D. Sleator, R. E. Tarjan, A data structure for dynamic trees, J. Comput. System Sci. 26(3):362–391, 1983. https://doi.org/10.1016/0022-0000(83)90006-5
9 thms2 active usersReviewed
CombinatoricsOperations ResearchOptimization+1·Captain: mikedeng1

Linear-Time Approximation for Maximum Weight Matching: The Approximation Guarantee of the Scaling AlgorithmResearch Paper

Motivation

The maximum weight matching (MWM) problem asks, for a graph with edge weights, for a set of vertex-disjoint edges of largest total weight. It is a central problem of combinatorial optimization, with applications to transportation, assignment and scheduling, and as a subroutine for shortest paths, planar max cut, Chinese postman tours and metric TSP. Edmonds' blossom algorithm (1965) solves it on general graphs; the fastest implementation, due to Gabow, runs in O(mn+n2log⁡n)O(mn+n^2\log n)O(mn+n2logn) time, and the scaling algorithm of Gabow and Tarjan (1991) runs in O(mnlog⁡n log⁡(nN))O(m\sqrt{n\log n}\,\log(nN))O(mnlogn​log(nN)) time on graphs with nnn vertices, mmm edges and integer weights of magnitude at most NNN. Applications such as switch scheduling, graph clustering and sparse linear solvers accept a slightly suboptimal matching in exchange for speed. This motivates (1−ϵ)(1-\epsilon)(1−ϵ)-approximate maximum weight matchings: matchings whose weight is at least a 1−ϵ1-\epsilon1−ϵ fraction of the optimum.

Timeline of linear and near-linear time approximation for general graphs (Section 1.3 and Table IV of the paper; the entries below are as the paper attributes them):

  • Folklore: the greedy algorithm, which repeatedly takes the heaviest remaining edge, gives a 12\tfrac1221​-MWM in O(mlog⁡n)O(m\log n)O(mlogn) time.
  • Preis (STACS 1999): a 12\tfrac1221​-MWM in linear time; Drake and Hougardy (2003) gave a simpler one.
  • Drake and Hougardy (2003; journal version Vinkemeier and Hougardy, ACM Trans. Algorithms 2005): a (23−ϵ)(\tfrac23-\epsilon)(32​−ϵ)-MWM in O(mϵ−1)O(m\epsilon^{-1})O(mϵ−1) time; Pettie and Sanders (2004) improved this to O(mlog⁡ϵ−1)O(m\log\epsilon^{-1})O(mlogϵ−1).
  • Duan and Pettie (FOCS 2010) and Hanke and Hougardy (2010): a (34−ϵ)(\tfrac34-\epsilon)(43​−ϵ)-MWM in O(mlog⁡nlog⁡ϵ−1)O(m\log n\log\epsilon^{-1})O(mlognlogϵ−1) time.
  • Duan and Pettie (2014): a (1−ϵ)(1-\epsilon)(1−ϵ)-MWM in O(mϵ−1log⁡ϵ−1)O(m\epsilon^{-1}\log\epsilon^{-1})O(mϵ−1logϵ−1) time, which is linear for every fixed ϵ\epsilonϵ.

Setting

Let G=(V,E)G=(V,E)G=(V,E) be a finite simple graph with integer weights w:E→{1,…,N}w:E\to\{1,\dots,N\}w:E→{1,…,N}, N=2LN=2^LN=2L. A matching MMM is a set of vertex-disjoint edges, with weight w(M)=∑e∈Mw(e)w(M)=\sum_{e\in M}w(e)w(M)=∑e∈M​w(e); a vertex is free if no edge of MMM touches it. MMM is a ccc-MWM if c⋅w(M′)≤w(M)c\cdot w(M')\le w(M)c⋅w(M′)≤w(M) for every matching M′M'M′.

A blossom is built recursively: a single vertex {v}\{v\}{v} is a trivial blossom with E{v}=∅E_{\{v\}}=\emptysetE{v}​=∅; an odd number ≥3\ge3≥3 of disjoint blossoms A0,…,AℓA_0,\dots,A_\ellA0​,…,Aℓ​ joined in a cycle by edges ei∈Ai×Ai+1e_i\in A_i\times A_{i+1}ei​∈Ai​×Ai+1​ form the blossom B=⋃AiB=\bigcup A_iB=⋃Ai​ with edge set EB=⋃EAi∪{e0,…,eℓ}E_B=\bigcup E_{A_i}\cup\{e_0,\dots,e_\ell\}EB​=⋃EAi​​∪{e0​,…,eℓ​}. It is full if ∣M∩EB∣=(∣B∣−1)/2|M\cap E_B|=(|B|-1)/2∣M∩EB​∣=(∣B∣−1)/2. The algorithm keeps a laminar set Ω\OmegaΩ of full blossoms; a root blossom is a maximal one, and G/ΩG/\OmegaG/Ω contracts each root blossom to a single vertex.

Dual values y:V→Ry:V\to\mathbb Ry:V→R and zzz on odd vertex sets give each edge the value

yz(u,v)=y(u)+y(v)+∑B odd, u,v∈Bz(B).yz(u,v)=y(u)+y(v)+\sum_{B\ \text{odd},\ u,v\in B} z(B).yz(u,v)=y(u)+y(v)+B odd, u,v∈B∑​z(B).

The scaling algorithm (Figure 2 of the paper) has parameters NNN and ϵ′=2−g≤14\epsilon'=2^{-g}\le\tfrac14ϵ′=2−g≤41​. It runs scales i=0,…,Li=0,\dots,Li=0,…,L with granularity δi=ϵ′N/2i\delta_i=\epsilon'N/2^iδi​=ϵ′N/2i and truncated weights wi(e)=δi⌊w(e)/δi⌋w_i(e)=\delta_i\lfloor w(e)/\delta_i\rfloorwi​(e)=δi​⌊w(e)/δi​⌋. Each scale repeats four steps: augment along a maximal set of vertex-disjoint augmenting paths of the eligible graph GeligG_{\mathrm{elig}}Gelig​, shrink a maximal set of new blossoms, adjust the duals by ±δi/2\pm\delta_i/2±δi​/2, and dissolve root blossoms whose zzz-value has reached zero. It stops when the free vertices' yyy-values reach a scale-dependent value, which is 000 at scale LLL. Eligibility is given by Definition 3.2; the linear-time variant keeps the algorithm unchanged and uses Definition 3.10, which additionally ignores an edge eee in scales i>scale(e)+log⁡ϵ′−1i>\mathrm{scale}(e)+\log\epsilon'^{-1}i>scale(e)+logϵ′−1 unless it is a blossom edge.

Formalization targets

Goal: Theorem 3.12, approximation half

For every ϵ\epsilonϵ with ϵ′≤ϵ/7\epsilon'\le\epsilon/7ϵ′≤ϵ/7, the algorithm of Figure 2 with Definition 3.10 eligibility has a terminating run, and every terminating run returns a matching MMM with

w(M) ≥ (1−ϵ) w(M′)for every matching M′ of G.w(M)\ \ge\ (1-\epsilon)\,w(M')\qquad\text{for every matching } M' \text{ of } G .w(M) ≥ (1−ϵ)w(M′)for every matching M′ of G.

Milestones, in attack order

  • Lemma 2.3: approximate complementary slackness (yz(e)≥(1−ϵ0)w(e)yz(e)\ge(1-\epsilon_0)w(e)yz(e)≥(1−ϵ0​)w(e) everywhere, yz(e)≤(1+ϵ1)w(e)yz(e)\le(1+\epsilon_1)w(e)yz(e)≤(1+ϵ1​)w(e) on matched and blossom edges, zero free duals) gives a (1+ϵ1)−1(1−ϵ0)(1+\epsilon_1)^{-1}(1-\epsilon_0)(1+ϵ1​)−1(1−ϵ0​)-MWM.
  • Section 2 rescaling: rounding real weights to ⌊w/γr⌋\lfloor w/\gamma_r\rfloor⌊w/γr​⌋, γr=ϵwmax⁡/n\gamma_r=\epsilon w_{\max}/nγr​=ϵwmax​/n, loses at most a factor 1−ϵ/21-\epsilon/21−ϵ/2.
  • Lemma 3.5: with Definition 3.2 the algorithm preserves Property 3.1, which consists of granularity, active blossoms, near domination yz(e)≥wi(e)−δiyz(e)\ge w_i(e)-\delta_iyz(e)≥wi​(e)−δi​, near tightness yz(e)≤wi(e)+2(δj−δi)yz(e)\le w_i(e)+2(\delta_j-\delta_i)yz(e)≤wi​(e)+2(δj​−δi​) for type-jjj edges, and equal free duals.
  • Lemma 3.6: eligible edges searched up to scale iii weigh at least N/2i+1+δiN/2^{i+1}+\delta_iN/2i+1+δi​, and matched edges satisfy yz(e)≤(1+4ϵ′)w(e)yz(e)\le(1+4\epsilon')w(e)yz(e)≤(1+4ϵ′)w(e).
  • Lemma 3.7: the output under Definition 3.2 is a (1−5ϵ′)(1-5\epsilon')(1−5ϵ′)-MWM.
  • Theorem 3.8: the approximation half of Theorem 3.8, with ϵ′≤ϵ/5\epsilon'\le\epsilon/5ϵ′≤ϵ/5.
  • Lemma 3.11: the invariants under Definition 3.10, including yz(e)>(1−ϵ′)wi(e)yz(e)>(1-\epsilon')w_i(e)yz(e)>(1−ϵ′)wi​(e) and yz(e)<(1+6ϵ′)wi(e)yz(e)<(1+6\epsilon')w_i(e)yz(e)<(1+6ϵ′)wi​(e) once i>scale(e)+γi>\mathrm{scale}(e)+\gammai>scale(e)+γ.

Significance

The result. Theorem 3.12 gives the first algorithm for (1−ϵ)(1-\epsilon)(1−ϵ)-approximate maximum weight matching on general graphs that runs in linear time for every fixed ϵ\epsilonϵ; earlier linear-time algorithms achieved only 12\tfrac1221​ or 23−ϵ\tfrac23-\epsilon32​−ϵ. Its analysis is a relaxation of Edmonds' complementary slackness conditions that grows weaker over the scales, but not uniformly, and Lemma 2.3 certifies an approximate matching by approximately feasible duals.

Formalizing it. The result is proved in the paper. Mathlib (at the pinned revision) has matchings, alternating walks and Tutte's theorem, but no blossoms, contracted graphs or weighted matching algorithms. A complete development gives a Lean model of blossoms, contraction and augmenting paths through blossoms, a verified primal–dual invariant for a scaling algorithm, and a checked approximate-slackness certificate for matchings. Each of these can be reused to formalize Edmonds' exact algorithm or the Gabow–Tarjan scaling algorithm.

Difficulty

The two halves of the argument pull against each other. Lemma 2.3 needs near domination and near tightness as multiplicative bounds. The algorithm maintains only additive bounds whose slack for an edge of type jjj is 2(δj−δi)2(\delta_j-\delta_i)2(δj​−δi​), and this slack does not shrink as the scales advance. Converting it into a factor 1+O(ϵ′)1+O(\epsilon')1+O(ϵ′) requires a lower bound on the weight of every edge that ever became eligible, which in turn depends on the free vertices' duals following an exact schedule across scales.

For Definition 3.10 the obvious argument breaks down: an edge that is ignored after scale scale(e)+γ\mathrm{scale}(e)+\gammascale(e)+γ may violate near domination and near tightness by an amount that grows with every later dual adjustment. The claim is that the accumulated violation stays within an O(ϵ′)O(\epsilon')O(ϵ′) fraction of wi(e)w_i(e)wi​(e), and establishing this requires tracking every adjustment that can reach an ignored edge.

On the combinatorial side, the Augmentation and Blossom Shrinking steps work in the contracted graph G/ΩG/\OmegaG/Ω. Their correctness uses the classical facts that augmenting paths lift through full blossoms and that blossoms stay full after augmentation (Lemma 2.1), which have to be formalized from scratch.

Formalization scope

Graphs are SimpleGraph V on a Fintype V with decidable equality; edges are Sym2 V; matchings are Finset (Sym2 V) with pairwise vertex-disjoint edges of GGG; weights are w:Sym2 V→Nw:\mathrm{Sym2}\,V\to\mathbb Nw:Sym2V→N with 1≤w(e)≤2L1\le w(e)\le 2^L1≤w(e)≤2L on edges. Duals, δi\delta_iδi​ and wiw_iwi​ are real numbers. zzz is a function on all finite vertex sets and yzyzyz sums it over the odd sets that contain the edge, as on the page. N=2LN=2^LN=2L and ϵ′=2−g\epsilon'=2^{-g}ϵ′=2−g, g≥2g\ge2g≥2, are given through their exponents. scale(e)\mathrm{scale}(e)scale(e) uses the convention μ−1=+∞\mu_{-1}=+\inftyμ−1​=+∞. The paper's standing assumption N≤n2N\le n^2N≤n2 is used only for running time and is omitted.

The algorithm is a nondeterministic relation. A state holds MMM, Ω\OmegaΩ with its blossom edge sets, yyy, zzz, a ghost record of the scale in which each edge last entered M∪⋃B∈ΩEBM\cup\bigcup_{B\in\Omega}E_BM∪⋃B∈Ω​EB​, and the common free-vertex dual that drives the loop test. The maximal sets of augmenting paths and of new blossoms and the lifts of paths through blossoms are choices. Invariants are stated for states reachable by a run, and the goal asserts both that a terminating run exists and that every terminating run returns a (1−ϵ)(1-\epsilon)(1−ϵ)-MWM.

The running times O(mϵ−1log⁡N)O(m\epsilon^{-1}\log N)O(mϵ−1logN) of Theorem 3.8 and O(mϵ−1log⁡ϵ−1)O(m\epsilon^{-1}\log\epsilon^{-1})O(mϵ−1logϵ−1) of Theorem 3.12 are not formalized: the paper fixes no cost model, and its bounds rely on a modified depth-first search and on word-RAM table lookups. The explicit constants ϵ′≤ϵ/5\epsilon'\le\epsilon/5ϵ′≤ϵ/5 (Theorem 3.8) and ϵ′≤ϵ/7\epsilon'\le\epsilon/7ϵ′≤ϵ/7 (Theorem 3.12) are the ones the proofs supply.

The following trivializing formalizations are ruled out: a "matching" that may contain non-edges or repeated edges; a goal about a state only assumed to satisfy Property 3.1 rather than reached by the algorithm; a run relation with no terminating run, which the existence conjunct excludes; eligibility or blossoms chosen freely instead of by the page's rules; and comparison only against matchings of the contracted graph instead of all matchings of GGG.

Welcome contributions include a Lean treatment of blossoms and their contraction (Lemma 2.1, which is not a milestone here), the lift of augmenting paths, Lemmas 3.3 and 3.4 as auxiliary results, and proofs of the milestones in the order listed.

Selected references

  • R. Duan and S. Pettie, Linear-Time Approximation for Maximum Weight Matching, Journal of the ACM 61(1), Article 1, 2014. https://doi.org/10.1145/2529989
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, Journal of Research of the National Bureau of Standards 69B, 125–130, 1965. https://doi.org/10.6028/jres.069B.013
  • H. N. Gabow and R. E. Tarjan, Faster scaling algorithms for general graph-matching problems, Journal of the ACM 38(4), 815–853, 1991. https://doi.org/10.1145/115234.115366
  • R. Preis, Linear time 1/2-approximation algorithm for maximum weighted matching in general graphs, STACS 1999, LNCS 1563, 259–269 (cited from the bibliography of Duan and Pettie 2014).
  • D. E. D. Vinkemeier and S. Hougardy, A linear-time approximation algorithm for weighted matchings in graphs, ACM Transactions on Algorithms 1(1), 107–122, 2005 (cited from the bibliography of Duan and Pettie 2014).
  • S. Pettie and P. Sanders, A simpler linear time 2/3 − ϵ approximation to maximum weight matching, Information Processing Letters 91(6), 271–276, 2004 (cited from the bibliography of Duan and Pettie 2014).
12 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems 1: The Augmentation Bound for Shortest Augmenting PathsResearch Paper

Why the number of augmentations matters

The maximum flow problem asks how much of a commodity can be sent from a source to a sink through a network whose arcs have capacities. It is a basic model in operations research, underlies bipartite matching, transportation and scheduling problems, and is a standard subroutine inside larger combinatorial algorithms.

The classical method for it is the labeling method of Ford and Fulkerson: starting from some flow, repeatedly find an augmenting path from source to sink along which flow can be increased, push as much as the path allows, and stop when no such path exists. When all capacities are integers, each augmentation raises the flow value by at least one, so the method terminates, but the number of augmentations can be as large as the final flow value, which is exponential in the size of the input. Edmonds and Karp give a four-node example in which the method alternates between two paths and needs 2M2M2M augmentations for capacities MMM (Edmonds–Karp 1972, p. 250). With irrational capacities, Ford and Fulkerson showed that the method need not terminate at all and may converge to a non-maximum flow.

Timeline.

  • 1956 — Ford and Fulkerson introduce the labeling method and the max-flow min-cut theorem (Ford–Fulkerson 1956).
  • 1962 — Flows in Networks records the non-termination example for incommensurable capacities.
  • 1970 — Dinic independently obtains a polynomial bound using layered (shortest-path) networks (Dinic 1970).
  • 1972 — Edmonds and Karp prove that choosing each augmenting path with fewest arcs bounds the number of augmentations by 14(n3−n)\tfrac14(n^3-n)41​(n3−n), for arbitrary real capacities (Edmonds–Karp 1972, Theorem 1).

Setting

A network NNN consists of a finite set of nnn nodes, a source sss and a sink t≠st \ne st=s, and a set of arcs, which are ordered pairs (u,v)(u,v)(u,v) with u≠vu \ne vu=v; there is at most one arc from a node to another. One arc is the special return arc (t,s)(t,s)(t,s), and AAA denotes the set of all other arcs. Each (u,v)∈A(u,v) \in A(u,v)∈A has a real capacity c(u,v)>0c(u,v) > 0c(u,v)>0.

A flow is a nonnegative function fff on the arcs of NNN with f(u,v)≤c(u,v)f(u,v) \le c(u,v)f(u,v)≤c(u,v) on AAA and with inflow equal to outflow at every node, the return arc included. The value f(t,s)f(t,s)f(t,s) is the amount sent from sss to ttt; a maximum flow maximizes it.

Given a flow fff, the residual network NfN^fNf has the same nodes, and (u,v)(u,v)(u,v) is an arc of NfN^fNf when (u,v)∈A(u,v) \in A(u,v)∈A with c(u,v)−f(u,v)>0c(u,v) - f(u,v) > 0c(u,v)−f(u,v)>0, or (v,u)∈A(v,u) \in A(v,u)∈A with f(v,u)>0f(v,u) > 0f(v,u)>0. An augmenting path is a sequence of distinct nodes s=u1,…,up=ts = u_1, \dots, u_p = ts=u1​,…,up​=t whose consecutive pairs are arcs of NfN^fNf. Each step carries a number εi>0\varepsilon_i > 0εi​>0 (residual capacity forward, flow backward, or their sum when both (ui,ui+1)(u_i,u_{i+1})(ui​,ui+1​) and (ui+1,ui)(u_{i+1},u_i)(ui+1​,ui​) lie in AAA); ε=min⁡iεi\varepsilon = \min_i \varepsilon_iε=mini​εi​, and a step with εi=ε\varepsilon_i = \varepsilonεi​=ε is a bottleneck arc. Augmenting raises f(t,s)f(t,s)f(t,s) by ε\varepsilonε and shifts the flow on the path's arcs accordingly, using the paper's own rule for opposite arcs, which never exceeds a capacity.

A run with fewest-arc augmentations is a sequence f0,…,fKf^0, \dots, f^Kf0,…,fK where f0f^0f0 is a flow and each fk+1f^{k+1}fk+1 arises from fkf^kfk by augmenting along a path PkP^kPk with fewest arcs. The distance δk(u,v)\delta^k(u,v)δk(u,v) is the least number of arcs of a directed path from uuu to vvv in Nk=NfkN^k = N^{f^k}Nk=Nfk, or ∞\infty∞.

Formalization targets

Goal — Theorem 1

For every network on nnn nodes and every run of length KKK with fewest-arc augmentations,

K≤14 (n3−n),K \le \tfrac14\,(n^3 - n),K≤41​(n3−n),

and if no augmenting path exists relative to fKf^KfK, then fKf^KfK is a maximum flow. The capacities are arbitrary positive reals, and the initial flow is arbitrary.

Milestones

  1. §1.1: augmentation yields a flow with value f(t,s)+εf(t,s) + \varepsilonf(t,s)+ε, ε>0\varepsilon > 0ε>0.
  2. §1.1: a flow is maximum if and only if it admits no augmenting path.
  3. Proposition 1: a bottleneck arc of PkP^kPk is not an arc of Nk+1N^{k+1}Nk+1.
  4. Proposition 2: (u,v)∈Nk+1(u,v) \in N^{k+1}(u,v)∈Nk+1 implies (u,v)∈Nk(u,v) \in N^k(u,v)∈Nk or (v,u)∈Pk(v,u) \in P^k(v,u)∈Pk.
  5. Lemma 1: if (u,v)(u,v)(u,v) is a bottleneck arc at steps k<mk < mk<m, then (v,u)∈Pl(v,u) \in P^l(v,u)∈Pl for some k<l<mk < l < mk<l<m.
  6. Proposition 3: δk(s,u)≤δk+1(s,u)\delta^k(s,u) \le \delta^{k+1}(s,u)δk(s,u)≤δk+1(s,u) and δk(u,t)≤δk+1(u,t)\delta^k(u,t) \le \delta^{k+1}(u,t)δk(u,t)≤δk+1(u,t).
  7. Lemma 2: if k<lk < lk<l, (u,v)∈Pk(u,v) \in P^k(u,v)∈Pk and (v,u)∈Pl(v,u) \in P^l(v,u)∈Pl, then δl(s,t)≥δk(s,t)+2\delta^l(s,t) \ge \delta^k(s,t) + 2δl(s,t)≥δk(s,t)+2.
  8. Proof of Theorem 1: each pair {u,v}\{u,v\}{u,v} occurs as a bottleneck at most 12(n+1)\tfrac12(n+1)21​(n+1) times.

Significance

The theorem shows that one simple rule for choosing augmenting paths, which a breadth-first labeling process implements, makes the number of augmentations depend on the number of nodes alone, independent of the capacities and of their arithmetic nature. It removes both pathologies of the unrestricted labeling method at once: exponential running time for integer capacities, and non-termination for irrational ones. Together with Dinic's work it is the starting point of the theory of strongly polynomial network-flow algorithms, and the distance-monotonicity argument (Proposition 3, Lemma 2) reappears in blocking-flow and push-relabel analyses.

The result is classical and fully proved in the paper. What this mission adds is a machine-checked version of the complete argument in the paper's own model: return arc, arbitrary real capacities, and the paper's augmentation rule for pairs of opposite arcs, which differs from Ford and Fulkerson's (footnote 1, p. 249). The platform has a max-flow min-cut theorem and an integer termination theorem for the Ford–Fulkerson method in the Bertsimas–Tsitsiklis model (Introduction to Linear Optimization, missions IX–X), but no bound on the number of augmentations. No machine-checked proof of Theorem 1 in Lean is known to exist.

Difficulty

The obvious argument, "each augmentation saturates a bottleneck arc, which then disappears", fails because a saturated arc can reappear after later augmentations push flow back along its reverse. Counting augmentations therefore requires control over how often the same pair of nodes can supply a bottleneck again, and no property of a single augmentation provides it; the bound has to come from an invariant of the whole run that holds for real capacities, where no integrality argument is available. A second trap is that the converse direction of milestone 2 (no augmenting path implies maximality) is a max-flow min-cut statement that the paper cites without proof; it must be proved in the paper's model with the return arc.

Formalization scope

Nodes form a finite type V with decidable equality and nnn = Fintype.card V counts all nodes, sss and ttt included. The arc set A is a Finset (V × V) with no loops and without (t,s)(t,s)(t,s); capacities are real and positive on A. A flow is a function V → V → ℝ whose values off the arcs are ignored. A maximum flow is the predicate "f(t,s)≥g(t,s)f(t,s) \ge g(t,s)f(t,s)≥g(t,s) for every flow ggg", never a real supremum. Paths are lists of distinct nodes with every consecutive pair a residual arc, so the return arc is never on a path. Distances take values in ℕ∞. A run is a pair of ℕ-indexed sequences constrained on indices up to KKK. The explicit constants are stated as printed: 4K≤n3−n4K \le n^3 - n4K≤n3−n in ℕ (the truncated subtraction is harmless since n≤n3n \le n^3n≤n3) and 2 b(u,v)≤n+12\,b(u,v) \le n + 12b(u,v)≤n+1 for the per-pair count.

Case (b) of the paper's definition of augmenting paths is misprinted (its hypothesis repeats that of Case (c)); the formalization uses the reading (ui,ui+1)∉A(u_i,u_{i+1}) \notin A(ui​,ui+1​)∈/A, (ui+1,ui)∈A(u_{i+1},u_i) \in A(ui+1​,ui​)∈A, which the paper's own description of NfN^fNf on p. 251 confirms.

A trivializing formalization is ruled out: a run predicate that no sequence satisfies (for instance, one that requires paths through the return arc, or computes ε=0\varepsilon = 0ε=0) would make the bound vacuous; the step predicate here is satisfiable, and a concrete four-node run has been checked. Replacing the paper's augmentation rule by "increase the forward arc by ε\varepsilonε" would also change the theorem, because that rule can violate capacities.

A complete development needs basic facts on simple paths in finite digraphs, shortest paths and their subpaths, and a max-flow min-cut theorem in the paper's model. These are reusable well beyond this mission, as are the network, residual-network and augmentation definitions. Contributions proving any milestone independently are welcome.

Selected references

  • J. Edmonds, R. M. Karp, Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems, Journal of the ACM 19(2):248–264, 1972. https://doi.org/10.1145/321694.321699
  • L. R. Ford, D. R. Fulkerson, Maximal Flow Through a Network, Canadian Journal of Mathematics 8:399–404, 1956. https://doi.org/10.4153/CJM-1956-045-5
  • L. R. Ford, D. R. Fulkerson, Flows in Networks, Princeton University Press, 1962. https://doi.org/10.1515/9781400875184
  • E. A. Dinic, Algorithm for Solution of a Problem of Maximum Flow in a Network with Power Estimation, Soviet Mathematics Doklady 11:1277–1280, 1970. https://www.cs.bgu.ac.il/~dinitz/D70.pdf
  • D. Bertsimas, J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997, Chapter 7 (network flow problems; formalized on the platform in missions IX–X).
24 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization+1·Captain: mikedeng1

An Analysis of Several Heuristics for the Traveling Salesman Problem II: Every Insertion Method Is Within ⌈lg n⌉ + 1 of the Optimal TourResearch Paper

Motivation

The traveling salesman problem asks for a shortest closed route visiting every node of a weighted complete graph exactly once. It is NP-hard, so practitioners use fast heuristics, and the basic question about a heuristic is how far from optimal its tour can be. Rosenkrantz, Stearns and Lewis (SIAM J. Comput. 6(3), 1977) gave the first systematic worst-case analysis of the simple constructive heuristics under the triangle inequality: nearest neighbor, the family of insertion methods, and several variants.

Insertion methods build a tour by growing it one node at a time. They are among the most widely used construction heuristics in practice and in textbooks, and they differ only in the rule that chooses which node to insert next: the nearest one, the cheapest one, the farthest one, a random one, or any other. This mission formalizes the paper's result that holds for the whole family at once, regardless of that rule: every insertion method produces a tour at most ⌈lg⁡n⌉+1\lceil \lg n\rceil + 1⌈lgn⌉+1 times longer than an optimal one (Theorem 3, p. 571).

Timeline. 1977: Rosenkrantz, Stearns and Lewis prove ⌈lg⁡n⌉+1\lceil\lg n\rceil+1⌈lgn⌉+1 for every insertion method (Theorem 3), 12(⌈lg⁡n⌉+1)\tfrac12(\lceil\lg n\rceil+1)21​(⌈lgn⌉+1) for nearest neighbor (Theorem 1), both from a shared counting lemma (Lemma 1), and the constant 222 for nearest and cheapest insertion (Theorem 4). 1994: Bafna, Kalyanasundaram and Pruhs (Theoretical Computer Science 125, 1994) give instances on which some insertion methods reach ratio Ω(log⁡n/log⁡log⁡n)\Omega(\log n/\log\log n)Ω(logn/loglogn), so the logarithmic growth cannot be replaced by a constant for the family as a whole.

Setting

A traveling salesman graph with nnn nodes consists of a finite node set NNN with ∣N∣=n|N|=n∣N∣=n and a distance d:N×N→Rd:N\times N\to\mathbb Rd:N×N→R with d(i,j)=d(j,i)d(i,j)=d(j,i)d(i,j)=d(j,i), d(i,j)≥0d(i,j)\ge 0d(i,j)≥0 and d(i,j)+d(j,k)≥d(i,k)d(i,j)+d(j,k)\ge d(i,k)d(i,j)+d(j,k)≥d(i,k) for all nodes (the triangle inequality). A tour visits every node once and returns to its start; its length is the sum of its edge lengths, and OPTIMAL is the least length of a tour.

A subtour is a tour on a subset of the nodes; a single node is a tour without edges. Given a subtour TTT and a node k∉Tk\notin Tk∈/T, TOUR(T,k)(T,k)(T,k) is obtained by choosing an edge (x,y)(x,y)(x,y) of TTT minimizing

d(x,k)+d(k,y)−d(x,y)d(x,k)+d(k,y)-d(x,y)d(x,k)+d(k,y)−d(x,y)

and replacing it by the edges (x,k)(x,k)(x,k) and (k,y)(k,y)(k,y); if TTT is a single node iii, TOUR(T,k)(T,k)(T,k) is the two-node tour (i,k),(k,i)(i,k),(k,i)(i,k),(k,i). COST(T,k)(T,k)(T,k) is the length of TOUR(T,k)(T,k)(T,k) minus the length of TTT.

An insertion method constructs subtours T1,…,TnT_1,\dots,T_nT1​,…,Tn​ with T1={a0}T_1=\{a_0\}T1​={a0​} a single node and Ti+1=TOUR(Ti,ai)T_{i+1}=\mathrm{TOUR}(T_i,a_i)Ti+1​=TOUR(Ti​,ai​) for some node ai∉Tia_i\notin T_iai​∈/Ti​, 1≤i<n1\le i<n1≤i<n. The final tour TnT_nTn​ is the approximation, and INSERT denotes its length. No rule for choosing the aia_iai​ is fixed, and ties between minimizing edges are broken arbitrarily.

Write lg⁡\lglg for the logarithm to base 2 and ⌈x⌉\lceil x\rceil⌈x⌉ for the least integer ≥x\ge x≥x.

Formalization targets

Goal: Theorem 3

For every traveling salesman graph with n≥1n\ge 1n≥1 nodes and every run of every insertion method,

INSERT ≤ (⌈lg⁡n⌉+1)⋅OPTIMAL.\mathrm{INSERT}\ \le\ \bigl(\lceil\lg n\rceil+1\bigr)\cdot\mathrm{OPTIMAL}.INSERT ≤ (⌈lgn⌉+1)⋅OPTIMAL.

Milestones

  1. (2.2), shortcutting: visiting a subset of the nodes in the order of a tour gives a tour of the subset that is no longer.
  2. (2.1): if the numbers l1≥⋯≥lnl_1\ge\dots\ge l_nl1​≥⋯≥ln​ satisfy d(p,q)≥min⁡(lp,lq)d(p,q)\ge\min(l_p,l_q)d(p,q)≥min(lp​,lq​) for distinct p,qp,qp,q, then OPTIMAL≥2∑i=k+1min⁡(2k,n)li\mathrm{OPTIMAL}\ge 2\sum_{i=k+1}^{\min(2k,n)} l_iOPTIMAL≥2∑i=k+1min(2k,n)​li​ for 1≤k≤n1\le k\le n1≤k≤n.
  3. Lemma 1: if d(p,q)≥min⁡(lp,lq)d(p,q)\ge\min(l_p,l_q)d(p,q)≥min(lp​,lq​) for distinct nodes and lp≤12OPTIMALl_p\le\frac12\mathrm{OPTIMAL}lp​≤21​OPTIMAL for all ppp, then
∑plp≤12(⌈lg⁡n⌉+1)OPTIMAL.\sum_p l_p\le\tfrac12\bigl(\lceil\lg n\rceil+1\bigr)\mathrm{OPTIMAL}.p∑​lp​≤21​(⌈lgn⌉+1)OPTIMAL.
  1. Lemma 2: COST(T,k)≤2 d(k,j)\mathrm{COST}(T,k)\le 2\,d(k,j)COST(T,k)≤2d(k,j) for every node jjj of TTT.
  2. (3.7): INSERT=∑i=1n−1COST(Ti,ai)\mathrm{INSERT}=\sum_{i=1}^{n-1}\mathrm{COST}(T_i,a_i)INSERT=∑i=1n−1​COST(Ti​,ai​).
  3. (3.10): COST(Ti,ai)≤2 d(ai,aj)\mathrm{COST}(T_i,a_i)\le 2\,d(a_i,a_j)COST(Ti​,ai​)≤2d(ai​,aj​) whenever j<ij<ij<i.
  4. (3.12): COST(Ti,ai)≤OPTIMAL\mathrm{COST}(T_i,a_i)\le\mathrm{OPTIMAL}COST(Ti​,ai​)≤OPTIMAL for 1≤i<n1\le i<n1≤i<n.

Significance

The result. Theorem 3 is a guarantee for an entire class of algorithms rather than for one. Any rule for choosing the next node, including rules designed for speed or for empirical quality, inherits a worst-case ratio of ⌈lg⁡n⌉+1\lceil\lg n\rceil+1⌈lgn⌉+1 from the insertion step alone. The rule matters only for improving on that: nearest and cheapest insertion achieve the constant 2(1−1/n)2(1-1/n)2(1−1/n) (Theorem 4 and its corollary, the subject of the third mission of this series), while the logarithmic bound remains the best general statement for other rules, such as farthest or arbitrary insertion. Lemma 1 is reusable on its own: it converts "every node carries a charge bounded by half the optimum and by its distance to other nodes" into a logarithmic bound, and the same lemma yields the nearest neighbor bound of Theorem 1.

Formalizing it. The theorem has been proved since 1977; the work here is a machine-checked proof of the known argument together with a reusable library for subtours, insertion and insertion costs. The companion nearest neighbor bound (Theorem 1) is already on the platform as SupplyChainTheory.nearest_neighbor_bound (proved), and nearest insertion with constant 2 as SupplyChainTheory.nearest_insertion_bound; neither covers arbitrary insertion methods or states Lemma 1 separately.

Difficulty

The per-step facts are local: each insertion is cheap relative to a node already present (Lemma 2) and relative to OPTIMAL (3.12). The obvious way to combine them, adding up n−1n-1n−1 costs each at most OPTIMAL, gives only the ratio n−1n-1n−1. The logarithm comes from a global counting argument over all nodes simultaneously (Lemma 1), in which OPTIMAL is compared with tours on nested subsets of nodes of doubling size, and the per-node charges must be matched against the edges of those tours. Formally, the delicate parts are the bookkeeping of subtours as they grow (that every earlier node lies on the current subtour, and that the insertion cost equals the length increase), the shortcutting of a tour to an arbitrary subset, and the ceiling-of-logarithm arithmetic.

Formalization scope

Nodes are Fin n; a tour of all nodes is a permutation τ : Equiv.Perm (Fin n), and OPTIMAL is the minimum of the tour length over the finite, nonempty set of permutations. Subtours are duplicate-free lists of nodes, with closed length d(x0,x1)+⋯+d(xm−1,x0)d(x_0,x_1)+\dots+d(x_{m-1},x_0)d(x0​,x1​)+⋯+d(xm−1​,x0​). TOUR(T,k)(T,k)(T,k) is encoded as inserting kkk at a list position whose resulting length is minimal among all positions; inserting at a position removes exactly one edge of TTT and raises the length by exactly d(x,k)+d(k,y)−d(x,y)d(x,k)+d(k,y)-d(x,y)d(x,k)+d(k,y)−d(x,y), so this is the paper's rule, with every tie-breaking allowed. COST is the minimum length increase over positions. The paper's 1-based subtour index is kept (T1=[a0]T_1=[a_0]T1​=[a0​], TnT_nTn​ final). ⌈lg⁡n⌉\lceil\lg n\rceil⌈lgn⌉ is Nat.clog 2 n. All quantities are real.

Conventions and deviations, each disclosed in the item statements:

  • The distance satisfies d(i,i)=0d(i,i)=0d(i,i)=0, a normalization not in the paper; a loop never enters any length.
  • Ratios are multiplied out (INSERT≤c⋅OPTIMAL\mathrm{INSERT}\le c\cdot\mathrm{OPTIMAL}INSERT≤c⋅OPTIMAL), so the paper's exclusion of the identically zero distance (1.1) is not needed.
  • Condition a) of Lemma 1 is required for distinct nodes only. The page says "for all nodes ppp and qqq", which for p=qp=qp=q would force every lp≤0l_p\le 0lp​≤0 and make the lemma inapplicable in the proof of Theorem 3; the proof uses the condition only on edges of a tour.
  • (2.2) is stated for every subset of the nodes and every tour, which is what the shortcut argument shows; the paper applies it to one specific subset and an optimal tour.
  • (2.1) uses 0-based node labels, so its range k+1,…,min⁡(2k,n)k+1,\dots,\min(2k,n)k+1,…,min(2k,n) becomes k,…,min⁡(2k,n)−1k,\dots,\min(2k,n)-1k,…,min(2k,n)−1.

The goal quantifies over every run: any choice of the inserted nodes aia_iai​ and any minimizing insertion position. Adding a selection rule (nearest, cheapest) or fixing a tie-breaking would state a weaker, different theorem; restricting to instances with OPTIMAL =0=0=0 or to a fixed small nnn would trivialize it.

Reusable beyond this mission: the subtour and insertion library (closed length of a list, TOUR, COST, insertion runs) and Lemma 1, which also yields Theorem 1. Contributions welcome: proofs of the milestones, general lemmas about the closed length of List.insertIdx and of filtered lists, and a proof of Theorem 1 from this mission's Lemma 1.

Selected references

  • D. J. Rosenkrantz, R. E. Stearns, P. M. Lewis II, An Analysis of Several Heuristics for the Traveling Salesman Problem, SIAM Journal on Computing 6(3):563–581, 1977. https://doi.org/10.1137/0206041
  • V. Bafna, B. Kalyanasundaram, K. Pruhs, Not all insertion methods yield constant approximate tours in the Euclidean plane, Theoretical Computer Science 125(2):345–353, 1994.
10 thms2 active usersReviewed
🏆Completed
Linear OptimizationOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Finding Minimum-Cost Circulations by Canceling Negative Cycles: Polynomial Termination of Minimum-Mean Cycle CancelingResearch Paper

Motivation

The minimum-cost circulation problem is a central problem of network optimization: transportation, assignment, shortest-path and maximum-flow problems are all special cases, and it is one of the few classes of linear programs with fast combinatorial algorithms. The oldest algorithm for it, the cycle-canceling algorithm of Klein (1967), repeatedly finds a residual cycle of negative cost and pushes as much flow as possible around it. With an arbitrary choice of cycle it can take exponentially many iterations even on integer data, and it need not terminate at all when capacities are irrational.

Goldberg and Tarjan (J. ACM 36(4), 1989) showed that one simple selection rule repairs this: always cancel a residual cycle whose mean cost (cost divided by number of arcs) is as small as possible. The resulting algorithm is strongly polynomial: its number of iterations is bounded by a polynomial in the number of vertices and arcs alone, independent of the magnitudes of capacities and costs. This mission formalizes that bound.

Timeline:

  • 1967, Klein: the cycle-canceling algorithm, without an iteration bound.
  • 1972, Edmonds and Karp: the first polynomial algorithm for minimum-cost flow (capacity scaling), polynomial in the bit length of the capacities.
  • 1985, Tardos: the first strongly polynomial algorithm, introducing the arc-fixing idea that Theorem 3.8 generalizes.
  • 1987–1989, Goldberg and Tarjan: generalized cost scaling and ε-optimality; in this paper, minimum-mean cycle canceling terminates after O(nm² log n) iterations for real costs (Theorem 3.9) and O(nm log(nC)) for integer costs bounded by C (Theorem 3.7).

Setting

A circulation network is a finite directed graph G=(V,E)G=(V,E)G=(V,E) with n=∣V∣n=|V|n=∣V∣ vertices and m=∣E∣m=|E|m=∣E∣ arcs, which is symmetric ((v,w)∈E(v,w)\in E(v,w)∈E iff (w,v)∈E(w,v)\in E(w,v)∈E, so mmm counts both directions), together with real capacities u(v,w)u(v,w)u(v,w) and real costs c(v,w)c(v,w)c(v,w), the cost being antisymmetric: c(v,w)=−c(w,v)c(v,w)=-c(w,v)c(v,w)=−c(w,v).

A circulation is a real function fff on arcs satisfying f(v,w)≤u(v,w)f(v,w)\le u(v,w)f(v,w)≤u(v,w), f(v,w)=−f(w,v)f(v,w)=-f(w,v)f(v,w)=−f(w,v) on every arc, and conservation ∑v:(w,v)∈Ef(v,w)=0\sum_{v:(w,v)\in E} f(v,w)=0∑v:(w,v)∈E​f(v,w)=0 at every vertex www. Its cost is cost⁡(f)=12∑(v,w)∈Ec(v,w)f(v,w)\operatorname{cost}(f)=\tfrac12\sum_{(v,w)\in E}c(v,w)f(v,w)cost(f)=21​∑(v,w)∈E​c(v,w)f(v,w), and fff is minimum-cost (optimal) if no circulation has smaller cost.

The residual capacity of an arc is uf(v,w)=u(v,w)−f(v,w)u_f(v,w)=u(v,w)-f(v,w)uf​(v,w)=u(v,w)−f(v,w); arcs with uf>0u_f>0uf​>0 are residual arcs. A residual cycle is a simple cycle of residual arcs; its capacity is the minimum residual capacity along it, its cost c(Γ)c(\Gamma)c(Γ) is the sum of its arc costs, and its mean cost is c(Γ)/∣Γ∣c(\Gamma)/|\Gamma|c(Γ)/∣Γ∣. Canceling a residual cycle raises the flow on each of its arcs by its capacity (and lowers the flow on each reverse arc by the same amount).

The minimum-mean cycle-canceling algorithm starts from any circulation and, while some residual cycle has negative cost, cancels a residual cycle whose mean cost is minimum among all residual cycles. Ties are broken arbitrarily, so the algorithm is a nondeterministic process; a run of length KKK is any sequence f0,…,fKf_0,\dots,f_Kf0​,…,fK​ of circulations produced by KKK such iterations.

The analysis uses a price function p:V→Rp:V\to\mathbb Rp:V→R, the reduced cost cp(v,w)=c(v,w)+p(v)−p(w)c_p(v,w)=c(v,w)+p(v)-p(w)cp​(v,w)=c(v,w)+p(v)−p(w), and ε-optimality: for ε≥0\varepsilon\ge0ε≥0, fff is ε-optimal if some ppp gives cp(v,w)≥−εc_p(v,w)\ge-\varepsiloncp​(v,w)≥−ε on every residual arc. The quantity ε(f)\varepsilon(f)ε(f) is the least such ε\varepsilonε, and an arc is ε-fixed if all ε-optimal circulations carry the same flow on it.

Formalization targets

Goal: Theorem 3.9, with the proof's constant

For every circulation network with n≥2n\ge2n≥2 vertices, mmm arcs, arbitrary real capacities and arbitrary real antisymmetric costs, every run of the minimum-mean cycle-canceling algorithm has length

K ≤ n m2 ⌈ln⁡n+1⌉.K\ \le\ n\,m^2\,\lceil \ln n+1\rceil .K ≤ nm2⌈lnn+1⌉.

The statement quantifies over all starting circulations, all tie-breaking choices and all real data; it is the paper's O(nm2log⁡n)O(nm^2\log n)O(nm2logn) with the constant its proof establishes.

Milestones

In the order the proof uses them: Theorem 2.1 (optimal iff no negative residual cycle), Theorem 3.1 (optimal iff some price function has cp≥0c_p\ge0cp​≥0 on residual arcs), Theorem 3.3 (ε(f)=−μ(f)\varepsilon(f)=-\mu(f)ε(f)=−μ(f) for nonoptimal fff, where μ(f)\mu(f)μ(f) is the minimum cycle mean of the residual graph), Lemma 3.5 (a minimum-mean cancellation does not increase ε(f)\varepsilon(f)ε(f)), Lemma 3.6 (mmm cancellations shrink ε(f)\varepsilon(f)ε(f) by a factor 1−1/n1-1/n1−1/n), and Theorem 3.8 (an arc with ∣cp(v,w)∣≥2nε|c_p(v,w)|\ge2n\varepsilon∣cp​(v,w)∣≥2nε is ε-fixed).

Significance

Theorem 3.9 shows that a classical, natural algorithm is strongly polynomial: its iteration count depends only on the combinatorial size of the network. Combined with Karp's O(nm)O(nm)O(nm) minimum-mean cycle algorithm it yields an O(n2m3log⁡n)O(n^2m^3\log n)O(n2m3logn) strongly polynomial algorithm (Theorem 3.10), and its method, measuring progress by the minimum cycle mean and fixing arcs once ε(f)\varepsilon(f)ε(f) is small, underlies the faster cancel-and-tighten algorithm of Section 4 and later strongly polynomial analyses of network-flow and related algorithms.

The theorem has been proved since 1989; this mission's contribution is a machine-checked proof. To the best of the platform's catalogue, no cycle-canceling bound, minimum cycle mean or ε-optimality statement has been formalized. The platform does hold the negative-cycle optimality criterion in a different model (LinearOptimization.network_no_negative_cycle_optimal, Bertsimas–Tsitsiklis Theorem 7.6, with nonnegative flows and supplies) and a flow decomposition theorem (LinearOptimization.network_flow_decomposition); both are related to milestones here but are stated for a different network model.

Difficulty

The obvious potential function, the cost of the circulation, decreases at every iteration but by amounts that depend on the data, so it yields no bound independent of the capacities and costs. The analysis instead has to track ε(f)\varepsilon(f)ε(f), an infimum over price functions, and relate it to the minimum cycle mean of a residual graph that changes after each cancellation, including arcs that appear only because of earlier cancellations. The strongly polynomial part needs a second ingredient: showing that the flow on some arc never changes again, which requires comparing the current circulation with all other ε-optimal circulations of the network, not only those the algorithm visits.

Formalization scope

Vertices form a finite type V; the arc set is E : Finset (V × V); capacities, costs and flows are real functions V → V → ℝ read only on E. nnn is Fintype.card V and mmm is E.card, counting (v,w)(v,w)(v,w) and (w,v)(w,v)(w,v) separately, as in the paper. Cycles are nonempty duplicate-free vertex lists, whose arcs are the cyclically consecutive pairs; one- and two-vertex cycles are allowed and have cost 000. Minimum mean is taken over all residual simple cycles of the current circulation. ε(f)\varepsilon(f)ε(f) is an infimum (sInf) over a set that is nonempty and bounded below for every circulation; its attainment is to be proved, never assumed.

Explicit constants replacing the paper's O(⋅)O(\cdot)O(⋅):

  • Theorem 3.9: the paper prints O(nm2log⁡n)O(nm^2\log n)O(nm2logn); its proof uses groups of k=m n⌈ln⁡n+1⌉k=m\,n\lceil\ln n+1\rceilk=mn⌈lnn+1⌉ iterations, at most mmm of them, so the goal states K≤n m2⌈ln⁡n+1⌉K\le n\,m^2\lceil\ln n+1\rceilK≤nm2⌈lnn+1⌉ with the natural logarithm.
  • The standing assumption n≥2n\ge2n≥2 (p. 874) is kept on the goal; the standing assumption m≥nm\ge nm≥n is not used by the proof and is omitted.

"Terminates after at most BBB iterations" means that every run has length at most BBB. Asserting only that some run is short, or that the process eventually stops, does not formalize the theorem; nor does a step relation that drops negativity, simplicity of the cycle, minimality of the mean over all residual cycles, or the update by exactly the cycle's capacity.

A complete development needs cycle decomposition of the difference of two circulations, LP duality for circulations (Theorem 3.1), and bookkeeping for the residual graph under cancellation. These are reusable for any cycle-canceling or cost-scaling analysis, and contributions of that infrastructure as separate lemmas are welcome. Theorem 3.7 (the integer-cost bound) and Section 4 are outside this mission.

Selected references

  • A. V. Goldberg, R. E. Tarjan, Finding Minimum-Cost Circulations by Canceling Negative Cycles, J. ACM 36(4):873–886, 1989. https://doi.org/10.1145/76359.76368
  • M. Klein, A primal method for minimal cost flows with applications to the assignment and transportation problems, Management Science 14(3):205–220, 1967. https://doi.org/10.1287/mnsc.14.3.205
  • É. Tardos, A strongly polynomial minimum cost circulation algorithm, Combinatorica 5(3):247–255, 1985. https://doi.org/10.1007/BF02579369
  • A. V. Goldberg, R. E. Tarjan, Finding minimum-cost circulations by successive approximation, Mathematics of Operations Research 15(3):430–466, 1990. https://doi.org/10.1287/moor.15.3.430
  • R. M. Karp, A characterization of the minimum cycle mean in a digraph, Discrete Mathematics 23(3):309–311, 1978. https://doi.org/10.1016/0012-365X(78)90011-0
  • J. Edmonds, R. M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, J. ACM 19(2):248–264, 1972. https://doi.org/10.1145/321694.321699
10 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs IV: Adjacent Stable Sets on the Stable Set PolytopeResearch Paper

Motivation

Many combinatorial optimization problems are linear programs over a polytope whose vertices are the zero–one incidence vectors of the feasible objects: matchings, stable sets, spanning trees. The edges of such a polytope (pairs of vertices joined by a one-dimensional face) govern the behaviour of the simplex method and of local-search procedures, which move from vertex to vertex along edges: a pivot of the simplex method on a nondegenerate basis replaces a vertex by one of its neighbours.

In December 1971 M. L. Balinski asked when two matchings M1,M2M_1, M_2M1​,M2​ of a graph are neighbours on the matching polyhedron determined by Edmonds (Edmonds 1965). V. Chvátal answered a more general question in §6 of On certain polytopes associated with graphs (Chvátal 1975): he characterized the neighbours on the stable set polytope of an arbitrary graph. Since matchings of GGG are the stable sets of the line graph L(G)L(G)L(G), Balinski's question is the special case of line graphs (Corollary 6.3 of the paper).

Setting

Let G=(V,E)G=(V,E)G=(V,E) be a finite undirected loopless graph. A stable set is a set of vertices no two of which are adjacent. S(G)S(G)S(G) denotes the set of all zero–one vectors x=(xu:u∈V)x=(x_u : u\in V)x=(xu​:u∈V) such that {u:xu=1}\{u : x_u=1\}{u:xu​=1} is stable, and the stable set polytope is

P(G)=conv⁡S(G)⊆RV.P(G)=\operatorname{conv} S(G)\subseteq \mathbb R^V .P(G)=convS(G)⊆RV.

For y∈S(G)y\in S(G)y∈S(G) the corresponding stable set is Y={u:yu=1}Y=\{u : y_u=1\}Y={u:yu​=1}.

For an integer-valued vector c=(cu:u∈V)c=(c_u : u\in V)c=(cu​:u∈V) write cx=∑u∈Vcuxucx=\sum_{u\in V}c_ux_ucx=∑u∈V​cu​xu​. Two vectors y,zy, zy,z are neighbours in P(G)P(G)P(G) if there is an integer-valued ccc such that yyy and zzz are the only two vectors which maximize cxcxcx over S(G)S(G)S(G); in particular y≠zy\neq zy=z. This is the definition the paper states at the start of the proof of Theorem 6.2.

A bicoloration of a graph TTT is a partition V=B∪RV=B\cup RV=B∪R, B∩R=∅B\cap R=\emptysetB∩R=∅, such that every edge joins BBB to RRR. Every tree has one.

In the Lean development these objects are stableVectors G (S(G)S(G)S(G)), stablePolytope G (P(G)P(G)P(G)), onesSet y (YYY), AreNeighbors G y z and IsBicoloration T B R, all in the namespace ChvatalPolytopes.Neighbors.

Formalization targets

Goal: Theorem 6.2 (p. 149)

For y,z∈S(G)y,z\in S(G)y,z∈S(G) with corresponding stable sets Y,ZY,ZY,Z,

y and z are neighbours in P(G)  ⟺  the subgraph H of G induced by (Y−Z)∪(Z−Y) is connected.y \text{ and } z \text{ are neighbours in } P(G) \iff \text{the subgraph } H \text{ of } G \text{ induced by } (Y-Z)\cup(Z-Y) \text{ is connected.}y and z are neighbours in P(G)⟺the subgraph H of G induced by (Y−Z)∪(Z−Y) is connected.

Milestone: Lemma 6.1 (p. 149)

For a tree T=(V,E)T=(V,E)T=(V,E) with a bicoloration V=B∪RV=B\cup RV=B∪R there are nonnegative integers cuc_ucu​ (u∈Vu\in Vu∈V) and mmm with

∑u∈Vcuxu≤mfor all x∈S(T),\sum_{u\in V}c_ux_u\le m\quad\text{for all } x\in S(T),u∈V∑​cu​xu​≤mfor all x∈S(T),

with equality exactly when xxx is the incidence vector of BBB or of RRR.

Milestone: the certificate of the "if" part (p. 149, proof of Theorem 6.2, (i))

If HHH is connected with spanning tree TTT, and cuc_ucu​ (u∈(Y−Z)∪(Z−Y)u\in (Y-Z)\cup(Z-Y)u∈(Y−Z)∪(Z−Y)), mmm are as in Lemma 6.1 for TTT, extend ccc by cu=1c_u=1cu​=1 on Y∩ZY\cap ZY∩Z and cu=−1c_u=-1cu​=−1 outside Y∪ZY\cup ZY∪Z. Then

∑u∈Vcuxu≤m+∣Y∩Z∣for all x∈S(G),\sum_{u\in V}c_ux_u\le m+|Y\cap Z|\quad\text{for all } x\in S(G),u∈V∑​cu​xu​≤m+∣Y∩Z∣for all x∈S(G),

with equality if and only if x=yx=yx=y or x=zx=zx=z.

Significance

Theorem 6.2 describes the 1-skeleton of the stable set polytope of every graph by a condition that can be checked in linear time, although optimizing over P(G)P(G)P(G) is NP-hard in general and no complete linear description of P(G)P(G)P(G) is known for general graphs. Through line graphs it gives the adjacency criterion for the matching polytope (two matchings are neighbours if and only if their symmetric difference is a single path or cycle), which settled Balinski's question. Characterizations of this type underlie the analysis of simplex-type and pivoting algorithms on combinatorial polytopes and the study of their diameters.

The result has been proved since 1975. The mission asks for a machine-checked proof of the theorem as stated in the paper; no formal proof of Theorem 6.2 or of the matching-polytope corollary is known to exist on Prove2Me or in Mathlib. The two milestones isolate the constructive half (Lemma 6.1 and the weighting built from it), which is reusable for any statement that needs an explicit objective singling out two stable sets.

Difficulty

The "only if" direction and the equality analysis are elementary; the substance lies in the "if" direction. An objective that makes both yyy and zzz optimal is easy to write down, for example c=y+zc=y+zc=y+z; the difficulty is to make them the only optimal vectors. Any stable set that agrees with YYY on some connected pieces of HHH and with ZZZ on others ties with yyy and zzz under naive weightings, so the weights on (Y−Z)∪(Z−Y)(Y-Z)\cup(Z-Y)(Y−Z)∪(Z−Y) must be chosen so that every mixed choice loses strictly. The integrality requirement on ccc and the need to control all of S(G)S(G)S(G), not only the stable sets contained in Y∪ZY\cup ZY∪Z, rule out a direct perturbation argument.

Formalization scope

  • Graphs. VVV is a finite type with decidable equality and GGG is a SimpleGraph V; loops and multiple edges are excluded, as in the paper.
  • S(G)S(G)S(G) and P(G)P(G)P(G). S(G)S(G)S(G) is the set of incidence vectors in V → ℝ of stable finsets; P(G)P(G)P(G) is convexHull ℝ (S G).
  • Neighbours. Defined exactly as on p. 149: y≠zy\ne zy=z and, for some c:V→Zc : V\to\mathbb Zc:V→Z, the set of maximizers of cxcxcx over S(G)S(G)S(G) equals {y,z}\{y,z\}{y,z}. The face-lattice notion of an edge of P(G)P(G)P(G) is not used; its equivalence with this definition is not part of the paper.
  • Induced subgraph and connectedness. HHH is G.induce of the set (Y∖Z)∪(Z∖Y)(Y\setminus Z)\cup(Z\setminus Y)(Y∖Z)∪(Z∖Y), and "connected" is Mathlib's SimpleGraph.Connected, which requires at least one vertex. For y=zy=zy=z both sides of the goal are therefore false.
  • Trees. SimpleGraph.IsTree, which includes connectedness; a spanning tree of HHH is a graph TTT on the vertex set of HHH with T≤HT\le HT≤H and T.IsTree. In Lemma 6.1 the integers cuc_ucu​ and mmm are natural numbers.

A trivializing formalization — defining neighbours through the symmetric-difference condition or through Lemma 6.1's certificate, or omitting y≠zy\neq zy=z from the definition — is excluded: neighbours are defined only through unique maximizers of integer objectives over S(G)S(G)S(G).

A complete development needs only finite graphs, induced subgraphs, spanning trees of connected graphs (available in Mathlib) and finite sums. Contributions welcome beyond the milestones: the equivalence of this notion of neighbours with the one-dimensional faces of P(G)P(G)P(G), and Corollary 6.3 for the matching polytope via line graphs.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, Journal of Combinatorial Theory, Series B 18 (1975), 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, Journal of Research of the National Bureau of Standards 69B (1965), 125–130. https://doi.org/10.6028/jres.069B.013
  • M. W. Padberg, On the facial structure of set packing polyhedra, Mathematical Programming 5 (1973), 199–215. https://doi.org/10.1007/BF01580121
6 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs II: No Clique Is a Cutset of a Connected α-Critical GraphResearch Paper

Motivation

The stability number α(G)\alpha(G)α(G) of a graph, the largest number of pairwise non-adjacent vertices, is the optimum of an integer program over the stable set polytope P(G)P(G)P(G). Linear programming duality turns any explicit linear description of P(G)P(G)P(G) into a certificate of optimality for α(G)\alpha(G)α(G), which is why the question "which inequalities are needed to describe P(G)P(G)P(G)?" has been central to polyhedral combinatorics since Edmonds' description of the matching polytope (Edmonds 1965). Chvátal's 1975 paper (doi:10.1016/0095-8956(75)90041-6) initiated the systematic study of P(G)P(G)P(G) for arbitrary graphs: which graph operations preserve a known description, and which inequalities are facets, i.e. indispensable in every description.

Section 4 of the paper treats one such operation, gluing two graphs along a complete subgraph, and one family of facets, the "rank" inequality ∑uxu≤α(G)\sum_u x_u\le\alpha(G)∑u​xu​≤α(G) for graphs whose critical edges connect all vertices. Combining the two yields a purely graph-theoretic fact about α\alphaα-critical graphs (graphs in which deleting any edge increases the stability number): no complete subgraph separates such a graph. The fact is due to Berge (Graphes et hypergraphes, 1970, Ch. 13, §3, Corollary 2); Chvátal's derivation obtains it from polyhedral arguments. α\alphaα-critical graphs were studied by Erdős and Gallai, Hajnal, Andrásfai and Lovász, and their structure is closely tied to the facets of P(G)P(G)P(G).

Setting

Graphs are finite, undirected and loopless: G=(V,E)G=(V,E)G=(V,E). A stable set is a set of pairwise non-adjacent vertices; α(G)\alpha(G)α(G) is the largest size of a stable set. The incidence vector of s⊆Vs\subseteq Vs⊆V is χs∈RV\chi^s\in\mathbb R^Vχs∈RV with χus=1\chi^s_u=1χus​=1 for u∈su\in su∈s and 000 otherwise. S(G)S(G)S(G) is the set of incidence vectors of stable sets and

P(G)=conv⁡S(G)⊆RV.P(G)=\operatorname{conv}S(G)\subseteq\mathbb R^V .P(G)=convS(G)⊆RV.

A finite system ∑u∈Vaiuxu≤bi\sum_{u\in V}a_{iu}x_u\le b_i∑u∈V​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J) is a defining linear system of PPP if its solution set is exactly PPP. An inequality ∑uauxu≤b\sum_u a_ux_u\le b∑u​au​xu​≤b is a facet of PPP if every defining linear system of PPP contains, for some t>0t>0t>0, the inequality ∑utauxu≤tb\sum_u ta_ux_u\le tb∑u​tau​xu​≤tb.

An edge eee of GGG is critical if α(G−e)=α(G)+1\alpha(G-e)=\alpha(G)+1α(G−e)=α(G)+1; E∗E^*E∗ denotes the set of critical edges, G∗=(V,E∗)G^*=(V,E^*)G∗=(V,E∗), and GGG is α\alphaα-critical if every edge is critical. For graphs G1=(V1,E1)G_1=(V_1,E_1)G1​=(V1​,E1​), G2=(V2,E2)G_2=(V_2,E_2)G2​=(V2​,E2​) put G1∩G2=(V1∩V2,E1∩E2)G_1\cap G_2=(V_1\cap V_2,E_1\cap E_2)G1​∩G2​=(V1​∩V2​,E1​∩E2​) and G1∪G2=(V1∪V2,E1∪E2)G_1\cup G_2=(V_1\cup V_2,E_1\cup E_2)G1​∪G2​=(V1​∪V2​,E1​∪E2​). A vertex set KKK is a cutset of GGG if two vertices outside KKK are joined by no path of G−KG-KG−K, the subgraph induced on V∖KV\setminus KV∖K.

In Lean, all objects live in the namespace ChvatalPolytopes.Separation: stablePolytope G, IsFacet P a b, IsCriticalEdge, criticalGraph G (for G∗G^*G∗), IsAlphaCritical G and IsCutset G K.

Formalization targets

Goal: Corollary 4.3 (p. 144)

For a finite connected α\alphaα-critical graph GGG and any K⊆VK\subseteq VK⊆V inducing a complete subgraph,

K is not a cutset of G.K \text{ is not a cutset of } G .K is not a cutset of G.

The goal is pure graph theory; its proof in the paper consists of the two polyhedral theorems below.

Milestones

  1. Proposition 2.1 (pp. 139–140). For a finite nonempty set SSS of solutions of −xu≤0-x_u\le0−xu​≤0 (u∈V)(u\in V)(u∈V), ∑uaiuxu≤bi\sum_u a_{iu}x_u\le b_i∑u​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J): the solution set equals conv⁡S\operatorname{conv}SconvS if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S}=min⁡{∑iλibi:λ≥0, ∑iλiaiu≥cu (u∈V)}.\max\{cx:x\in S\}=\min\Big\{\sum_i\lambda_ib_i:\lambda\ge0,\ \sum_i\lambda_ia_{iu}\ge c_u\ (u\in V)\Big\}.max{cx:x∈S}=min{i∑​λi​bi​:λ≥0, i∑​λi​aiu​≥cu​ (u∈V)}.
  1. Theorem 4.1 (p. 141). If G1∩G2G_1\cap G_2G1​∩G2​ is complete, the union of defining linear systems of P(G1)P(G_1)P(G1​) and P(G2)P(G_2)P(G2​) (each containing its nonnegativity rows) is a defining linear system of P(G1∪G2)P(G_1\cup G_2)P(G1​∪G2​).
  2. Theorem 4.2 (p. 143). If G∗G^*G∗ is connected, then
∑u∈Vxu≤α(G)\sum_{u\in V}x_u\le\alpha(G)u∈V∑​xu​≤α(G)

is a facet of P(G)P(G)P(G).

Significance

Theorem 4.1 says that clique-sums are harmless for linear descriptions of P(G)P(G)P(G): a description of a graph glued along a clique is the union of descriptions of the pieces. It underlies the later decomposition theory of stable set polytopes (clique cutsets appear throughout the study of perfect and ttt-perfect graphs). Theorem 4.2 supplies a large class of facets with a combinatorial certificate, and was the starting point of the study of rank facets. Corollary 4.3 illustrates how polyhedral statements yield structural graph theory: the facet in Theorem 4.2 cannot coexist with a clique cutset.

All three results are proved in the paper, and Berge's corollary was known before it. None of them has, to the knowledge of this mission, a machine-checked proof; Mathlib has stable sets (IsIndepSet, indepNum), cliques and convex hulls, but no stable set polytope, no notion of facet via defining systems, and no α\alphaα-critical graphs. The mission produces these definitions and the formal proofs of Proposition 2.1, Theorems 4.1, 4.2 and Corollary 4.3.

Difficulty

Proposition 2.1 requires LP duality in the form "min = max with both optima attained" together with a separation argument that reduces arbitrary objectives to integral ones; the "if" direction fails without the nonnegativity rows, so the statement is sensitive to the exact form of the system. In Theorem 4.1 the inclusion P(G1∪G2)⊆P(G_1\cup G_2)\subseteqP(G1​∪G2​)⊆ (solutions of the union) is routine; the difficulty is the converse: a point whose restrictions lie in P(G1)P(G_1)P(G1​) and in P(G2)P(G_2)P(G2​) is a convex combination of stable sets on each side, and the two combinations have to be matched on the clique V1∩V2V_1\cap V_2V1​∩V2​ to produce stable sets of G1∪G2G_1\cup G_2G1​∪G2​. Theorem 4.2 concerns every defining linear system, so it cannot be proved by exhibiting one description; the natural route via "affinely independent tight points" is a different definition of facet and needs full-dimensionality of P(G)P(G)P(G) to be equivalent. Finally, the goal requires translating a cutset into a decomposition G=G1∪G2G=G_1\cup G_2G=G1​∪G2​ with complete intersection, and then showing that a union of two systems on smaller vertex sets cannot contain a positive multiple of ∑u∈Vxu≤α(G)\sum_{u\in V}x_u\le\alpha(G)∑u∈V​xu​≤α(G).

Formalization scope

  • Graphs are SimpleGraph V on a Fintype V with DecidableEq V. S(G)S(G)S(G) is a set of functions V → ℝ (incidence vectors of stable finsets), and P(G)P(G)P(G) is convexHull ℝ (stableVectors G).
  • Linear systems are indexed by finite types with real coefficients. "Defining linear system" is equality of the solution set with the polytope. IsFacet quantifies over all finite index types J : Type and all real systems whose solution set equals the polytope; it is the paper's definition, not the affinely-independent-points characterization.
  • Proposition 2.1: "min = max" means an attained minimum equal to the maximum; the hypothesis S≠∅S\neq\emptysetS=∅ is added (the paper's max⁡\maxmax over SSS needs it), and the nonnegativity rows are kept.
  • Theorem 4.1: the glued graph GGG lives on a type VVV with finsets V1∪V2=VV_1\cup V_2=VV1​∪V2​=V; G1,G2G_1,G_2G1​,G2​ are the induced subgraphs on V1,V2V_1,V_2V1​,V2​; "G1∩G2G_1\cap G_2G1​∩G2​ complete" is encoded as "V1∩V2V_1\cap V_2V1​∩V2​ is a clique of GGG and no edge joins V1−V2V_1-V_2V1​−V2​ to V2−V1V_2-V_1V2​−V1​", which is equivalent to the paper's hypotheses. The rows of each system are evaluated on the restriction of xxx.
  • Theorem 4.2: "G∗G^*G∗ connected" is Mathlib's Connected, which requires V≠∅V\neq\emptysetV=∅ — for V=∅V=\emptysetV=∅ the statement would be false. α(G)\alpha(G)α(G) is indepNum, cast to R\mathbb RR.
  • Corollary 4.3: "complete subgraph" is any clique set G.IsClique K, not only maximal cliques (the paper reserves "clique" for maximal complete subgraphs, but the corollary speaks of complete subgraphs), including K=∅K=\emptysetK=∅. "Cutset" means two vertices outside KKK joined by no path of G−KG-KG−K. The formalization "G−KG-KG−K is not connected" is ruled out: under Mathlib's convention it would make K=VK=VK=V a cutset and the statement false for K1K_1K1​ and K2K_2K2​.
  • Reusable infrastructure: the stable set polytope, facets via defining systems, Proposition 2.1 (shared with the other missions of this series), critical edges and α\alphaα-critical graphs. Contributions of intermediate lemmas (LP duality in the attained form, full-dimensionality of P(G)P(G)P(G), the cutset–decomposition equivalence) are welcome.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, J. Combin. Theory Ser. B 18 (1975) 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • C. Berge, Graphes et hypergraphes, Dunod, Paris, 1970 (English translation: Graphs and Hypergraphs, North-Holland, 1973), Chapter 13, §3.
  • J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, J. Res. Nat. Bur. Standards 69B (1965) 125–130. https://doi.org/10.6028/jres.069B.013
  • M. W. Padberg, On the facial structure of set packing polyhedra, Math. Programming 5 (1973) 199–215. https://doi.org/10.1007/BF01580121
  • L. Lovász, Normal hypergraphs and the perfect graph conjecture, Discrete Math. 2 (1972) 253–267. https://doi.org/10.1016/0012-365X(72)90006-4
8 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

On Certain Polytopes Associated with Graphs I: Clique Inequalities Define the Stable Set Polytope Exactly for Perfect GraphsResearch Paper

Motivation

Many combinatorial optimization problems ask for the best subset of a finite set subject to combinatorial side conditions. The polyhedral method replaces the finite family of feasible subsets by the convex hull of their incidence vectors and asks for an explicit system of linear inequalities describing that convex hull; once such a system is known, linear programming duality gives min–max theorems and certificates of optimality. The maximum weight stable set problem is the central test case: it is NP-hard in general, so no tractable complete description of its polytope is expected for all graphs, and the question becomes for which graphs a simple description suffices.

V. Chvátal's 1975 paper On certain polytopes associated with graphs answers this question for the two simplest families of valid inequalities, and its Section 3 connects the answer to Berge's perfect graphs. The result is a standard entry point to polyhedral combinatorics and is one of the ingredients behind the later polynomial-time algorithms for stable sets in perfect graphs by Grötschel, Lovász and Schrijver.

Timeline. Berge (1961) introduced perfect graphs and conjectured that a graph is perfect if and only if its complement is. Lovász (Normal hypergraphs and the perfect graph conjecture, Discrete Math. 1972; A characterization of perfect graphs, J. Combin. Theory Ser. B 1972) proved this, together with the characterization of perfection by α(GA) ω(GA)≥∣A∣\alpha(G_A)\,\omega(G_A)\ge|A|α(GA​)ω(GA​)≥∣A∣ and the invariance of perfection under vertex duplication. Fulkerson's theory of antiblocking polyhedra (1971–72) gave a polyhedral route to the same equivalence. Chvátal (received 1972, published 1975) gave the self-contained polyhedral statement formalized here, with a proof based on Lovász's two theorems.

Setting

A graph G=(V,E)G=(V,E)G=(V,E) is finite, undirected and loopless. A stable set is a set of vertices no two of which are adjacent. A clique is a maximal complete subgraph, and C(G)C(G)C(G) is the set of vertex sets W⊆VW\subseteq VW⊆V of the cliques of GGG.

S(G)⊆RVS(G)\subseteq\mathbb R^VS(G)⊆RV is the set of zero–one vectors x=(xu:u∈V)x=(x_u:u\in V)x=(xu​:u∈V) such that {u:xu=1}\{u:x_u=1\}{u:xu​=1} is stable, and the stable set polytope is P(G)=conv⁡S(G)P(G)=\operatorname{conv}S(G)P(G)=convS(G). A finite system of linear inequalities is a defining linear system of P(G)P(G)P(G) if its solution set is exactly P(G)P(G)P(G). For c∈RVc\in\mathbb R^Vc∈RV write cx=∑u∈Vcuxucx=\sum_{u\in V}c_ux_ucx=∑u∈V​cu​xu​.

GGG is perfect (the paper's α\alphaα-perfect) if for every zero–one vector ccc,

max⁡{cx:x∈S(G)}=min⁡{∑W∈C(G)λW: λW∈{0,1}, ∑W∈C(G), u∈WλW≥cu (u∈V)}.\max\{cx:x\in S(G)\}=\min\Big\{\sum_{W\in C(G)}\lambda_W:\ \lambda_W\in\{0,1\},\ \sum_{W\in C(G),\,u\in W}\lambda_W\ge c_u\ (u\in V)\Big\}.max{cx:x∈S(G)}=min{W∈C(G)∑​λW​: λW​∈{0,1}, W∈C(G),u∈W∑​λW​≥cu​ (u∈V)}.

For A⊆VA\subseteq VA⊆V, GAG_AGA​ is the induced subgraph, α(GA)\alpha(G_A)α(GA​) its stability number and ω(GA)\omega(G_A)ω(GA​) its clique number. To duplicate a vertex uuu is to add a new vertex u′u'u′ adjacent to all neighbours of uuu but not to uuu.

In the Lean development these are stableVectors G, stablePolytope G, maximalCliques G, IsPerfect G and duplicate G u in the namespace ChvatalPolytopes.Perfect.

Formalization targets

Goal: Theorem 3.1 (p. 140)

For every graph GGG, the system

−xu≤0(u∈V),∑u∈Wxu≤1(W∈C(G))-x_u\le0\quad(u\in V),\qquad\sum_{u\in W}x_u\le1\quad(W\in C(G))−xu​≤0(u∈V),u∈W∑​xu​≤1(W∈C(G))

is a defining linear system of P(G)P(G)P(G) if and only if GGG is perfect. Both directions are required.

Milestones

  1. Proposition 2.1 (pp. 139–140). For a finite nonempty set SSS of solutions of −xu≤0-x_u\le0−xu​≤0, ∑uaiuxu≤bi\sum_u a_{iu}x_u\le b_i∑u​aiu​xu​≤bi​ (i∈J)(i\in J)(i∈J), the solution set equals conv⁡S\operatorname{conv}SconvS if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S}=min⁡{∑iλibi:λ≥0, ∑iλiaiu≥cu (u∈V)}.\max\{cx:x\in S\}=\min\Big\{\sum_i\lambda_ib_i:\lambda\ge0,\ \sum_i\lambda_ia_{iu}\ge c_u\ (u\in V)\Big\}.max{cx:x∈S}=min{i∑​λi​bi​:λ≥0, i∑​λi​aiu​≥cu​ (u∈V)}.
  1. Lovász's first theorem (§3, p. 140). Every nonperfect GGG has A⊆VA\subseteq VA⊆V with α(GA) ω(GA)<∣A∣\alpha(G_A)\,\omega(G_A)<|A|α(GA​)ω(GA​)<∣A∣.
  2. Lovász's second theorem (§3, p. 140). Duplicating a vertex of a perfect graph gives a perfect graph.
  3. Condition (iii) (p. 141). GGG is perfect if and only if for every c∈ZVc\in\mathbb Z^Vc∈ZV
max⁡{cx:x∈S(G)}=min⁡{∑W∈C(G)λW:λW≥0, ∑W∋uλW≥cu (u∈V)}.\max\{cx:x\in S(G)\}=\min\Big\{\sum_{W\in C(G)}\lambda_W:\lambda_W\ge0,\ \sum_{W\ni u}\lambda_W\ge c_u\ (u\in V)\Big\}.max{cx:x∈S(G)}=min{W∈C(G)∑​λW​:λW​≥0, W∋u∑​λW​≥cu​ (u∈V)}.

Significance

The result. The nonnegativity and clique inequalities are valid for P(G)P(G)P(G) for every graph. Theorem 3.1 says they are complete exactly for perfect graphs, so on perfect graphs the maximum weight stable set problem is a linear program over an explicitly described polytope, and weighted min–max theorems (stable sets versus clique covers) follow from LP duality. Combined with the perfect graph theorem, it gives a polyhedral characterization of perfect graphs, and it is the model for later results that identify graph classes by the facets of their stable set polytopes (odd-cycle inequalities, ttt-perfection, Section 7 of the same paper).

Formalizing it. The result is classical and proved. No machine-checked version of it is known, and Mathlib has neither perfect graphs nor stable set polytopes. The mission produces a formal statement of the polyhedral characterization with the paper's own notion of perfection, a formal version of the convex-hull/LP min–max principle (Proposition 2.1), which is reusable for any 0–1 polytope, and formal statements of the two theorems of Lovász that the proof relies on.

Difficulty

Proposition 2.1 reduces Theorem 3.1 to the equivalence of perfection with a fractional min–max for all integer weights. The obvious approach to that equivalence fails in both directions. From perfection one only gets the min–max for zero–one weights and zero–one multipliers; general integer weights do not reduce to zero–one weights by linearity, because the minimum over clique covers is not additive in ccc. Conversely, a fractional clique cover of value α\alphaα does not directly produce an integral one. The paper crosses this gap with two theorems of Lovász: a numerical certificate of nonperfection, and the invariance of perfection under vertex duplication. Both are substantial graph-theoretic results in their own right, and neither follows from the definitions by routine manipulation.

Proposition 2.1 itself needs separation of a point from a polytope by an integral objective and LP strong duality with the nonnegativity rows handled separately.

Formalization scope

Vertices form a finite type V with decidable equality; a graph is a SimpleGraph V. S(G)S(G)S(G) is a set of functions V → ℝ, and P(G)P(G)P(G) is Mathlib's convexHull ℝ of it. C(G)C(G)C(G) is the finset of finsets that are maximal among cliques (Maximal), as on the page; with V=∅V=\emptysetV=∅ the only maximal clique is ∅\emptyset∅. "Defining linear system" is an equality of sets. Every "max = min" is written out in full: there is a value mmm that is the maximum over SSS (attained and an upper bound), some feasible multiplier vector attains mmm, and every feasible multiplier vector has objective at least mmm. Clique multipliers are functions Finset V → ℝ read only on C(G)C(G)C(G).

Explicit conventions and added hypotheses:

  • In Proposition 2.1 the index set JJJ is a finite type, coefficients are real, the nonnegativity rows are kept as a separate conjunct x≥0x\ge0x≥0, and SSS is assumed nonempty (the paper's max⁡\maxmax over SSS needs it).
  • α\alphaα and ω\omegaω are Mathlib's indepNum and cliqueNum (natural numbers) of G.induce A.
  • The duplicated graph lives on Option V, with none the new vertex.

Perfection is the paper's zero–one min–max, not "the clique system defines P(G)P(G)P(G)" (which would make the goal a tautology) and not Berge's χ(GA)=ω(GA)\chi(G_A)=\omega(G_A)χ(GA​)=ω(GA​) (a different definition, equivalent only through the perfect graph theorem). P(G)P(G)P(G) is the convex hull of S(G)S(G)S(G), never the solution set of an inequality system.

Needed infrastructure, all reusable: integral separation from a rational polytope and LP strong duality in the form max⁡{cx:Ax≤b,x≥0}=min⁡{λb:λA≥c,λ≥0}\max\{cx:Ax\le b,x\ge0\}=\min\{\lambda b:\lambda A\ge c,\lambda\ge0\}max{cx:Ax≤b,x≥0}=min{λb:λA≥c,λ≥0}; basic facts about stable sets and maximal cliques of induced subgraphs and of duplicated graphs; invariance of IsPerfect under graph isomorphism and under taking induced subgraphs. Proofs of the Lovász milestones, which have independent value for a Mathlib theory of perfect graphs, are welcome.

Selected references

  • V. Chvátal, On certain polytopes associated with graphs, J. Combin. Theory Ser. B 18 (1975) 138–154. https://doi.org/10.1016/0095-8956(75)90041-6
  • L. Lovász, Normal hypergraphs and the perfect graph conjecture, Discrete Math. 2 (1972) 253–267. https://doi.org/10.1016/0012-365X(72)90006-4
  • L. Lovász, A characterization of perfect graphs, J. Combin. Theory Ser. B 13 (1972) 95–98. https://doi.org/10.1016/0095-8956(72)90045-7
  • D. R. Fulkerson, Anti-blocking polyhedra, J. Combin. Theory Ser. B 12 (1972) 50–71. https://doi.org/10.1016/0095-8956(72)90032-9
  • M. Grötschel, L. Lovász, A. Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer, 1988. https://doi.org/10.1007/978-3-642-97881-4
8 thms2 active usersReviewed
🏆Completed
CombinatoricsProbability·Captain: burkh4rt

The Bunkbed Conjecture is FalseResearch Paper

Motivation

Let G=(V,E)G=(V,E)G=(V,E) be a finite connected graph. In Bernoulli bond percolation each edge is independently retained with probability PPP and deleted otherwise, and one writes PP[u↔v]\mathbb{P}_P[u \leftrightarrow v]PP​[u↔v] for the probability that vertices uuu and vvv lie in the same component of the resulting random subgraph. Comparing such connection probabilities is a basic and genuinely hard problem: computing them exactly is #P\#\mathsf{P}#P-hard.

The bunkbed graph is built from two copies of GGG, joined by vertical edges called posts above a chosen set T⊆VT \subseteq VT⊆V of transversal vertices. Percolation is performed on the two copies while every post is retained. Writing vvv for a vertex in the lower copy and v′v'v′ for its counterpart upstairs, Kasteleyn conjectured in 1985 that being connected within a level is always at least as likely as crossing between levels.

The conjecture is intuitively compelling — crossing levels appears to require "using up" a post — and it resisted proof for forty years. A short timeline:

  • 1985 — Kasteleyn formulates the conjecture; it is recorded as Remark 5 of van den Berg–Kahn (2001), which is how the source cites it.
  • Positive results accumulate for special cases: wheels, complete graphs, complete bipartite graphs, graphs symmetric with respect to an automorphism exchanging uuu and vvv, one or two transversal vertices, and in the P↑1P \uparrow 1P↑1 limit.
  • 2024 — Hollom refutes the 333-uniform hypergraph analogue. This alone does not settle the graph case: it is impossible to simulate a single 333-hyperedge by bond percolation on a gadget graph.
  • 2025 — Gladkov, Pak and Zimin disprove the conjecture outright, with an explicit counterexample and without computer assistance.

Section 7 of the source is a candid account of a large-scale machine-learning-guided search that failed to find a counterexample, and of why the problem is unusually ill-suited to experimental testing.

Setting

Fix a finite graph with vertex set VVV and edge set EEE, and a retention function w:E→[0,1]w : E \to [0,1]w:E→[0,1] (the uniform case is w≡Pw \equiv Pw≡P). A configuration is a subset S⊆ES \subseteq ES⊆E of open edges, occurring with probability

P(S)  =  ∏e∈Sw(e)∏e∈E∖S(1−w(e)),\mathbb{P}(S) \;=\; \prod_{e \in S} w(e) \prod_{e \in E \setminus S} \bigl(1 - w(e)\bigr),P(S)=e∈S∏​w(e)e∈E∖S∏​(1−w(e)),

and P[u↔v]\mathbb{P}[u \leftrightarrow v]P[u↔v] is the total probability of those SSS for which uuu and vvv are connected in (V,S)(V, S)(V,S).

Given T⊆VT \subseteq VT⊆V, the bunkbed graph has vertex set V×{0,1}V \times \{0,1\}V×{0,1}. Its edges are a copy of EEE in each level together with a post {(t,0),(t,1)}\{(t,0),(t,1)\}{(t,0),(t,1)} for every t∈Tt \in Tt∈T. In bunkbed percolation the two level-copies are percolated independently while all posts are retained; Pbb\mathbb{P}^{\mathrm{bb}}Pbb denotes the resulting connection probabilities.

Formalization targets

Goal — the bunkbed conjecture is false

¬  (∀ G connected, ∀ T⊆V, ∀ 0<P<1, ∀ u,v∈V:PPbb[u↔v]  ≥  PPbb[u↔v′])\neg\;\Bigl(\forall\,G \text{ connected},\ \forall\,T \subseteq V,\ \forall\,0<P<1,\ \forall\,u,v \in V:\quad \mathbb{P}^{\mathrm{bb}}_P[u \leftrightarrow v] \;\ge\; \mathbb{P}^{\mathrm{bb}}_P[u \leftrightarrow v'] \Bigr)¬(∀G connected, ∀T⊆V, ∀0<P<1, ∀u,v∈V:PPbb​[u↔v]≥PPbb​[u↔v′])

Supporting target — the explicit counterexample (Theorem 1.2)

∃ G, ∣V∣=7,222, ∣E∣=14,442, ∣T∣=3, ∃ u,v:P1/2bb[u↔v]  <  P1/2bb[u↔v′]\exists\, G,\ |V| = 7{,}222,\ |E| = 14{,}442,\ |T| = 3,\ \exists\, u,v:\qquad \mathbb{P}^{\mathrm{bb}}_{1/2}[u \leftrightarrow v] \;<\; \mathbb{P}^{\mathrm{bb}}_{1/2}[u \leftrightarrow v']∃G, ∣V∣=7,222, ∣E∣=14,442, ∣T∣=3, ∃u,v:P1/2bb​[u↔v]<P1/2bb​[u↔v′]

Supporting target — hyperedge simulation (Lemma 4.1)

For the gadget GnG_nGn​ on n+1n+1n+1 vertices,

Pabc Pa∣b∣c  −  Pab∣c Pac∣b  >  (n1−P1+P−1)Pa∣bc.P_{abc}\,P_{a|b|c} \;-\; P_{ab|c}\,P_{ac|b} \;>\; \Bigl(n\tfrac{1-P}{1+P} - 1\Bigr) P_{a|bc}.Pabc​Pa∣b∣c​−Pab∣c​Pac∣b​>(n1+P1−P​−1)Pa∣bc​.

Significance

The result itself. A forty-year-old conjecture in percolation theory is false, and prior positive results are thereby sharpened rather than superseded: it becomes interesting to delimit exactly which families of graphs do satisfy the inequality. The refutation also settles the Counting, Weighted, Alternative and Computational variants listed in §8.1, and shows the random-cluster analogue cannot be pushed from q=2q=2q=2 down to q=1q=1q=1.

Formalizing it. Nothing here is open; the mission produces machine-checked versions of published results, and as a by-product the first percolation theory in Lean. Mathlib currently contains no percolation of any kind — no connection probabilities, no bunkbed graph, no hypergraph percolation. That infrastructure is reusable far beyond this mission. The source itself notes (§8.2) that its central combinatorial lemma was independently verified by computer; a formal proof would replace that check with a certificate.

Difficulty

The obvious approach — exhibit a small graph and compute both probabilities — is hopeless, and the source explains why at length. A graph with mmm edges has 2m2^m2m configurations; for the counterexample here the probability gap is on the order of 10−433110^{-4331}10−4331, so no sampling argument can detect it, and exact enumeration is out of reach. Section 7 records a substantial computational search that found nothing and, in hindsight, could not have.

The proof is instead structural, and its difficulty is concentrated in one place. Hollom's refutation of the hypergraph version cannot be transferred directly, because a single 333-hyperedge cannot be simulated by bond percolation on any gadget graph. The source's answer is to prove a robust version of Hollom's lemma (Lemma 3.3) which survives the inexact simulation that gadget graphs do provide, and this robustness is what Lemma 4.1's inequality quantifies. Lemma 3.3 is proved by constructing a weight-preserving involution on a refined configuration space — the technical heart, and the milestone a solver should expect to spend the most effort on.

Formalization scope

The development commits to the following conventions.

  • Everything is finite and rational-valued, hence computable: connection probabilities are ℚ and evaluate by #eval, and small instances close by decide.
  • A graph is given by an explicit edge Finset and realised through SimpleGraph.fromEdgeSet; connectivity is Mathlib's SimpleGraph.Reachable.
  • Percolation is a sum over the powerset of the edge set, weighted as displayed above, of a reachability indicator. Edge weights are per-edge (Sym2 V → ℚ), since the gadget GnG_nGn​ genuinely needs two different weights: its spokes are retained with probability 1−P1-P1−P and its path edges with probability PPP.
  • In the bunkbed, level 0 is the lower copy; posts over T are unconditionally present and are not percolated. The two levels are percolated independently.
  • ⚠️ Planarity is omitted from the goal. Theorem 1.2 asserts the counterexample is planar, and Mathlib has no notion of a planar graph — no IsPlanar, no Euler formula, no Kuratowski. Building one is a larger project than this mission. The formalized statement of Theorem 1.2 is therefore strictly weaker than the published one, and the goal is instead the negation of the conjecture, which is exactly the source's own "In particular, the BBC is false." Contributions adding planarity are welcome and would strengthen the milestone.
  • Ruling out a trivializing reading: the conjecture must be negated as stated, over all connected graphs, transversal sets and 0<P<10<P<10<P<1. Weakening it to a fixed graph, or to P∈{0,1}P \in \{0,1\}P∈{0,1}, or dropping connectivity, would make the refutation vacuous.

Infrastructure. Mathlib supplies SimpleGraph, boxProd, Reachable with a DecidableRel instance, fromEdgeSet, edgeFinset and Finset.powerset. It supplies no percolation, so this mission ships two definition files: Bernoulli bond percolation with the bunkbed construction and the five triple-partition probabilities, and hypergraph percolation with Hollom's hypergraph and the Wierman–Ziff five-state model. One known gap: Mathlib's Reachable decision procedure enumerates walks and is far too slow to evaluate the 646464-configuration check of Lemma 3.1 by decide. A solver will want a linear-time reachability procedure together with a proof that it agrees with Reachable; that is itself a worthwhile reusable contribution.

Selected references

  • J. van den Berg and J. Kahn, A correlation inequality for connection events in percolation, Ann. Probab. 29 (2001), 123–126 — Kasteleyn's conjecture appears as Remark 5.
  • T. Hollom, A new proof of the bunkbed conjecture in the p↑1p \uparrow 1p↑1 limit, Discrete Math. 347 (2024), 113711.
  • T. Hollom, The bunkbed conjecture is not robust to generalisation, arXiv:2406.01790 (2024).
  • T. Hutchcroft, P. Nizić-Nikolac, A. Kent, The bunkbed conjecture holds in the p↑1p \uparrow 1p↑1 limit, Comb. Probab. Comput. 32 (2023), 363–369.
  • N. Gladkov, I. Pak, A. Zimin, The bunkbed conjecture is false, Proc. Natl. Acad. Sci. USA 122 (2025), no. 24, e2420725122. doi:10.1073/pnas.2420725122; preprint arXiv:2410.02545.
  • J. C. Wierman and R. M. Ziff, Self-dual planar hypergraphs and exact bond percolation thresholds, Electron. J. Combin. 18 (2011).
  • G. R. Grimmett, Percolation, 2nd ed., Springer, 1999.
38 thms2 active usersReviewed
🏆Completed
Combinatorics·Captain: xbgxjack

Gross–Yellen Graph Theory I: Cayley's Tree FormulaTextbook

Motivation

Counting the trees on a fixed, labeled vertex set is one of the oldest enumeration problems in graph theory. Cayley stated the count in 1889 while enumerating isomers of saturated hydrocarbons — each tree corresponds to a possible carbon skeleton — and the same number reappears throughout combinatorics as the number of spanning trees of the complete graph KnK_nKn​, a special case of Kirchhoff's Matrix–Tree Theorem, and as the base case against which more refined tree-counting results (trees with a prescribed degree sequence, forests, spanning trees of general graphs) are measured.

Several independent proofs of the count are known — a direct recursive argument, a determinant computation via the Matrix–Tree Theorem, a double-counting argument on increasing trees — and each exposes a different piece of structure. This mission formalizes the proof via Prüfer sequences, due to Prüfer (1918): an explicit, computable bijection between labeled trees and certain finite sequences, presented here following Gross and Yellen, Graph Theory and Its Applications, 3rd ed. (CRC Press, 2018), Section 3.7, pp. 157–162.

Setting

Fix n≥2n \geq 2n≥2 and take the vertex set to be {1,…,n}\{1, \dots, n\}{1,…,n} (formalized as Fin n). A labeled tree on nnn vertices is a simple graph TTT on this vertex set that is connected and acyclic (Mathlib's SimpleGraph.IsTree). Two labeled trees are the same exactly when their edge sets coincide — the two 4-vertex trees in Figure 3.7.1 of the source are both paths but are different labeled trees, since the labels sit on different vertices.

A Prüfer sequence of length n−2n - 2n−2 is any sequence (s1,…,sn−2)(s_1, \dots, s_{n-2})(s1​,…,sn−2​) of labels drawn from {1,…,n}\{1, \dots, n\}{1,…,n}, repetitions allowed (so there are nn−2n^{n-2}nn−2 of them, by the rule of product).

The encoding of a tree TTT (Algorithm 3.7.1, p. 157) builds its Prüfer sequence by repeating, n−2n-2n−2 times: find the leaf (degree-one vertex) with the smallest label among those not yet removed, record the label of its neighbor, then delete that leaf. The decoding of a sequence (Algorithm 3.7.3, p. 159) reverses this: it rebuilds the tree edge by edge, at each step joining the smallest label not yet used and not appearing later in the sequence to the next label in the sequence, finishing by joining the two labels left over.

Formalization targets

Goal — Cayley's Tree Formula (Theorem 3.7.5, p. 162)

Nat.card⁡ {T:SimpleGraph(Fin n)∣T.IsTree}=n n−2,n≥2.\operatorname{Nat.card}\, \{T : \text{SimpleGraph}(\text{Fin } n) \mid T.\text{IsTree}\} = n^{\,n-2}, \qquad n \geq 2.Nat.card{T:SimpleGraph(Fin n)∣T.IsTree}=nn−2,n≥2.

This is the weakest stable statement: it is exactly the count Cayley identified, phrased without reference to any particular proof method, so it is not tied to properties of Prüfer sequences beyond what is needed to establish the count.

Significance

The identity itself is foundational: it is the base case of Kirchhoff's Matrix–Tree Theorem (which computes the analogous count for spanning trees of an arbitrary graph as a cofactor of its Laplacian) and it appears as an ingredient in random graph theory (counting spanning trees of KnK_nKn​ bounds the number of ways a random graph process can build a tree) and in the analysis of algorithms on trees, where the Prüfer encoding itself is used as a compact serialization of a labeled tree.

The result has been proved by hand for over a century, and its most classical proof (the one formalized here) has not, to this project's knowledge, appeared as a machine-checked Lean proof; Mathlib's Combinatorics.SimpleGraph library has the tree and acyclicity infrastructure this mission builds on, but not the Prüfer bijection or the count itself. Formalizing it here means constructing the encoding and decoding maps explicitly as computable, total recursive functions, and proving they are mutually inverse — the mission's four milestones below are exactly the four supporting results the source uses for this.

Difficulty

The obvious first attempt is to define the encoding by structural recursion, peeling one leaf per step, but this immediately runs into a dependent-typing obstacle: after deleting a vertex, the "remaining graph" naturally lives on a smaller vertex type, so a naive recursive definition changes type at every step and the final sequence's type (length n−2n-2n−2) is not visible to the recursion by construction. The formalization here sidesteps this by keeping the ambient vertex type fixed at Fin n throughout and tracking the shrinking set of "active" vertices as an ordinary Finset (Fin n) parameter, so the recursion is on a natural number step-counter rather than on the type itself; the price is that every step's "leaf" and "neighbor" must be picked out by an explicit Finset.filter/Finset.min computation whose well-definedness (there is always a smallest active leaf, and it always has a unique active neighbor) is exactly the content of Propositions 3.7.1 and 3.7.3 below, rather than something the type system gives for free. The inverse direction has the dual issue in reverse: decoding recurses structurally on the sequence while tracking a shrinking label set, and showing the two recursions undo each other (Proposition 3.7.4) requires the same induction run in both directions simultaneously.

Formalization scope

Trees are SimpleGraph (Fin n) satisfying Mathlib's SimpleGraph.IsTree; no alternate, weaker notion of "tree" is used. Prüfer sequences are functions Fin (n - 2) → Fin n (equivalently, by Fintype.card_fun, exactly the nn−2n^{n-2}nn−2 count needed) rather than List or Vector, so that the final counting step is immediate once the bijection is established. The encoding and decoding functions (pruferEncode, pruferDecode) are supplied as noncomputable definitions in Definitions.Def_GYGraphTheory — noncomputable only because Prop-level decidability of a general SimpleGraph.Adj is classical, not because the algorithm is non-constructive; every step is the literal Prüfer procedure, junk-valued (defaulting to label 0) outside its intended domain in exactly the way a hand proof would say "this step is meaningless once fewer than two active vertices remain." The four milestones give the precise faithful statements of the source's Propositions 3.7.1, Corollary 3.7.2, Proposition 3.7.3, and Proposition 3.7.4; the goal theorem is the immediate corollary once all four are in hand, via Fintype.card_congr and Fintype.card_fun. A trivializing formalization is not available here: IsTree is Mathlib's standard, non-vacuous notion, and the milestones pin down pruferEncode and pruferDecode to the source's specific algorithm rather than leaving the bijection's existence as a free black box. Beyond the four milestones, a full development needs: basic Finset/List manipulation lemmas relating pruferPeel's step-indexed recursion to pruferDecodeAux's list-indexed recursion (reusable in any future mission touching Prüfer-style encodings); and the final cardinality argument tying the bijection to n ^ (n - 2). Contributions connecting this formula to Mathlib's general Matrix–Tree machinery (if and when it exists) would be a natural, welcome extension but are out of scope for this mission.

Selected references

  • A. Cayley, A theorem on trees, Quart. J. Math. 23 (1889), 376–378.
  • H. Prüfer, Neuer Beweis eines Satzes über Permutationen, Archiv der Mathematischen Physik 27 (1918), 742–744.
  • J.L. Gross and J. Yellen, Graph Theory and Its Applications, 3rd ed., CRC Press, 2018, Section 3.7 "Counting Labeled Trees: Prüfer Encoding", pp. 157–162.
8 thms2 active usersReviewed
Combinatorics·Captain: hao jia

Weak Pentagon Colorings of Triangle-Free Cubic Graphs (OPG-434)Open Problem

Motivation

The weak pentagon problem asks for a five-label structure on the edges of every triangle-free cubic graph. Although its wording resembles proper edge coloring, properness is not part of the conjecture. Instead, each individual color class must meet enough odd cycles that deleting that class leaves a bipartite spanning graph. The problem connects odd-cycle transversals, cut structure, and homomorphisms to a fixed sixteen-vertex graph.

Robert Šámal recorded the conjecture on the Open Problem Garden in 2007. DeVos and Šámal proved that sufficiently high-girth subcubic graphs map to the Clebsch graph, with an explicit girth threshold in their theorem; that does not cover all triangle-free cubic graphs. The mission separates the general existence question from two exact reformulations that can be verified independently.

Setting

Let GGG be a finite simple triangle-free cubic graph. A five-edge coloring here is any symmetric assignment

c:E(G)⟶{1,2,3,4,5}.c:E(G)\longrightarrow\{1,2,3,4,5\}.c:E(G)⟶{1,2,3,4,5}.

It need not be proper or surjective. For a color iii, delete all edges with label iii while retaining every vertex. The coloring is a weak-pentagon coloring when each of the five resulting spanning graphs is bipartite.

Equivalently, each color class is an odd-cycle edge transversal: it meets the edge set of every simple odd cycle. The cycles are not required to be induced. This last distinction matters because an odd cycle may have a chord in the original graph and still survive in a deleted-edge spanning subgraph.

A second representation uses the sixteen four-bit vectors. Two vectors are adjacent when their Hamming distance is three or four. This graph is a model of the Clebsch graph. A graph homomorphism sends every edge of GGG to an adjacent pair in this target.

Formalization targets

Weak pentagon conjecture

The root target is

∀G finite, simple, triangle-free, and cubic,∃c:E(G)→[5] ∀i∈[5],G−c−1(i) is bipartite.\forall G\text{ finite, simple, triangle-free, and cubic}, \qquad \exists c:E(G)\to[5]\ \forall i\in[5], \quad G-c^{-1}(i)\text{ is bipartite}.∀G finite, simple, triangle-free, and cubic,∃c:E(G)→[5] ∀i∈[5],G−c−1(i) is bipartite.

No condition is imposed on adjacent edges receiving different labels.

Odd-cycle equivalence

For every fixed graph and fixed five-edge labeling,

(∀i, G−c−1(i) is bipartite)⟺(∀i, c−1(i) meets every odd cycle of G).\bigl(\forall i,\ G-c^{-1}(i)\text{ is bipartite}\bigr) \quad\Longleftrightarrow\quad \bigl(\forall i,\ c^{-1}(i)\text{ meets every odd cycle of }G\bigr).(∀i, G−c−1(i) is bipartite)⟺(∀i, c−1(i) meets every odd cycle of G).

This theorem is graph-general: triangle-freeness and cubicity delimit the root but are not needed for the equivalence.

Sixteen-vertex homomorphism formulation

For every finite simple graph GGG,

G has a weak-pentagon coloring⟺G⟶H16,G\text{ has a weak-pentagon coloring} \quad\Longleftrightarrow\quad G\longrightarrow H_{16},G has a weak-pentagon coloring⟺G⟶H16​,

where H16H_{16}H16​ has vertex set {0,1}4\{0,1\}^4{0,1}4 and edges at Hamming distance three or four. The statement concerns existence of some coloring and some homomorphism; it does not preserve an arbitrarily prescribed coloring.

Significance

The root theorem would establish a uniform parity decomposition for all triangle-free cubic graphs. The transversal form makes every odd cycle use all five colors. The homomorphism form replaces edge labels and five separate bipartitions by one bounded vertex certificate, allowing structural and computational methods to share an exact target.

Formalization prevents several nearby but inequivalent conjectures from being conflated. A weak-pentagon coloring can be improper. Checking only induced odd cycles of the original graph is insufficient. Mapping to a five-cycle is stronger and fails even for familiar positive examples. The explicit four-bit model also avoids relying on the name “Clebsch graph” without fixing its adjacency convention.

Difficulty

The equivalences reorganize the problem but do not create the required object. Five odd-cycle transversals must be pairwise compatible as color fibers; finding one small transversal is not enough. Local deletion and gluing methods must preserve existence of a whole homomorphism, not one chosen boundary assignment.

High-girth results leave finitely many short-cycle configurations only when the girth hypothesis is present. Triangle-free graphs may still contain overlapping five- and seven-cycles, and naive local recoloring can repair one odd cycle while breaking another color complement. Minimum-counterexample arguments also require care because deleting vertices preserves subcubicity but not cubicity.

Formalization scope

Colors are Fin 5. The coloring stores a symmetric value on ordered endpoint pairs, with nonedge values ignored. Cubic means every neighbor set has extended cardinality exactly three. A simple odd cycle is a cyclic list of at least three distinct vertices of odd length; it need not be induced. Bipartiteness is witnessed by a Boolean side assignment after one color is deleted.

The sixteen-vertex relation is defined directly on four-bit functions by Hamming distance, so its cardinality and adjacency are not hidden behind an imported graph name. The repository's transversal proof, normalization, and local homomorphism studies are candidate_only; the mission publishes their clean statements as proof obligations. Contributions may close either equivalence, formalize known high-girth results, prove restricted graph classes, or attack the root. A finite benchmark or a failure of one extension strategy is not a counterexample to the conjecture.

Selected references

  • R. Šámal, Weak pentagon problem, Open Problem Garden, 2007. https://www.openproblemgarden.org/op/weak_pentagon_problem
  • M. DeVos and R. Šámal, High-girth cubic graphs are homomorphic to the Clebsch graph, Journal of Graph Theory 66 (2011), 241–259. https://arxiv.org/abs/math/0602580
  • P. Kolman, B. Lidický, and J.-S. Sereni, On Minimum Fair Odd Cycle Transversal, 2010. https://kam.mff.cuni.cz/kamserie/clanky/2010/s956.pdf
  • Open Problem Garden / UnsolvedMath, OPG-434. https://www.unsolvedmath.com/problems/OPG-434
4 thms2 active usersReviewed
Combinatorics·Captain: hao jia

Two Acyclic Colors for Planar Orientations (OPG-169)Open Problem

Motivation

The dichromatic number of a digraph is the directed analogue of chromatic number: vertices of one color may be adjacent, but each color class must induce an acyclic digraph. The Two Color Conjecture asks whether every orientation of a planar graph has dichromatic number at most two. It is a natural directed-coloring counterpart to planar graph coloring, with the key difference that forbidden monochromatic objects are directed cycles rather than undirected edges.

Critical-digraph theory gives general degree restrictions on minimal counterexamples, and Li and Mohar proved two-colorability under the additional hypothesis that the directed girth is at least four. The unrestricted planar-orientation problem permits directed triangles, so that theorem is a genuine partial result rather than a solution. The project candidate develops the elementary least-order-counterexample consequences needed before any planar structural argument.

Setting

Let GGG be a finite simple planar graph. An orientation DDD assigns exactly one direction to every edge of GGG, with no loops, parallel arcs, or pair of opposite arcs. For X⊆V(D)X\subseteq V(D)X⊆V(D), the induced digraph D[X]D[X]D[X] retains every arc whose two endpoints lie in XXX.

A two-coloring is a map

c:V(D)⟶{0,1}.c:V(D)\longrightarrow\{0,1\}.c:V(D)⟶{0,1}.

It is valid when both induced digraphs D[c−1(0)]D[c^{-1}(0)]D[c−1(0)] and D[c−1(1)]D[c^{-1}(1)]D[c−1(1)] contain no directed cycle. The color classes need not be independent and either color may be unused.

Planarity belongs to the underlying undirected graph. Lean represents it by an injective straight-line embedding with noncrossing nonincident edges. Directed reachability is reflexive, so a singleton orientation is strongly connected under the usual length-zero convention, although it is also acyclic and hence cannot be a counterexample.

Formalization targets

Two Color Conjecture

The goal is

∀D an orientation of a finite simple planar graph,∃c:V(D)→{0,1},D[c−1(0)] and D[c−1(1)] are acyclic.\forall D\text{ an orientation of a finite simple planar graph}, \qquad \exists c:V(D)\to\{0,1\}, \quad D[c^{-1}(0)]\text{ and }D[c^{-1}(1)]\text{ are acyclic}.∀D an orientation of a finite simple planar graph,∃c:V(D)→{0,1},D[c−1(0)] and D[c−1(1)] are acyclic.

Disconnected graphs and empty color classes are included.

Least-order counterexample structure

A supporting theorem states that every counterexample of minimum vertex order is nonempty and strongly connected, and its underlying graph has minimum degree at least three:

D least-order counterexample⟹D strongly connected and δ(U(D))≥3.D\text{ least-order counterexample} \quad\Longrightarrow\quad D\text{ strongly connected and }\delta(U(D))\ge3.D least-order counterexample⟹D strongly connected and δ(U(D))≥3.

The minimum is taken over the full class of finite planar orientations, not over one embedding or an arc-minimal subclass.

Semidegree candidate

A stronger open milestone asks whether every vertex of such a least-order counterexample has at least two incoming and at least two outgoing neighbors. This is recorded separately because it is stronger than the degree-three conclusion and its repository proof remains candidate_only.

Significance

The root theorem would establish a universal two-color bound for planar orientations while allowing directed triangles and arbitrary local degree. A counterexample would demonstrate a sharp obstruction specific to directed cycles, not visible to ordinary planar coloring.

The formalized minimal-counterexample package is reusable regardless of the ultimate answer. Strong connectivity permits arguments inside one component, while the degree and semidegree restrictions narrow discharging configurations and finite searches. Encoding the full induced color classes prevents an invalid shortcut in which only a selected acyclic spanning subdigraph is checked.

Difficulty

Deleting a low-degree vertex is safe only if a valid coloring of the smaller graph can be extended without creating a monochromatic directed cycle through the restored vertex. For a chosen color, obstruction depends on both an incoming and an outgoing neighbor of that color together with a directed return path in the old color class. Merely seeing same-colored in- and out-neighbors is not sufficient.

Strongly connected components can be colored separately because their condensation is acyclic, but that observation only reduces a minimal counterexample to one component. Planarity alone does not eliminate directed triangles or the return paths that block both colors. Results assuming directed girth at least four therefore leave the central case untouched.

Formalization scope

A directed graph is a binary relation, coupled to a SimpleGraph by an orientation predicate that requires exactly one direction on every edge and forbids arcs on nonedges. A directed cycle is a cyclic list of at least three distinct vertices. A color class is acyclic when no such list lies entirely in that class. Strong connectivity is nonempty mutual reflexive-transitive reachability.

The least-order predicate quantifies over every smaller finite planar orientation in the same universe. It does not assert that a counterexample exists. Consequently, its structural theorems may be true vacuously if the root conjecture is true; the read-back must expose that conditional form.

Repository arguments, finite tables, and transport receipts are not machine-checked proofs. Contributions may formalize component gluing, exact vertex-extension criteria, degree or semidegree restrictions, planar reducible configurations, or the root. Any stronger minimum-degree claim must remain distinct from the admitted degree-three target until proved.

Selected references

  • Open Problem Garden / UnsolvedMath, OPG-169: The Two Color Conjecture. https://www.unsolvedmath.com/problems/OPG-169
  • B. Mohar, Eigenvalues and colorings of digraphs, Linear Algebra and its Applications, 2010. https://www.sfu.ca/~mohar/Reprints/Inprint/BM09_LAA09_Mohar_EigenvaluesandColorings.pdf
  • Z. Li and B. Mohar, Planar digraphs of digirth four are 2-colourable, Journal of Combinatorial Theory, Series B, 2017. https://arxiv.org/abs/1606.06114
4 thms2 active usersReviewed
Combinatorics·Captain: hao jia

Circular (20,7)-Coloring of Triangle-Free Subcubic Planar Graphs (OPG-401)Open Problem

Motivation

Circular coloring refines ordinary vertex coloring by placing colors on a cycle and measuring separation modulo the palette size. It records information that an ordinary chromatic-number bound can lose, and it interacts sharply with planarity, forbidden short cycles, and degree constraints. OPG-401 asks for a specific bound at the intersection of those themes: whether triangle-free planar graphs of maximum degree three always admit a circular coloring of ratio 20/720/720/7.

The question appears on Xuding Zhu's open-problem page and in the Open Problem Garden record. Nearby theorems on fractional coloring do not settle it: fractional chromatic number and circular chromatic number are distinct parameters, so the known fractional bounds for subcubic triangle-free graphs cannot simply be substituted for a circular-coloring proof. Work on circular recoloring likewise studies connectivity between colorings that already exist and does not supply the missing universal existence theorem.

Setting

For integers p≥2q>0p\ge 2q>0p≥2q>0, a (p,q)(p,q)(p,q)-coloring of a finite simple graph GGG is a map

φ:V(G)⟶Zp\varphi:V(G)\longrightarrow \mathbb Z_pφ:V(G)⟶Zp​

such that the shortest cyclic distance between φ(u)\varphi(u)φ(u) and φ(v)\varphi(v)φ(v) is at least qqq for every edge uvuvuv. Equivalently, using representatives in {0,…,p−1}\{0,\ldots,p-1\}{0,…,p−1}, the modular difference lies between qqq and p−qp-qp−q, inclusive. The circular chromatic number is the infimum of the ratios p/qp/qp/q for which such a coloring exists.

The root domain consists of all finite simple graphs that are planar, triangle-free, and subcubic. Disconnected and empty graphs are included. Planarity is represented by an injective straight-line drawing with no vertex in the interior of an edge and no intersection between nonincident edges. For finite simple graphs this is the standard straight-line form of planarity.

Formalization targets

Root question

The central target is

G finite, simple, planar, triangle-free, and Δ(G)≤3⟹G has a (20,7)-coloring.G\text{ finite, simple, planar, triangle-free, and }\Delta(G)\le 3 \quad\Longrightarrow\quad G\text{ has a }(20,7)\text{-coloring}.G finite, simple, planar, triangle-free, and Δ(G)≤3⟹G has a (20,7)-coloring.

This is exactly the claim χc(G)≤20/7\chi_c(G)\le 20/7χc​(G)≤20/7 in a form suitable for finite Lean data.

Local extension table

A reusable finite milestone freezes the local palette arithmetic. For a∈Z20a\in\mathbb Z_{20}a∈Z20​, let A(a)A(a)A(a) be the colors at cyclic distance at least seven from aaa. For all a,ba,ba,b,

∣A(a)∩A(b)∣=7−d20(a,b),A(a)∩A(b)≠∅  ⟺  d20(a,b)≤6.|A(a)\cap A(b)|=7-d_{20}(a,b), \qquad A(a)\cap A(b)\ne\varnothing\iff d_{20}(a,b)\le6.∣A(a)∩A(b)∣=7−d20​(a,b),A(a)∩A(b)=∅⟺d20​(a,b)≤6.

This includes equal colors, antipodal colors, tied symmetries, and all twenty residues. It is the exact obstruction encountered when extending a coloring over a deleted degree-two vertex while preserving every old color. The repository artifact supporting this formulation is only candidate_only; the mission publishes the statement as an open formal target rather than claiming it as proved.

Significance

A proof of the root theorem would give the requested sharp circular-coloring guarantee uniformly over a broad planar graph class. It would also separate the circular problem from nearby fractional results by constructing the stronger cyclic palette assignment itself. A counterexample, if one exists, would have to survive the combined restrictions of planarity, triangle-freeness, and maximum degree three, and would identify a genuine boundary for local extension methods.

Formalization adds two concrete assets. First, the cyclic-distance convention is fixed once, avoiding common errors involving directed residues, unrestricted integer lifts, or truncated subtraction. Second, graph reductions can be checked against a precise preservation obligation: deleting a vertex does not help unless the chosen coloring of the smaller graph has compatible boundary colors. The mission therefore welcomes both global structural arguments and verified finite boundary classifications, but finite enumeration alone is not accepted as a proof for arbitrary graph order.

Difficulty

The obvious induction on vertices fails at degree two. A coloring of G−vG-vG−v need not extend over vvv: if its two neighbors receive colors at cyclic distance at least seven, their two allowed sets can be disjoint. The local table characterizes this failure exactly but does not guarantee that a different coloring of G−vG-vG−v has favorable boundary values. Recoloring, reducible configurations, and planar discharging must therefore interact without silently assuming universal extension or connectivity of the recoloring graph.

A second source of difficulty is parameter confusion. Bounds for fractional colorings do not automatically yield (20,7)(20,7)(20,7)-colorings, and a theorem about mixing existing circular colorings does not prove existence. Any proposed bridge must be stated and verified explicitly.

Formalization scope

Lean represents colors by Fin 20 and uses the minimum of the two directed modular differences as cyclic distance. Edge compatibility includes both the lower bound 777 and the formal upper bound 131313. Triangle-freeness is literal absence of three mutually cyclic adjacent vertices, and subcubic means every neighbor set has extended cardinality at most three.

The definition bundle contains no theorem and no sorry. Draft theorem items contain exactly one := by sorry. The local candidate computations and GitHub transport records are provenance, not evidence that either theorem is proved. A complete contribution may formalize the finite palette table, a faithful reducible configuration, a recoloring lemma with all quantifiers exposed, or the root theorem. Every claimed universal reduction must retain finiteness, simplicity, planarity, triangle-freeness, and the degree bound.

Selected references

  • X. Zhu, Circular chromatic number of triangle-free planar graphs with maximum degree three, open-problem page. https://www.math.nsysu.edu.tw/~zhu/open-problems/chic-k3free-planar.htm
  • Open Problem Garden, OPG-401. https://www.unsolvedmath.com/problems/OPG-401
  • X. Zhu, The fractional version of Hedetniemi's conjecture is true, European Journal of Combinatorics, 2011. https://doi.org/10.1016/j.ejc.2011.03.004
  • Z. Dvořák, J.-S. Sereni, and J. Volec, Subcubic triangle-free graphs have fractional chromatic number at most 14/5, Journal of the London Mathematical Society, 2014. https://arxiv.org/abs/1301.5296
3 thms2 active usersReviewed
Combinatorics·Captain: hao jia

Six Colors for Star Edge-Coloring Subcubic Graphs (OPG-37271)Open Problem

Motivation

A star edge coloring is a proper edge coloring with an additional local restriction: no path or cycle of four edges may use only two colors. It sits between ordinary proper edge coloring and strong edge coloring. The problem is local enough to admit finite obstruction searches, but global enough that independently valid local colorings may fail to fit together.

Dvořák, Mohar, and Šámal proved in 2013 that every subcubic multigraph has a star edge coloring with seven colors and conjectured that six always suffice. The Open Problem Garden records the simple-graph version as OPG-37271. The value six would be best possible because the complete bipartite graph K3,3K_{3,3}K3,3​ has star chromatic index six.

Subsequent work has proved the six-color bound under additional hypotheses. Lei, Shi, and Song proved it for subcubic multigraphs with maximum average degree less than 5/25/25/2 and obtained a five-color result below 24/1124/1124/11. Casselgren, Granholm, and Raspaud proved the conjecture for cubic Halin graphs and several bipartite families. These results leave the unrestricted finite subcubic case as the target of this mission.

Setting

Let GGG be a finite simple undirected graph. An edge coloring assigns to each unordered edge of GGG one color from a finite palette. It is proper if two distinct edges incident with the same vertex always have different colors.

A simple path of four edges has five pairwise distinct vertices v0,v1,v2,v3,v4v_0,v_1,v_2,v_3,v_4v0​,v1​,v2​,v3​,v4​ and consecutive edges v0v1,v1v2,v2v3,v3v4v_0v_1,v_1v_2,v_2v_3,v_3v_4v0​v1​,v1​v2​,v2​v3​,v3​v4​. It is bichromatic in a proper coloring exactly when the first and third edges have the same color and the second and fourth edges have the same color. The path need not be induced: additional chords do not remove it. A four-cycle has four pairwise distinct vertices and is bichromatic under the analogous alternating equalities, including the closing edge.

A coloring is a star edge coloring when it is proper and contains neither type of bichromatic four-edge configuration. The star chromatic index χs′(G)\chi'_s(G)χs′​(G) is the least palette size admitting such a coloring. A graph is subcubic when every vertex has at most three neighbors.

Formalization targets

Goal — the six-color conjecture

The main target is the exact OPG-37271 assertion for finite simple graphs:

Δ(G)≤3⟹χs′(G)≤6.\Delta(G)\le 3 \quad\Longrightarrow\quad \chi'_s(G)\le 6.Δ(G)≤3⟹χs′​(G)≤6.

In the Lean statement, this is expressed directly as the existence of a coloring by Fin 6; no separate minimization operator is needed.

Known upper bound

The first literature milestone is the established seven-color theorem:

Δ(G)≤3⟹χs′(G)≤7.\Delta(G)\le 3 \quad\Longrightarrow\quad \chi'_s(G)\le 7.Δ(G)≤3⟹χs′​(G)≤7.

Formalizing this result provides a checked baseline and infrastructure that a six-color argument can reuse.

Sharpness at K3,3K_{3,3}K3,3​

The second literature milestone records both sides of the exact value

χs′(K3,3)=6.\chi'_s(K_{3,3})=6.χs′​(K3,3​)=6.

Thus the mission cannot be completed by weakening the goal to a larger universal constant.

Significance

A proof would determine the universal star chromatic-index bound for graphs of maximum degree three and would match the known lower-bound example K3,3K_{3,3}K3,3​. A counterexample, if one exists, would separate six from the established seven-color bound and identify the first genuinely seven-chromatic subcubic graph.

The formalization contributes a reusable definition of star edge coloring on Mathlib finite simple graphs. In particular, it fixes several conventions that are easy to blur in informal or computational work: forbidden paths have four edges rather than four vertices; they are simple but need not be induced; four-cycles are checked separately; and properness is not inferred merely from the absence of an alternating four-edge pattern. These definitions can support certified bounded searches, verified coloring certificates, and later formalizations of sparse or planar special cases.

The current research repository contains candidate-only local extension criteria and finite certificates. They may motivate future milestones, but they are not treated here as proofs of the conjecture, as admitted evidence, or as replacements for the literature milestones.

Difficulty

A direct greedy coloring argument can fail at a newly inserted edge because a color may be forbidden either by an adjacent edge or by a bichromatic four-edge path created several incidences away. Deleting a low-degree vertex and coloring the remaining graph therefore does not guarantee that the old coloring extends without recoloring. Explicit small configurations already witness failure of this zero-recoloring strategy while remaining globally six-colorable.

The known seven-color proof has one extra color available to break such interactions. Reaching six requires coordinating local recolorings or extracting stronger structure from a minimal counterexample. Finite searches can test configurations and produce certificates, but bounded verification alone cannot establish the universal quantifier over all finite graphs.

Formalization scope

The mission uses SimpleGraph with an arbitrary finite vertex type. Edges are unordered edge-set elements, and palettes are the labeled finite types Fin k. The graph need not be connected, cubic, planar, or nonempty; isolated vertices and the empty graph are included. “Subcubic” means degree at most three, not degree exactly three.

A forbidden path is represented by five pairwise distinct vertices and four consecutive adjacencies. It is not required to be induced. A forbidden cycle is represented separately by four pairwise distinct vertices and four cyclic adjacencies. Under the properness hypothesis, equality of opposite edge colors is precisely the bichromatic alternating pattern.

A complete development should supply the known seven-color theorem, certify the exact value for K3,3K_{3,3}K3,3​, and then address the six-color goal. Contributions formalizing faithful special cases or reusable extension lemmas are welcome, but sampled graph families and successful SAT searches remain finite evidence unless converted into a general Lean proof.

Selected references

  • Z. Dvořák, B. Mohar, and R. Šámal, Star chromatic index, Journal of Graph Theory 72 (2013), 313–326. arXiv:1011.3376
  • H. Lei, Y. Shi, and Z.-X. Song, Star chromatic index of subcubic multigraphs, Journal of Graph Theory 88 (2018), 566–576. arXiv:1701.04105
  • C. J. Casselgren, J. B. Granholm, and A. Raspaud, On star edge colorings of bipartite and subcubic graphs, Discrete Applied Mathematics 298 (2021), 21–33. arXiv:1912.02467
  • Open Problem Garden, Star chromatic index of subcubic graphs, OPG-37271. Problem page
  • Vibe Mathing candidate repository, OPG-37271 star chromatic index of subcubic graphs, candidate-only artifacts at commit ddc49c1978a196490702150bb75264793a658457. Repository
4 thms2 active usersReviewed
CombinatoricsLinear OptimizationOperations Research+1·Captain: Shuze Chen

Flows in Networks VII: Maximal Dynamic Flows from Temporally Repeated FlowsTextbook

Motivation

Many transportation and evacuation questions ask how much can be shipped from a source to a sink within a time horizon, when every arc has both a capacity per period and a traversal time. Ford and Fulkerson posed this maximal dynamic flow problem in 1958 and solved it by a reduction that is now standard in network optimization: instead of solving a linear program on a network copied once per period, solve one minimal cost flow problem on the original network and repeat its chain flows over time. Their account in Chapter III, §9 of Flows in Networks (RAND Report R-375-PR, 1962; Princeton University Press, 1962) is the source of the notions of the time-expanded network and the temporally repeated flow, which underlie later work on earliest arrival flows, quickest flows and evacuation planning (see Skutella, 2009).

Timeline. Ford and Fulkerson, Constructing maximal dynamic flows from static flows (Operations Research 6, 1958), proved that a temporally repeated flow is optimal. Gale (1959) showed that a single dynamic flow can be maximal for every horizon simultaneously, a question the book raises right after the theorem formalized here. Hoppe and Tardos (2000) solved the quickest transshipment problem with several sources and sinks.

Setting

A network [N;A][N; \mathcal A][N;A] has a finite node set NNN, two distinct nodes sss (source) and ttt (sink), and a set A\mathcal AA of ordered pairs of distinct nodes (arcs); both (x,y)(x, y)(x,y) and (y,x)(y, x)(y,x) may be arcs. Each arc carries a positive integer capacity c(x,y)c(x, y)c(x,y) and a nonnegative integer cost a(x,y)a(x, y)a(x,y); in the dynamic problem a(x,y)a(x, y)a(x,y) is the traversal time, a positive integer.

A static flow from sss to ttt of value vvv is a real function fff on the arcs with 0≤f≤c0 \le f \le c0≤f≤c, net outflow vvv at sss, −v-v−v at ttt, and 000 at every other node. For an integer p≥0p \ge 0p≥0, the ppp-th related program maximizes pv−∑Aa(x,y)f(x,y)p v - \sum_{\mathcal A} a(x, y) f(x, y)pv−∑A​a(x,y)f(x,y) over static flows. Integer node numbers π\piπ and a flow fff satisfy the optimality properties (3.18)–(3.20) for this program when π(s)=0\pi(s) = 0π(s)=0, π(t)=p\pi(t) = pπ(t)=p, f(x,y)=0f(x, y) = 0f(x,y)=0 whenever π(y)−π(x)<a(x,y)\pi(y) - \pi(x) < a(x, y)π(y)−π(x)<a(x,y), and f(x,y)=c(x,y)f(x, y) = c(x, y)f(x,y)=c(x,y) whenever π(y)−π(x)>a(x,y)\pi(y) - \pi(x) > a(x, y)π(y)−π(x)>a(x,y). The arc numbers are γ(x,y)=max⁡(0,π(y)−π(x)−a(x,y))\gamma(x, y) = \max(0, \pi(y) - \pi(x) - a(x, y))γ(x,y)=max(0,π(y)−π(x)−a(x,y)).

A dynamic flow for ppp periods assigns to each arc and departure time τ=0,1,…,p\tau = 0, 1, \dots, pτ=0,1,…,p an amount f(x,y;τ)f(x, y; \tau)f(x,y;τ) with 0≤f(x,y;τ)≤c(x,y)0 \le f(x, y; \tau) \le c(x, y)0≤f(x,y;τ)≤c(x,y), arriving at yyy at time τ+a(x,y)\tau + a(x, y)τ+a(x,y), together with nonnegative hold-overs f(x,x;τ)f(x, x; \tau)f(x,x;τ) that wait at xxx from τ\tauτ to τ+1\tau + 1τ+1, with unbounded capacity. Conservation holds at every intermediate node at every time, and the value v(p)v(p)v(p) is the net amount leaving sss, equal to the net amount entering ttt, over the horizon: these are the constraints (9.2)–(9.5). Equivalently, it is a static flow in the time-expanded network G(p)G(p)G(p), whose nodes are the copies x(τ)x(\tau)x(τ), τ=0,…,p\tau = 0, \dots, pτ=0,…,p, with arcs [x(τ),y(τ+a(x,y))][x(\tau), y(\tau + a(x, y))][x(τ),y(τ+a(x,y))] of capacity c(x,y)c(x, y)c(x,y) and hold-over arcs [x(τ),x(τ+1)][x(\tau), x(\tau + 1)][x(τ),x(τ+1)] of infinite capacity. A dynamic cut is a node set XXX of G(p)G(p)G(p) containing every s(τ)s(\tau)s(τ) and no t(τ)t(\tau)t(τ); its capacity is the total capacity of the arcs of G(p)G(p)G(p) leading from XXX to its complement.

A chain decomposition of a static flow fff of value vvv is a finite family of chains CrC_rCr​ from sss to ttt with amounts hr>0h_r > 0hr​>0, using at most f(x,y)f(x, y)f(x,y) on each arc in total and of total value at least vvv. The temporally repeated flow it generates sends hrh_rhr​ along CrC_rCr​ starting at every time θ\thetaθ with θ+σr≤p\theta + \sigma_r \le pθ+σr​≤p, where σr\sigma_rσr​ is the traversal time of CrC_rCr​.

Formalization targets

Goal: Chapter III, "Theorem 8.1" (p. 90)

Let the traversal times be positive integers, let fff be an integral static flow of value vvv and π\piπ integer node numbers satisfying the optimality properties for the (p+1)(p+1)(p+1)-th related program. Then fff has a chain decomposition; every chain decomposition of fff generates a temporally repeated flow that is a maximal dynamic flow for ppp periods, with value

v(p)=(p+1)v−∑Aa(x,y)f(x,y);v(p) = (p + 1) v - \sum_{\mathcal A} a(x, y) f(x, y);v(p)=(p+1)v−A∑​a(x,y)f(x,y);

and the cut of G(p)G(p)G(p) determined by X={x(τ)∣π(x)≤τ}X = \{x(\tau) \mid \pi(x) \le \tau\}X={x(τ)∣π(x)≤τ} is a minimal dynamic cut. In the book fff and π\piπ are the outputs fp+1f_{p+1}fp+1​, πp+1\pi_{p+1}πp+1​ of the minimal cost flow routine of §3, which satisfy these properties by Theorem 3.1.

Milestones

  • Corollary 3.2 (p. 43): under the optimality properties, fff maximizes pv−∑afp v - \sum a fpv−∑af over all flows, (π,γ)(\pi, \gamma)(π,γ) solves the dual program, and pv−∑Aaf=∑Acγp v - \sum_{\mathcal A} a f = \sum_{\mathcal A} c \gammapv−∑A​af=∑A​cγ (3.29).
  • Corollary 3.3 (p. 43): if ppp exceeds every path cost from sss to ttt, fff is a maximal flow of minimal cost among maximal flows.
  • Theorem 3.5 (p. 48): every chain from sss to ttt satisfies ∑[a+γ]≥p\sum [a + \gamma] \ge p∑[a+γ]≥p along its arcs (3.35), with equality when fff is positive on all its arcs; if fff is also optimal for the (p−1)(p-1)(p−1)-th program, as the routine's fpf_pfp​ is by Theorem 3.1, such a chain has γ>0\gamma > 0γ>0 on some arc.
  • Eq. (9.20) (p. 90): vˉ(p)−vˉ(p−1)=vp+1\bar v(p) - \bar v(p - 1) = v_{p+1}vˉ(p)−vˉ(p−1)=vp+1​ for the maximal dynamic flow values vˉ\bar vvˉ.

Stronger: any maximizer of (9.6)

A variant item states the goal for every real static flow maximizing (p+1)v−∑af(p+1)v - \sum a f(p+1)v−∑af, with no integrality and no node numbers assumed (finding F1).

Significance

The theorem turns a linear program whose size grows with the horizon ppp into a minimal cost flow problem of fixed size, and it identifies the optimal value as an explicit function of a static flow. Equation (9.20) then shows that vˉ(p)\bar v(p)vˉ(p) is a convex piecewise linear function of ppp, with slopes the values vp+1v_{p+1}vp+1​ of the successive static flows.

The result is proved, in 1958 and in the book. It has, as far as a search of the platform shows, no machine-checked proof: no item states a dynamic flow, a time-expanded network or a temporally repeated flow. A complete development would produce reusable formal notions of time-expanded networks and of chain decompositions of node-arc flows, and a formal proof of LP-duality-style optimality for the s–t minimal cost flow program.

Difficulty

Constructing the temporally repeated flow and checking that it is feasible is the easy half. The hard half is maximality over all dynamic flows, including those that use hold-overs and are generated by no static flow: an upper bound on every dynamic flow for ppp periods has to be matched exactly to a quantity computed on the original, much smaller network. A newcomer who tries to compare dynamic flows with temporally repeated ones directly finds no such comparison: the maximal dynamic flow of the book's Fig. 9.7 is not temporally repeated.

Two pitfalls are on the page. The printed definition (9.17) of the minimal cut has an upper limit under which the set is empty (finding F2); the statement uses the node set (9.18) that the text describes. And the clause "γ>0\gamma > 0γ>0 for some arc" of Theorem 3.5 depends on how the routine produced its flow and fails for an arbitrary pair satisfying the optimality properties (finding F3); the statement carries what Theorem 3.1 says of the routine's fpf_pfp​, that it is also optimal for the (p−1)(p-1)(p−1)-th program.

Formalization scope

Nodes form a Fintype with decidable equality; arcs a Finset (N × N) without loops; capacities and costs are natural numbers, with capacities positive on arcs and, in the §9 statements, traversal times positive. Static flows are real functions on the arcs in Chapter I's net form, which agrees with the §3 form (3.7)–(3.10) when no arc enters sss or leaves ttt. Node numbers are integer valued. The routine of §3 is not formalized: every statement quantifies over flows and node numbers satisfying the optimality properties, which is what Theorem 3.1 asserts of the routine's outputs. Dynamic flows are the linear program (9.2)–(9.5) itself, with times in N\mathbb NN, hold-overs as separate nonnegative variables (infinite capacity is never written as a number), and incoming terms present only when the departure time is nonnegative. A minimal dynamic cut is a dynamic cut that no hold-over arc crosses and whose capacity is at most that of every other such cut; cuts crossed by a hold-over arc have infinite capacity. Maxima are stated as attained.

The trivializing formalizations are ruled out: the maximal dynamic flow value is not defined through (9.6) but as the greatest value of the program (9.2)–(9.5), and "temporally repeated" is an explicit construction from a chain decomposition, so not every dynamic flow is one.

Needed: finite sums over arcs and times, list-based chains, and duality for both the static and the time-expanded network; Mathlib has no network flow theory, and these definitions are reusable beyond this mission. Proofs of the milestones, of the goal and of the strengthened variant are all welcome.

Selected references

  • L. R. Ford, Jr. and D. R. Fulkerson, Flows in Networks, RAND Corporation Report R-375-PR, 1962; Princeton University Press, 1962. https://doi.org/10.1515/9781400875184
  • L. R. Ford, Jr. and D. R. Fulkerson, Constructing maximal dynamic flows from static flows, Operations Research 6 (1958), 419–433. https://doi.org/10.1287/opre.6.3.419
  • D. Gale, Transient flows in networks, Michigan Mathematical Journal 6 (1959), 59–63. https://doi.org/10.1307/mmj/1028998140
  • B. Hoppe and É. Tardos, The quickest transshipment problem, Mathematics of Operations Research 25 (2000), 36–62. https://doi.org/10.1287/moor.25.1.36.15211
  • M. Skutella, An introduction to network flows over time, in Research Trends in Combinatorial Optimization, Springer, 2009, 451–482. https://doi.org/10.1007/978-3-540-76796-1_21
7 thms1 active userReviewed
CombinatoricsOperations Research·Captain: Shuze Chen

Flows in Networks VIII: Flow Functions Realizable by TreesTextbook

Motivation

In a communication or transportation network, a planner often needs not one maximal flow value but all of them: the largest amount that can be sent between every pair of locations. For an undirected network with nnn nodes there are n(n−1)/2n(n-1)/2n(n−1)/2 such values. In 1961, R. E. Gomory and T. C. Hu (Multi-terminal network flows, J. SIAM 9 (1961)) answered two questions about them. Which tables of numbers can occur as the all-pairs maximal flow values of some network? And how many maximal flow computations are needed to find them all? Mayeda (1960) and Chien (1960) studied the same questions at about the same time.

Ford and Fulkerson's Flows in Networks (RAND Report R-375-PR, 1962; Princeton University Press, 1962) gives the theory in its fourth chapter, "Multi-Terminal Maximal Flows", following Gomory and Hu. This mission formalizes the first half of that chapter: the cycle criterion for maximal spanning subtrees (§1), the characterization of flow functions and their realization by trees (§2), and the condensation lemma behind the Gomory–Hu procedure (§3).

Setting

An undirected network GGG has a finite set NNN of nodes and a set of undirected arcs. An arc joins two distinct nodes, and at most one arc joins any two nodes. Each arc {x,y}\{x, y\}{x,y} carries a nonnegative real capacity c(x,y)=c(y,x)c(x, y) = c(y, x)c(x,y)=c(y,x).

A flow of value www from sss to ttt assigns to each ordered pair a number f(x,y)≥0f(x, y) \ge 0f(x,y)≥0, the flow from xxx to yyy. It vanishes unless {x,y}\{x, y\}{x,y} is an arc. On each arc it satisfies f(x,y)≤c(x,y)f(x, y) \le c(x, y)f(x,y)≤c(x,y), f(y,x)≤c(x,y)f(y, x) \le c(x, y)f(y,x)≤c(x,y) and f(x,y) f(y,x)=0f(x, y)\,f(y, x) = 0f(x,y)f(y,x)=0, so flow moves in only one direction. The net flow out of a node, f(x,N)−f(N,x)f(x, N) - f(N, x)f(x,N)−f(N,x), is www at sss, −w-w−w at ttt, and 000 at every other node. The maximal flow value from xxx to yyy is the largest value of a flow from xxx to yyy. The book calls the function v(x,y)v(x, y)v(x,y) giving this value for every pair of distinct nodes the flow function of GGG. It is symmetric, and v(x,x)v(x, x)v(x,x) is left undefined.

A symmetric function v≥0v \ge 0v≥0 on pairs of distinct nodes is realizable if some undirected network on NNN has flow function vvv. It is realizable by a tree if the arcs of such a network form a tree on NNN, that is, a connected graph without cycles.

For a set XXX of nodes with complement Xˉ=N−X\bar X = N - XXˉ=N−X, the cut capacity c(X,Xˉ)c(X, \bar X)c(X,Xˉ) is the total capacity of the arcs joining XXX to Xˉ\bar XXˉ. (X,Xˉ)(X, \bar X)(X,Xˉ) is a minimal cut separating sss and ttt if s∈Xs \in Xs∈X, t∈Xˉt \in \bar Xt∈Xˉ, and no other such node set has a smaller cut capacity. The condensed network shrinks all of Xˉ\bar XXˉ to a single node. Arcs between nodes of XXX (the ordinary nodes) are kept. The arcs from an ordinary node xxx to Xˉ\bar XXˉ become one arc whose capacity is their sum.

Given a connected graph GGG with real arc lengths a(x,y)a(x, y)a(x,y), a spanning subtree is a tree TTT obtained from GGG by deleting arcs. Arcs of TTT are in-tree and the rest are out-of-tree. TTT is maximal if no spanning subtree of GGG has a larger total length.

Formalization targets

Goal: Chapter IV, Theorem 2.1 (p. 8)

For a nonempty finite node set NNN and a symmetric v≥0v \ge 0v≥0 on pairs of distinct nodes, vvv is realizable if and only if, for all pairwise distinct x,y,zx, y, zx,y,z,

v(x,y)≥min⁡ [v(x,z),v(z,y)].(2.1)v(x, y) \ge \min\,[v(x, z), v(z, y)]. \tag{2.1}v(x,y)≥min[v(x,z),v(z,y)].(2.1)

Moreover, if vvv is realizable, it is realizable by a tree.

Milestones

  1. Theorem 1.1 (p. 5). A spanning subtree TTT is maximal if and only if, for each out-of-tree arc {x1,xk}\{x_1, x_k\}{x1​,xk​} with in-tree chain x1,x2,…,xkx_1, x_2, \dots, x_kx1​,x2​,…,xk​,
a(x1,xk)≤min⁡ [a(x1,x2),…,a(xk−1,xk)].(1.1)a(x_1, x_k) \le \min\,[a(x_1, x_2), \dots, a(x_{k-1}, x_k)]. \tag{1.1}a(x1​,xk​)≤min[a(x1​,x2​),…,a(xk−1​,xk​)].(1.1)
  1. Lemma 2.1 (p. 6). Every flow function satisfies (2.1).
  2. Lemma 2.2 (p. 8). Every symmetric v≥0v \ge 0v≥0 satisfying (2.1) is the flow function of some undirected network.
  3. Lemma 3.1 (p. 11). Let (X,Xˉ)(X, \bar X)(X,Xˉ) be an s,ts, ts,t minimal cut, and let x,yx, yx,y be two distinct nodes of XXX. The maximal flow value v′(x,y)v'(x, y)v′(x,y) in the network condensed at Xˉ\bar XXˉ equals the maximal flow value v(x,y)v(x, y)v(x,y) in the original network.

Significance

Theorem 2.1 says that the all-pairs maximal flow values of an undirected network take a very restricted form. Every network is flow-equivalent to a tree on the same nodes. At most n−1n - 1n−1 distinct values occur. Every value is a minimum of values along a path. The Gomory–Hu tree, with its n−1n - 1n−1 maximal flow computations instead of n(n−1)/2n(n-1)/2n(n−1)/2, rests on this structure, and Lemma 3.1 is what makes that procedure correct: each later flow problem can be solved on a smaller, condensed network without changing the answer. Gomory–Hu trees are used in network reliability, in the separation of odd-cut inequalities for matching polytopes (Padberg and Rao, 1982), and in graph clustering. Theorem 1.1 is the cycle-optimality criterion for maximum-weight spanning trees. It underlies the correctness of Kruskal's algorithm, which the book derives from it.

These are classical results, proved in the 1950s and 1960s. On Prove2Me, Padberg and Rao's odd-cut results take an odd cut-tree as a hypothesis and do not construct one. Minimum-spanning-tree exchange properties exist in other encodings (rooted parent functions, a list-scan Kruskal). No formal statement of the realizability theorem, of the triangle condition on flow functions, or of the condensation lemma is known on the platform. The work is to formalize the known proofs. They connect undirected maximal flows with the max-flow min-cut theorem, spanning-tree exchange arguments and cut submodularity, and every one of these is reusable on its own.

Difficulty

The obvious first step for Lemma 2.1 compares flows directly, and it does not work. The inequality is a statement about maxima, and a flow of value min⁡[v(x,z),v(z,y)]\min[v(x, z), v(z, y)]min[v(x,z),v(z,y)] from xxx to yyy cannot be assembled by concatenating an xxx–zzz flow and a zzz–yyy flow, because the two flows compete for the same arc capacities. Every statement here is about attained maxima of flow values, and nothing in the mission's statements supplies the max-flow min-cut theorem for undirected networks with the one-direction constraint f(x,y) f(y,x)=0f(x, y)\,f(y, x) = 0f(x,y)f(y,x)=0. A solver must bring that in. For Lemma 3.1, the two networks have different node types, so flows have to be transported between them in both directions, and the naive way of pushing a flow forward into the condensed network can lose value. For Theorem 1.1, necessity is a single exchange, but sufficiency is not: the book itself remarks that it is "not obvious".

Formalization scope

Nodes are a Fintype with decidable equality. Arcs are a Mathlib SimpleGraph, so they are undirected and loop-free with at most one arc per pair. Capacities are a symmetric real function, nonnegative on arcs. Flows are real functions on ordered pairs that satisfy the book's constraints (10.1) of Chapter I. The maximal flow value is an attained maximum (IsGreatest), never a bare supremum. A flow function v:N→N→Rv : N \to N \to \mathbb Rv:N→N→R is constrained only off the diagonal, matching the book's "v(x,x)v(x, x)v(x,x) undefined", so (2.1) is quantified over pairwise distinct nodes. The book's alternative convention v(x,x)=∞v(x, x) = \inftyv(x,x)=∞ is not used. Extending vvv by 000 on the diagonal would break (2.1) at z=xz = xz=x. The goal and Lemma 2.2 assume v≥0v \ge 0v≥0 off the diagonal. The book leaves this implicit (flow values are nonnegative), and without it the "if" direction fails for v≡−1v \equiv -1v≡−1. The goal assumes NNN nonempty, because a tree is connected. "Realizable by a tree" means the network's graph is a tree on all of NNN. Some tree arcs may have capacity 000. The condensed network has node type Option X, where none is the condensed node. Spanning subtrees are subgraphs T≤GT \le GT≤G with T.IsTree. Lengths are a function on unordered pairs, and "the chain of in-tree arcs" is any path in TTT, which is unique.

A trivializing formalization is excluded. The flow function is defined by actual flows, never by path minima in a tree or by cut capacities. Realizability is the existence of a network whose flows have those maximal values, never a restatement of (2.1).

Not included: Lemma 3.2 and Theorem 4.1. Both concern objects that the book defines by a construction ("the final tree TTT" of the Gomory–Hu procedure, and the network G∗G^*G∗ of §4), and stating them faithfully would require formalizing those constructions. Contributions welcome: an undirected max-flow min-cut theorem in this encoding, the tree-network flow computation, and a formal Gomory–Hu construction for a later mission.

Selected references

  • L. R. Ford, Jr. and D. R. Fulkerson, Flows in Networks, RAND Corporation Report R-375-PR, 1962; Princeton University Press, 1962. https://doi.org/10.1515/9781400875184
  • R. E. Gomory and T. C. Hu, Multi-terminal network flows, Journal of the Society for Industrial and Applied Mathematics 9 (1961), 551–570. https://doi.org/10.1137/0109047
  • J. B. Kruskal, On the shortest spanning subtree of a graph and the traveling salesman problem, Proceedings of the American Mathematical Society 7 (1956), 48–50. https://doi.org/10.1090/S0002-9939-1956-0078686-7
  • R. C. Prim, Shortest connection networks and some generalizations, Bell System Technical Journal 36 (1957), 1389–1401. https://doi.org/10.1002/j.1538-7305.1957.tb01515.x
  • M. W. Padberg and M. R. Rao, Odd minimum cut-sets and b-matchings, Mathematics of Operations Research 7 (1982), 67–80. https://doi.org/10.1287/moor.7.1.67
7 thms1 active userReviewed
CombinatoricsOperations Research·Captain: Shuze Chen

Flows in Networks VI: Zero-One Matrices with Zero TraceTextbook

Motivation

An m×nm \times nm×n matrix of 000's and 111's is the incidence matrix of mmm sets against nnn elements, or the adjacency matrix of a bipartite graph, or, when m=nm = nm=n, the adjacency matrix of a directed graph on nnn 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 111'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]G = [N; \mathcal A]G=[N;A] has a finite node set NNN and a set A\mathcal AA of ordered pairs (x,y)(x, y)(x,y) with x≠yx \ne yx=y, at most one per ordered pair. A subgraph HHH keeps the nodes and takes an arc set A′⊆A\mathcal A' \subseteq \mathcal AA′⊆A. Its local degree at xxx is the pair eH(x)e_H(x)eH​(x), iH(x)i_H(x)iH​(x): the numbers of arcs of HHH entering and leaving xxx. For X⊆NX \subseteq NX⊆N, A(X)A(X)A(X) is the set of heads of arcs leaving XXX and B(X)B(X)B(X) the set of tails of arcs entering XXX; ∣(X,y)∣|(X, y)|∣(X,y)∣ and ∣(y,X)∣|(y, X)|∣(y,X)∣ count the arcs from XXX to yyy and from yyy to XXX; a(X)=∑x∈Xa(x)a(X) = \sum_{x \in X} a(x)a(X)=∑x∈X​a(x).

A (0,1)(0, 1)(0,1)-matrix A=(aij)A = (a_{ij})A=(aij​) has every entry 000 or 111. For nonnegative integers a1,…,ama_1, \dots, a_ma1​,…,am​ the conjugate sequence is aj∗=∣{i∣ai≥j}∣a^*_j = |\{ i \mid a_i \ge j \}|aj∗​=∣{i∣ai​≥j}∣. For nonnegative integers a1,…,ana_1, \dots, a_na1​,…,an​, the diagonally restricted conjugate sequence (ak∗∗)(a^{**}_k)(ak∗∗​) is defined as follows. In an n×nn \times nn×n array, row iii places aia_iai​ dots in its leftmost columns other than column iii, and ak∗∗a^{**}_kak∗∗​ is the number of dots in column kkk:

ak∗∗=∣{i∣i<k, ai≥k−1}∣+∣{i∣i>k, ai≥k}∣.a^{**}_k = |\{ i \mid i < k,\ a_i \ge k - 1 \}| + |\{ i \mid i > k,\ a_i \ge k \}|.ak∗∗​=∣{i∣i<k, ai​≥k−1}∣+∣{i∣i>k, ai​≥k}∣.

For a=(4,3,3,2,2,1)a = (4, 3, 3, 2, 2, 1)a=(4,3,3,2,2,1) this gives a∗∗=(5,4,2,3,1,0)a^{**} = (5, 4, 2, 3, 1, 0)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≥⋯≥ana_1 \ge \dots \ge a_na1​≥⋯≥an​ and b1≥⋯≥bnb_1 \ge \dots \ge b_nb1​≥⋯≥bn​, there is an n×nn \times nn×n (0,1)(0, 1)(0,1)-matrix with

∑jaij≤ai,∑iaij≥bj,∑iaii=0\sum_j a_{ij} \le a_i, \qquad \sum_i a_{ij} \ge b_j, \qquad \sum_i a_{ii} = 0j∑​aij​≤ai​,i∑​aij​≥bj​,i∑​aii​=0

if and only if

∑i=1kbi≤∑i=1kai∗∗,k=1,…,n.\sum_{i=1}^k b_i \le \sum_{i=1}^k a^{**}_i, \qquad k = 1, \dots, n.i=1∑k​bi​≤i=1∑k​ai∗∗​,k=1,…,n.

Milestones

  1. Theorem 11.1 (pp. 73–74). For integers 0≤a(x)≤a′(x)0 \le a(x) \le a'(x)0≤a(x)≤a′(x) and 0≤b(x)≤b′(x)0 \le b(x) \le b'(x)0≤b(x)≤b′(x), GGG has a subgraph with a≤iH≤a′a \le i_H \le a'a≤iH​≤a′ and b≤eH≤b′b \le e_H \le b'b≤eH​≤b′ iff, for all X⊆NX \subseteq NX⊆N,
a(X)≤∑y∈A(X)min⁡[b′(y),∣(X,y)∣],b(X)≤∑y∈B(X)min⁡[a′(y),∣(y,X)∣].a(X) \le \sum_{y \in A(X)} \min[b'(y), |(X, y)|], \qquad b(X) \le \sum_{y \in B(X)} \min[a'(y), |(y, X)|].a(X)≤y∈A(X)∑​min[b′(y),∣(X,y)∣],b(X)≤y∈B(X)∑​min[a′(y),∣(y,X)∣].
  1. Corollary 11.2 (Ore, pp. 74–75): exact degrees iH=ai_H = aiH​=a, eH=be_H = beH​=b iff a(N)=b(N)a(N) = b(N)a(N)=b(N) and the first inequality holds with bbb in place of b′b'b′.
  2. Theorem 12.1 (pp. 79–80). For nonnegative integers a1,…,ama_1, \dots, a_ma1​,…,am​ and b1≥⋯≥bnb_1 \ge \dots \ge b_nb1​≥⋯≥bn​, an m×nm \times nm×n (0,1)(0, 1)(0,1)-matrix with ∑iaij≥bj\sum_i a_{ij} \ge b_j∑i​aij​≥bj​ and ∑jaij≤ai\sum_j a_{ij} \le a_i∑j​aij​≤ai​ exists iff ∑j≤kbj≤∑j≤kaj∗\sum_{j \le k} b_j \le \sum_{j \le k} a^*_j∑j≤k​bj​≤∑j≤k​aj∗​ for k=1,…,nk = 1, \dots, nk=1,…,n.
  3. Corollaries 12.2 and 12.3 (p. 80): the cases bj=bb_j = bbj​=b (criterion nb≤∑jaj∗nb \le \sum_j a^*_jnb≤∑j​aj∗​) and ai=aa_i = aai​=a (criterion ∑jbj≤ma\sum_j b_j \le ma∑j​bj​≤ma, bj≤mb_j \le mbj​≤m).
  4. Corollaries 12.5 and 12.6 (p. 90): the zero-trace cases bi=bb_i = bbi​=b (criterion nb≤∑iai∗∗nb \le \sum_i a^{**}_inb≤∑i​ai∗∗​) and ai=aa_i = aai​=a (criterion ∑ibi≤na\sum_i b_i \le na∑i​bi​≤na, bi≤n−1b_i \le n - 1bi​≤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 nnn 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)\mathfrak A(R, S)A(R,S) of (0,1)(0, 1)(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 nnn families at mmm 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 aaa 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 nnn 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∗∗a^{**}a∗∗ need not be monotone (the example above has a3∗∗<a4∗∗a^{**}_3 < a^{**}_4a3∗∗​<a4∗∗​), so the standard exchange argument for conjugate sequences does not apply unchanged. The ordering hypotheses are essential. Without b1≥⋯≥bnb_1 \ge \dots \ge b_nb1​≥⋯≥bn​ both Theorem 12.1 and Theorem 12.4 are false (findings F1, F2: a=(2)a = (2)a=(2), b=(0,2)b = (0, 2)b=(0,2) for 12.1; a=(1,1)a = (1, 1)a=(1,1), b=(0,2)b = (0, 2)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 111. Every integer datum is a natural number, so nonnegativity is built in. Indices are 000-based: the book's index iii is i + 1, and ∑i=1k\sum_{i=1}^k∑i=1k​ is the sum over i.val < k. Orderings are Antitone. Zero trace is written ∑iaii=0\sum_i a_{ii} = 0∑i​aii​=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⊆AH \subseteq \mathcal AH⊆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)b'(y)b′(y) in (11.19), which is read as b(y)b(y)b(y) because the corollary prescribes exact degrees. Its summation range, printed y∈A(x)y \in A(x)y∈A(x), is read as A(X)A(X)A(X), as in (11.14).

The trivializing formalization is ruled out: a∗a^*a∗ and a∗∗a^{**}a∗∗ are explicit counts computed from the integers aia_iai​, never defined through the existence of a matrix, and every partial-sum criterion is required for every k=1,…,nk = 1, \dots, nk=1,…,n, not only for k=nk = nk=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≥⋯≥bnb_1 \ge \dots \ge b_nb1​≥⋯≥bn​ (F1: m=1m = 1m=1, a=(2)a = (2)a=(2), b=(0,2)b = (0, 2)b=(0,2) satisfies the criterion but admits no matrix). zero_trace_theorem_probe is Theorem 12.4 without b1≥⋯≥bnb_1 \ge \dots \ge b_nb1​≥⋯≥bn​ (F2: n=2n = 2n=2, a=(1,1)a = (1, 1)a=(1,1), b=(0,2)b = (0, 2)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)(0, 1)(0,1)-matrices or subgraphs, and conjugate-sequence identities such as ∑imin⁡(ai,k)=∑j≤kaj∗\sum_i \min(a_i, k) = \sum_{j \le k} a^*_j∑i​min(ai​,k)=∑j≤k​aj∗​. 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
10 thms1 active userReviewed
CombinatoricsOperations ResearchOptimization·Captain: Shuze Chen

Flows in Networks II: Maximal Flow Value as a Function of Two Arc CapacitiesTextbook

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][N;\mathcal A][N;A] is a finite set NNN of nodes together with a set A\mathcal AA of ordered pairs (x,y)(x,y)(x,y) of distinct nodes, the arcs. The arc (x,y)(x,y)(x,y) has initial node xxx and terminal node yyy. There is at most one arc from xxx to yyy, but (x,y)(x,y)(x,y) and (y,x)(y,x)(y,x) may both be arcs. The nodes are split into a set SSS of sources, a disjoint set TTT of sinks, and the remaining intermediate nodes RRR. Each arc carries a capacity c(x,y)≥0c(x,y)\ge0c(x,y)≥0.

A flow from SSS to TTT is a function fff on the arcs with 0≤f(x,y)≤c(x,y)0\le f(x,y)\le c(x,y)0≤f(x,y)≤c(x,y) on every arc, and with conservation f(x,N)=f(N,x)f(x,N)=f(N,x)f(x,N)=f(N,x) at every intermediate node xxx. Here f(x,N)f(x,N)f(x,N) is the total flow on arcs leaving xxx and f(N,x)f(N,x)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)v=f(S,N)-f(N,S)v=f(S,N)−f(N,S). The maximal flow value vˉ\bar vvˉ is the largest value of a flow. A node set XXX containing every source and no sink determines the cut (X,Xˉ)(X,\bar X)(X,Xˉ), the set of arcs from XXX to its complement, with capacity c(X,Xˉ)c(X,\bar X)c(X,Xˉ), the sum of their capacities.

Fix two distinct arcs AiA_iAi​ and AjA_jAj​ and keep every other capacity fixed and finite. Write vˉi(ξ)\bar v_i(\xi)vˉi​(ξ) for the maximal flow value when c(Ai)c(A_i)c(Ai​) is replaced by ξ\xiξ, and vˉij(ξ,η)\bar v_{ij}(\xi,\eta)vˉij​(ξ,η) for the value when c(Ai)c(A_i)c(Ai​) and c(Aj)c(A_j)c(Aj​) are replaced by ξ\xiξ and η\etaη. These two capacities may also be ∞\infty∞, and then vˉ\bar vvˉ may be ∞\infty∞. For a rectangle with corners (ξ,η)(\xi,\eta)(ξ,η), (ξ+h,η)(\xi+h,\eta)(ξ+h,η), (ξ,η+k)(\xi,\eta+k)(ξ,η+k), (ξ+h,η+k)(\xi+h,\eta+k)(ξ+h,η+k) in the nonnegative quadrant, with hk≠0hk\neq0hk=0, the difference quotient is

qij=vˉij(ξ+h,η+k)−vˉij(ξ+h,η)−vˉij(ξ,η+k)+vˉij(ξ,η)hk.q_{ij}=\frac{\bar v_{ij}(\xi+h,\eta+k)-\bar v_{ij}(\xi+h,\eta)-\bar v_{ij}(\xi,\eta+k)+\bar v_{ij}(\xi,\eta)}{hk}.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),p_{ij}=\bar v_{ij}(\infty,\infty)-\bar v_{ij}(0,\infty)-\bar v_{ij}(\infty,0)+\bar v_{ij}(0,0),pij​=vˉij​(∞,∞)−vˉij​(0,∞)−vˉij​(∞,0)+vˉij​(0,0),

which may be +∞+\infty+∞, or indeterminate (∞−∞\infty-\infty∞−∞).

Formalization targets

Goal: Theorem 13.1, one sign

(∀ rectangles: qij≥0) ∨ (∀ rectangles: qij≤0).\Bigl(\forall\,\text{rectangles: } q_{ij}\ge0\Bigr)\ \lor\ \Bigl(\forall\,\text{rectangles: } q_{ij}\le0\Bigr).(∀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=1p_{12}=1p12​=1 into p12=−1p_{12}=-1p12​=−1.

Milestones

  1. Eq. (13.1). vˉ=min⁡{c(X,Xˉ):S⊆X, T∩X=∅}\bar v=\min\{c(X,\bar X): S\subseteq X,\ T\cap X=\emptyset\}vˉ=min{c(X,Xˉ):S⊆X, T∩X=∅}, the max-flow min-cut theorem for several sources and sinks.
  2. Eq. (13.2). vˉi(ξ)=min⁡[vˉi(0)+ξ, vˉi(∞)]\bar v_i(\xi)=\min[\bar v_i(0)+\xi,\ \bar v_i(\infty)]vˉi​(ξ)=min[vˉi​(0)+ξ, vˉi​(∞)] for ξ∈[0,∞]\xi\in[0,\infty]ξ∈[0,∞].
  3. Eq. (13.4). vˉij(ξ,η)=min⁡[vˉij(0,0)+ξ+η, vˉij(0,∞)+ξ, vˉij(∞,0)+η, vˉij(∞,∞)]\bar v_{ij}(\xi,\eta)=\min[\bar v_{ij}(0,0)+\xi+\eta,\ \bar v_{ij}(0,\infty)+\xi,\ \bar v_{ij}(\infty,0)+\eta,\ \bar v_{ij}(\infty,\infty)]vˉij​(ξ,η)=min[vˉij​(0,0)+ξ+η, vˉij​(0,∞)+ξ, vˉij​(∞,0)+η, vˉij​(∞,∞)].
  4. Corollary 13.2. If pij>0p_{ij}>0pij​>0 (including +∞+\infty+∞), qijq_{ij}qij​ is sometimes >0>0>0 and never <0<0<0. If pij=0p_{ij}=0pij​=0 or pijp_{ij}pij​ is indeterminate, qij≡0q_{ij}\equiv0qij​≡0. If pij<0p_{ij}<0pij​<0, qijq_{ij}qij​ is sometimes <0<0<0 and never >0>0>0.
  5. Theorem 13.3. qij≥0q_{ij}\ge0qij​≥0 when the terminal node of AiA_iAi​ is the initial node of AjA_jAj​. qij≤0q_{ij}\le0qij​≤0 when AiA_iAi​ and AjA_jAj​ share their initial node. qij≥0q_{ij}\ge0qij​≥0 when AiA_iAi​ starts at a source and AjA_jAj​ ends at a sink.
  6. Corollary 13.4. qij≤0q_{ij}\le0qij​≤0 when AiA_iAi​ and AjA_jAj​ 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 000 and ∞\infty∞. 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\bar v_{ij}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 pijp_{ij}pij​, which a picture handles only informally.

Difficulty

The first idea is to read the sign off formula (13.4): vˉij\bar v_{ij}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 pijp_{ij}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\bar v\equiv0vˉ≡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,\infty][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,∞][0,\infty][0,∞]. That supremum is taken over a nonempty set (the zero flow), so it is never a default value, and it is ∞\infty∞ 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\xi,\eta,\xi+h,\eta+k\ge0ξ,η,ξ+h,η+k≥0 and hk≠0hk\neq0hk=0; hhh and kkk may be negative. The book prints the third term of (13.12) as vˉij(ξ,η+h)\bar v_{ij}(\xi,\eta+h)vˉij​(ξ,η+h). The rectangle the theorem names needs vˉij(ξ,η+k)\bar v_{ij}(\xi,\eta+k)vˉij​(ξ,η+k), which is the formalized quotient; with the printed term the claim already fails for two arcs in series. The constant pijp_{ij}pij​ is a four-way value (indeterminate, +∞+\infty+∞, −∞-\infty−∞, real), so ∞−∞\infty-\infty∞−∞ 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\ge0≥0 or ≤0\le0≤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ˉ\bar vvˉ 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
9 thms1 active userReviewed
CombinatoricsLinear OptimizationOperations Research·Captain: Shuze Chen

Flows in Networks I: The Max Flow Min Cut TheoremTextbook

Motivation

The maximal flow problem asks how much of a commodity can be sent from one node of a network to another when every arc has a capacity. It was posed in the 1950s in the study of rail networks, and its answer, the max flow min cut theorem of L. R. Ford, Jr. and D. R. Fulkerson, became the organizing result of combinatorial optimization: the bottleneck of a network, a cheapest set of arcs separating the two terminals, has exactly the capacity of the best flow. Chapter I of Ford and Fulkerson's Flows in Networks is the canonical exposition. This mission formalizes Chapter I, §§1–9, in the RAND typescript of the book (Report R-375-PR, 1962), whose numbering is used throughout.

Timeline. Ford and Fulkerson proved the theorem in 1956 for undirected networks in an arc–chain formulation ("Maximal flow through a network", Canadian J. Math.); Elias, Feinstein and Shannon gave an independent proof the same year (IRE Trans. Inf. Theory). The book restates the theory for directed networks with node–arc flows, which is the form used in all later applications and the form formalized here.

Setting

A network [N;A][N; \mathcal A][N;A] is a finite set NNN of nodes together with a set A\mathcal AA of ordered pairs (x,y)(x, y)(x,y) of distinct nodes, the arcs. At most one arc leads from xxx to yyy, but both (x,y)(x, y)(x,y) and (y,x)(y, x)(y,x) may be arcs. Each arc has a capacity c(x,y)≥0c(x, y) \ge 0c(x,y)≥0, a real number. For node sets X,YX, YX,Y, (X,Y)(X, Y)(X,Y) is the set of arcs from XXX to YYY, and g(X,Y)g(X, Y)g(X,Y) is the sum of a function ggg over those arcs; Xˉ=N−X\bar X = N - XXˉ=N−X.

Fix two distinct nodes, the source sss and the sink ttt. A flow of value vvv from sss to ttt is a function fff on the arcs with 0≤f(x,y)≤c(x,y)0 \le f(x, y) \le c(x, y)0≤f(x,y)≤c(x,y) such that the net flow out of every node, ∑yf(x,y)−∑yf(y,x)\sum_{y} f(x, y) - \sum_{y} f(y, x)∑y​f(x,y)−∑y​f(y,x), is vvv at sss, −v-v−v at ttt, and 000 elsewhere. A flow is maximal if no flow has larger value. A node set XXX with s∈Xs \in Xs∈X, t∈Xˉt \in \bar Xt∈Xˉ determines the cut (X,Xˉ)(X, \bar X)(X,Xˉ) separating sss and ttt, of capacity c(X,Xˉ)c(X, \bar X)c(X,Xˉ); a minimal cut has least capacity.

A flow augmenting path with respect to fff is a sequence of distinct nodes from sss to ttt in which each consecutive pair is joined either by a forward arc with f<cf < cf<c or by a reverse arc with f>0f > 0f>0. The source set XXX of a flow is the smallest node set containing sss and closed under such steps; the sink set Yˉ\bar YYˉ is the smallest node set containing ttt and closed under such steps taken backwards. With lower bounds ℓ\ellℓ, 0≤ℓ≤c0 \le \ell \le c0≤ℓ≤c, the bounds 0≤f≤c0 \le f \le c0≤f≤c are replaced by ℓ≤f≤c\ell \le f \le cℓ≤f≤c.

Formalization targets

Goal: Theorem 5.1 (p. 19), the max flow min cut theorem

max⁡{v:there is a flow of value v from s to t}  =  min⁡{c(X,Xˉ):s∈X, t∈Xˉ},\max\{v : \text{there is a flow of value } v \text{ from } s \text{ to } t\} \;=\; \min\{c(X, \bar X) : s \in X,\ t \in \bar X\},max{v:there is a flow of value v from s to t}=min{c(X,Xˉ):s∈X, t∈Xˉ},

with both extrema attained. The goal fixes nothing beyond the book's hypotheses: any finite network, any nonnegative real capacities.

Milestones, in attack order

  1. Lemma 4.1 (p. 18): for every flow of value vvv and every cut, v=f(X,Xˉ)−f(Xˉ,X)≤c(X,Xˉ)v = f(X, \bar X) - f(\bar X, X) \le c(X, \bar X)v=f(X,Xˉ)−f(Xˉ,X)≤c(X,Xˉ).
  2. Corollary 5.2 (p. 22): a flow is maximal if and only if there is no flow augmenting path.
  3. Corollary 5.3 (p. 23): a cut is minimal if and only if every maximal flow saturates its forward arcs and leaves its backward arcs flowless.
  4. Corollary 5.4 (p. 23): if XXX and YYY give minimal cuts, so do X∪YX \cup YX∪Y and X∩YX \cap YX∩Y.
  5. Theorem 5.5 (p. 23): the source set of any maximal flow is contained in the source side of every minimal cut.
  6. Theorem 5.6 (p. 25): with strictly positive capacities, the minimal cut is unique if and only if the source-set cut and the sink-set cut have the same arcs.
  7. Theorem 8.1 (p. 34, integrity theorem): integral capacities admit an integral maximal flow.
  8. Theorem 9.2 (p. 39): with lower bounds ℓ\ellℓ, if a feasible fff exists, the minimal value of vvv equals max⁡X(ℓ(X,Xˉ)−c(Xˉ,X))\max_X \big(\ell(X, \bar X) - c(\bar X, X)\big)maxX​(ℓ(X,Xˉ)−c(Xˉ,X)).

Significance

The result itself. The theorem converts an optimization over a continuum of flows into a finite minimum over node sets, and the integrity theorem makes the conversion combinatorial. The later chapters of the book derive from these two results the supply–demand and circulation theorems, the König–Egerváry theorem, Menger's theorem, Dilworth's theorem and Hall's theorem on distinct representatives. Corollary 5.2 is the correctness criterion of every augmenting-path algorithm, and Corollaries 5.3–5.4 and Theorems 5.5–5.6 describe the lattice of minimal cuts that later work on parametric flows and cut enumeration uses.

Formalizing it. The theorem is proved, and several machine-checked versions exist on this platform in other conventions: FordFulkerson56.MinCut.minimal_cut_theorem (the 1956 undirected arc–chain form), AppliedComb.Flows.max_flow_min_cut and AppliedComb.Flows.integral_max_flow (networks without 2-cycles and without arcs into the source or out of the sink), LinearOptimization.max_flow_min_cut (positive extended-real capacities, parallel arcs), VanderbeiLP.Networks.max_flow_min_cut (value measured on a return arc), and the augmenting-path criteria GoldbergTarjan.Generic.max_flow_iff_no_augmenting_path and EdmondsKarp.ShortestPath.isMaxFlow_iff_no_augPath. None states the book's node–arc theorem for directed networks in which antiparallel arcs, arcs into the source and zero capacities are all allowed. This mission states it in exactly the book's conventions, together with the minimal-cut structure theory of §5 and the lower-bound form of §9, which have no platform counterpart.

Difficulty

The inequality "max flow ≤\le≤ min cut" holds for every pair of a flow and a cut and is routine. The difficulty is the reverse inequality together with attainment: the theorem asserts that a maximal flow exists, and this is not free over the reals. The labeling method of §8 need not terminate when capacities are irrational: the book gives a network in §8 where it converges to a flow of value one quarter of the maximum. So an argument that only runs the algorithm covers rational or integral data and leaves the general statement open. Theorems 5.5 and 5.6 add reasoning about inductively defined node sets and about arc sets rather than node sets: two different node sets can determine the same cut, which is why Theorem 5.6 compares arc sets and needs c>0c > 0c>0.

Formalization scope

Nodes are a Fintype with decidable equality; arcs a Finset (N × N) with no loops; capacities and flows functions N→N→RN \to N \to \mathbb RN→N→R, flows required to vanish off A\mathcal AA and to be nonnegative on it. Capacities are finite reals throughout. The source and sink are distinct (s≠ts \neq ts=t), the book's "two distinguished nodes". A cut is given by its node set XXX; where the book compares cuts (Theorem 5.6) the Lean compares the arc sets (X,Xˉ)(X, \bar X)(X,Xˉ). Every maximum and minimum is stated as attained (IsGreatest, IsLeast) or through explicit "maximal flow" and "minimal cut" predicates; no sSup or sInf appears. The source and sink sets are defined as intersections of all node sets closed under the book's rules (a), (b) and (a′), (b′), not through a reachability algorithm.

The statement admits a trivializing formalization that is ruled out here: defining the maximal flow value as the minimal cut capacity, or minimal cuts through flow values, or replacing c≥0c \ge 0c≥0 by c=0c = 0c=0; flows, cuts, maximality and minimality are each defined from the network alone.

Beyond the paper. Two variant items accompany the faithful statements. A strengthening of Corollary 5.3: one flow, not assumed maximal, that saturates (X,Xˉ)(X, \bar X)(X,Xˉ) and is zero on (Xˉ,X)(\bar X, X)(Xˉ,X) already makes the cut minimal and the flow maximal, since by Lemma 4.1 its value equals the cut capacity. A sharpness probe for Theorem 5.6: the statement with c>0c > 0c>0 weakened to c≥0c \ge 0c≥0, which the book's Fig. 5.2 shows to be false (two arcs, capacities 1 and 0, give two minimal cuts while the source-set and sink-set cuts coincide); a disproof is the sought outcome.

A complete development needs finite sums over arc sets and their splitting along N=X∪XˉN = X \cup \bar XN=X∪Xˉ (the identities (3.3)–(3.4)), compactness of the flow polytope or an augmenting-path argument, and an inductive closure argument for the source set. The network, flow and cut definitions are reusable by the rest of this series (circulations, dynamic flows, flow functions) and by any formalization of matching or connectivity theorems through flows. Proofs by either route, compactness or the labeling method with integrality, are 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
  • 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
  • P. Elias, A. Feinstein and C. E. Shannon, A note on the maximum flow through a network, IRE Transactions on Information Theory 2 (1956), 117–119. https://doi.org/10.1109/TIT.1956.1056816
11 thms1 active userReviewed
PreviousPage 8 of 14Next

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me