Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in

Get started

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

Graph Theory

99 missions · 48 completed

Missions

Open51Completed48All99
🏆Completed
CombinatoricsLinear OptimizationOperations Research+1·Captain: mikedeng1

Maximum Matching and a Polyhedron With 0,1-Vertices: The Vertices of the Matching Polyhedron Are Exactly the Matching VectorsResearch Paper

Motivation

A matching in a graph is a set of edges no two of which share a node. Given a real weight on every edge, the maximum-weight matching problem asks for a matching of largest total weight. It is one of the basic problems of combinatorial optimization: assignment, pairing and scheduling problems reduce to it, and it is the standard example of a combinatorial problem that is solvable in polynomial time although it is not obviously a linear program.

For bipartite graphs the problem is a linear program in disguise: the polytope cut out by nonnegativity and the node-degree inequalities has only 0–1 vertices (the Birkhoff–von Neumann theorem in the square case; Mathlib has it as extremePoints_doublyStochastic). For general graphs this fails already on a triangle, where the vector with every coordinate 1/21/21/2 satisfies all degree inequalities but is not a combination of matchings. Edmonds' 1965 paper (DOI 10.6028/jres.069b.013) adds one family of inequalities, one for each odd set of nodes, and proves that the resulting polyhedron has exactly the matching vectors as its vertices. The companion paper Paths, trees, and flowers gives the cardinality algorithm on which the weighted algorithm of §7 is built.

Timeline:

  • 1931: König and Egerváry prove the min–max theorems for bipartite matching; 1946: Birkhoff shows that the doubly stochastic matrices are the convex hull of the permutation matrices (the bipartite perfect-matching polytope).
  • 1947: Tutte characterizes graphs with a perfect matching.
  • 1965: Edmonds, Paths, trees, and flowers: the blossom algorithm for maximum-cardinality matching.
  • 1965: Edmonds, this paper: Theorem (P) (the matching polyhedron) and Theorem (M) (blossom-shrinking optimality certificates), with a weighted matching algorithm.

Setting

Let GGG be a finite graph with node set VVV and edge set EEE; each edge meets two different nodes, its ends. Real variables xex_exe​ correspond to the edges e∈Ee\in Ee∈E. The polyhedron C⊆REC\subseteq\mathbb R^EC⊆RE is the set of vectors xxx satisfying

  1. xe≥0x_e\ge 0xe​≥0 for every edge eee;
  2. ∑e meets vxe≤1\sum_{e \text{ meets } v} x_e\le 1∑e meets v​xe​≤1 for every node vvv;
  3. ∑e has both ends in Sxe≤r\sum_{e \text{ has both ends in } S} x_e\le r∑e has both ends in S​xe​≤r for every set SSS of 2r+12r+12r+1 nodes, rrr a strictly positive integer.

The matching vectors PPP are the vectors with every component 000 or 111 that satisfy (2); they are the incidence vectors of matchings. For edge weights c∈REc\in\mathbb R^Ec∈RE, the linear form (4) is W(c,x)=∑ecexeW(c,x)=\sum_e c_e x_eW(c,x)=∑e​ce​xe​.

The dual program has a variable yvy_vyv​ for each node and zSz_SzS​ for each odd set SSS (∣S∣=2rS+1|S|=2r_S+1∣S∣=2rS​+1, rS≥1r_S\ge1rS​≥1). Its objective is (5) U(y,z)=∑vyv+∑SrSzSU(y,z)=\sum_v y_v+\sum_S r_S z_SU(y,z)=∑v​yv​+∑S​rS​zS​, subject to (6) y,z≥0y,z\ge0y,z≥0 and (7) yv1+yv2+∑S∋v1,v2zS≥cey_{v_1}+y_{v_2}+\sum_{S\ni v_1,v_2}z_S\ge c_eyv1​​+yv2​​+∑S∋v1​,v2​​zS​≥ce​ for every edge eee with ends v1,v2v_1,v_2v1​,v2​. For a matching MMM, conditions (8)–(10) are the complementary slackness conditions: yv=0y_v=0yv​=0 at nodes not covered by MMM, equality in (7) on MMM, and every odd set with zS>0z_S>0zS​>0 contains exactly rSr_SrS​ edges of MMM.

A blossom sequence {Gi}i=0n\{G_i\}_{i=0}^n{Gi​}i=0n​ (Theorem (M)) starts from G0=GG_0=GG0​=G with matching M0=MM_0=MM0​=M and repeatedly shrinks an odd circuit BiB_iBi​ (a blossom, 2ai+12a_i+12ai​+1 edges of which aia_iai​ are matched) to a single node, carrying node weights w(vi)w(v^i)w(vi) and edge weights w(ei)w(e^i)w(ei) that obey conditions (a)–(k) of p. 127.

In the Lean development these are Graph, IsMatching, incidence, matchingPolyhedron (CCC), matchingVectors (PPP), W, U, DualFeasible ((6)–(7)), CompSlack ((8)–(10)) and BlossomSequence, all in the namespace EdmondsMatching65.Polyhedron.

Formalization targets

Goal: Theorem (P)

ext⁡(C)=P.\operatorname{ext}(C)=P.ext(C)=P.

The vertices (extreme points) of CCC are exactly the matching vectors of GGG. Hence the maximum weight of a matching equals max⁡{W(c,x):x∈C}\max\{W(c,x):x\in C\}max{W(c,x):x∈C} for every ccc.

Milestones

  1. P⊆ext⁡(C)P\subseteq\operatorname{ext}(C)P⊆ext(C) (§2, p. 126).
  2. If for every ccc some 0–1 point of CCC maximizes W(c,⋅)W(c,\cdot)W(c,⋅) over CCC, then ext⁡(C)=P\operatorname{ext}(C)=Pext(C)=P (§2, p. 126).
  3. Weak duality: W(c,x)≤U(y,z)W(c,x)\le U(y,z)W(c,x)≤U(y,z) for x∈Cx\in Cx∈C and ⟨y,z⟩\langle y,z\rangle⟨y,z⟩ satisfying (6)–(7) (§3, p. 126).
  4. If MMM is a matching and ⟨y,z⟩\langle y,z\rangle⟨y,z⟩ satisfies (6)–(10), then W(c,χM)=U(y,z)W(c,\chi^M)=U(y,z)W(c,χM)=U(y,z) (§3, p. 127).
  5. A blossom sequence for MMM yields ⟨y,z⟩\langle y,z\rangle⟨y,z⟩ satisfying (6)–(10) (§5, pp. 127–128).
  6. For every ccc some maximum matching has a blossom sequence (§6, p. 128).
  7. Theorem (M): a matching is maximum if and only if a blossom sequence for it exists (§4, p. 127).
  8. For every ccc there are a matching MMM and ⟨y,z⟩\langle y,z\rangle⟨y,z⟩ satisfying (6)–(10) (§3, p. 127).

Significance

The result. Theorem (P) turns maximum-weight matching in general graphs into a linear program over an explicitly described polyhedron, and Theorem (M) with the §5 translation gives a short certificate of optimality for every maximum matching. Together they established the template of polyhedral combinatorics: describe the convex hull of the combinatorial objects by inequalities, and prove the description through linear programming duality and an algorithm. The matching polytope underlies the analysis of the weighted blossom algorithm, separation over odd-set inequalities (Padberg–Rao), and many later integrality results; Edmonds' own §8 states the extension to degree-constrained subgraphs.

Formalizing it. The theorem has been proved since 1965 and appears in every text on combinatorial optimization; this mission asks for a machine-checked proof of the polytope statement for general finite graphs, including parallel edges, together with the duality certificate and the blossom-sequence characterization. The prove2me platform has a proved form of Edmonds' perfect matching polytope theorem on complete graphs in convex-decomposition form (MetricTSP.pm_polytope_decomposition), a different polytope with a different conclusion; nothing states Theorem (P) or Theorem (M).

Difficulty

The inclusion P⊆ext⁡(C)P\subseteq\operatorname{ext}(C)P⊆ext(C) and weak duality are routine. The difficulty is the reverse inclusion: showing that no fractional point of CCC is a vertex. The bipartite argument (a fractional point has a cycle of fractional edges along which it can be perturbed both ways) breaks on odd cycles: perturbing along an odd circuit violates a degree inequality, and the odd-set inequalities that cut off the half-integral points are exponentially many and overlap. The paper's route needs, for every weight vector, an optimal matching together with a dual solution satisfying (6)–(10), and the existence of that certificate is the substance of the weighted matching algorithm: the blossom sequence of Theorem (M) must be constructed, and the translation (11)–(16) from node and edge weights of the contracted graphs to ⟨y,z⟩\langle y,z\rangle⟨y,z⟩ must be verified through the whole shrinking history.

Formalization scope

  • The graph is a finite node type V, a finite edge type E and an end map ends : E → Sym2 V with no loops. Parallel edges are allowed: the contracted graphs of Theorem (M) have them, and Theorem (P) holds for multigraphs; simple graphs are the case of an injective end map.
  • Vectors are E → ℝ, one coordinate per edge. Vertices are Mathlib's Set.extremePoints ℝ. Odd sets carry an explicit r : ℕ with 1 ≤ r and |S| = 2r + 1; even sets and singletons carry no inequality.
  • Edge weights are arbitrary reals; matchings need not be perfect and may be empty. No connectivity, no parity of |V|.
  • The dual variable z is a function on all node sets of which only odd sets are read.
  • A contracted graph Gᵢ is a partition of V into blocks; an edge of G is an edge of Gᵢ when its ends lie in different blocks. Each Mᵢ must be a matching of Gᵢ, and all of (a)–(k) appear as fields of BlossomSequence; a sequence missing any of them would make milestone 6 trivial or milestone 5 false.
  • A trivializing formalization is ruled out: coordinates indexed by node pairs (Sym2 V → ℝ) leave non-edge coordinates free and give a polyhedron with no extreme points, and the goal is stated as equality of extreme points, not as a convex-hull identity or as the existence of a dual certificate.
  • Needed infrastructure: extreme points of polyhedra as unique maximizers of linear forms, finite LP weak duality over these index sets, and the weighted blossom algorithm (or another proof of milestone 8). The polyhedral lemmas are reusable for other integrality results; contributions on any milestone are welcome.

Selected references

  • J. Edmonds, Maximum Matching and a Polyhedron With 0,1-Vertices, J. Res. Nat. Bur. Standards Sect. B 69B (1965), 125–130. https://doi.org/10.6028/jres.069b.013
  • J. Edmonds, Paths, Trees, and Flowers, Canad. J. Math. 17 (1965), 449–467. https://doi.org/10.4153/CJM-1965-045-4
  • 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
  • M. W. Padberg, M. R. Rao, Odd Minimum Cut-Sets and b-Matchings, Math. Oper. Res. 7 (1982), 67–80. https://doi.org/10.1287/moor.7.1.67
  • A. Schrijver, Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003, Chapter 25.
13 thms2 active usersReviewed
🏆Completed
Dynamic ProgrammingOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Algorithm 97: Shortest Path: Floyd's Procedure Computes the Shortest Path Length Between Every Pair of PointsResearch Paper

Motivation

Routing and network optimization often require the length of the best route between every ordered pair of points. Robert W. Floyd's Algorithm 97 gives a compact procedure for this task: it receives a matrix of direct-link lengths and changes the matrix in place until each entry is meant to represent a shortest-path length. The procedure is a small historical source for an algorithm now used as a standard all-pairs shortest-path routine. Its published text consists of the ALGOL code and a short explanatory comment, without a correctness proof.

The same page contains Floyd's Algorithm 96, a Boolean procedure for ancestor relations. Its output records whether a chain of parent links connects two individuals. Floyd cites Warshall's theorem on Boolean matrices in both comments. The Boolean procedure and the length procedure use the same order of three loops; together they expose the distinction between discovering that a route exists and determining its best length. This mission formalizes both claims from Floyd's published page, with the shortest-path statement as its goal.

Setting

A directed network has nnn numbered points. Its length matrix www assigns a real number w(i,j)w(i,j)w(i,j) to a direct link from iii to jjj. The value ∞\infty∞ means that the direct link is absent. Links may have negative lengths, and the initial diagonal entries w(i,i)w(i,i)w(i,i) are unrestricted. The paper's matrix index range is 1,…,n1,\ldots,n1,…,n; the Lean development uses 0,…,n−10,\ldots,n-10,…,n−1 in the same order.

A path from iii to jjj is a sequence p0=i,p1,…,pL=jp_0=i,p_1,\ldots,p_L=jp0​=i,p1​,…,pL​=j with L≥1L\ge1L≥1 links. The points p0,…,pL−1p_0,\ldots,p_{L-1}p0​,…,pL−1​ are distinct, as are p1,…,pLp_1,\ldots,p_Lp1​,…,pL​. Thus a path between different points has no repeated point, while a path from a point to itself is a simple closed path with at least one link. Its length is ℓw(p)=∑t=0L−1w(pt,pt+1)\ell_w(p)=\sum_{t=0}^{L-1}w(p_t,p_{t+1})ℓw​(p)=∑t=0L−1​w(pt​,pt+1​); a missing link gives length ∞\infty∞. Write dw(i,j)d_w(i,j)dw​(i,j) for the minimum length among these paths, taking dw(i,j)=∞d_w(i,j)=\inftydw​(i,j)=∞ when there is no finite-length path. Since L≤nL\le nL≤n, this is a minimum over a finite family.

The no-negative-cycle condition says that every closed path has nonnegative length. Individual links can still be negative. This condition matters because, in a network with a negative cycle, repeated travel around that cycle can keep reducing a walk's length. Floyd's comment does not state the condition, although the claimed output needs it.

Algorithm 97 scans a pivot iii, then row jjj, then column kkk, each in increasing order. It enters the column scan when the current m(j,i)m(j,i)m(j,i) is finite; if the current m(i,k)m(i,k)m(i,k) is also finite, it computes s=m(j,i)+m(i,k)s=m(j,i)+m(i,k)s=m(j,i)+m(i,k) and replaces m(j,k)m(j,k)m(j,k) when s<m(j,k)s<m(j,k)s<m(j,k). Every replacement affects subsequent reads of the same matrix. Algorithm 96 makes the corresponding Boolean update: when m(j,i)m(j,i)m(j,i) and m(i,k)m(i,k)m(i,k) are true, it sets m(j,k)m(j,k)m(j,k) to true.

Formalization targets

Reachability and missing paths

For Algorithm 96, let b+b^+b+ be the transitive closure of the initial parent relation bbb, using chains of one or more links. Its comment asserts

ancestor⁡(b)(i,j)=true⟺ib+j.\operatorname{ancestor}(b)(i,j)=\mathrm{true}\quad\Longleftrightarrow\quad i\mathrel{b^+}j.ancestor(b)(i,j)=true⟺ib+j.

For Algorithm 97, the separate unreachable-pair sentence asserts that, whenever no finite-length path runs from iii to jjj,

shortestPath⁡(w)(i,j)=∞.\operatorname{shortestPath}(w)(i,j)=\infty.shortestPath(w)(i,j)=∞.

This second target needs no condition on cycle lengths. Both statements are milestones because they are claims printed in the two algorithm comments, rather than lemmas invented for the formalization.

Complete shortest-path matrix

The goal is the whole output claim of Algorithm 97. For every nnn, every matrix www with no negative cycle, and all points i,ji,ji,j,

shortestPath⁡(w)(i,j)=dw(i,j).\operatorname{shortestPath}(w)(i,j)=d_w(i,j).shortestPath(w)(i,j)=dw​(i,j).

The equality includes paths with negative individual links, diagonal entries, and unreachable pairs. It fixes the entire final matrix, rather than only an upper or lower bound.

Significance

The goal connects an explicit in-place matrix program with a route-based definition of shortest length. Once established, it permits later formal developments to use the procedure as a justified all-pairs distance computation, including networks whose individual links have negative lengths. The Boolean milestone similarly identifies the final state of an ancestor procedure with the transitive closure of the initial relation. Neither assertion requires treating an implementation's output as the definition of the mathematical answer.

Floyd's 1962 paper states these outcomes but supplies no proof. This mission supplies precise Lean statements and definitions for a proof to target. A completed machine-checked development would establish the published procedure's correctness under the missing necessary premise. The statements in this proposal are currently open theorem targets; compiling their declarations checks syntax and types, not their proofs. Supporting work on finite paths, cycle decompositions, and matrix updates can be reused in other finite directed-network arguments.

Difficulty

The array is changed in place. During a pivot's sweep, an entry used in a later update may already differ from its value at the start of that pivot. The test on m(j,i)m(j,i)m(j,i) is evaluated before the column loop, but the same entry is read again within every column iteration. A proof based only on a simultaneous, out-of-place matrix recurrence does not directly describe these reads. Negative individual links also prevent arguments that rely on every update decreasing only through a nonnegative segment. The no-negative-cycle condition must control what happens when a proposed route returns to a point already visited.

Formalization scope

Points are Fin n, including the empty network at n=0n=0n=0 and the single-point network at n=1n=1n=1. Lengths are WithTop ℝ, where ⊤ represents the paper's ₁₀10 sentinel as mathematical infinity. The paper's literal sentinel is 101010^{10}1010; a finite bound cannot represent arbitrarily long paths, so this mission uses infinity in its goal. The ALGOL real operations are represented by exact real arithmetic. The printed procedure's loop order, strict comparison, two finiteness guards, and immediate assignments are part of the Lean definition.

The initial diagonal is not normalized. Therefore a path from iii to itself has at least one link, and the final diagonal denotes a shortest closed-path length when one exists. The Boolean comment's “is true if” is read as an equivalence, supported by its following explanation of the final matrix; chains have one or more links, matching Lean's Relation.TransGen.

The sole added hypothesis in the main goal is absence of negative cycles. It is necessary: with one point and self-link length −1-1−1, the procedure changes that entry to −2-2−2, although the shortest simple closed path has length −1-1−1. No nonnegative-link or zero-diagonal premise is imposed. The unreachable-pair milestone omits the cycle hypothesis because its claim holds without it. The benchmark dwd_wdw​ is a finite minimum of summed link lengths, defined independently of Algorithm 97; defining it from the procedure or its recurrence would empty the goal of its intended content. Contributions proving the printed algorithms' statements, or establishing reusable finite-path and update results needed for them, fit this scope.

Selected references

  • Robert W. Floyd, Algorithm 97: Shortest Path, Communications of the ACM 5(6), 1962, p. 345. DOI 10.1145/367766.368168.
  • Robert W. Floyd, Algorithm 96: Ancestor, Communications of the ACM 5(6), 1962, pp. 344–345, in the same published Algorithms department scan.
6 thms2 active usersReviewed
🏆Completed
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

Odd Minimum Cut-Sets and b-Matchings 2: A Capacitated b-Matching Blossom Inequality Is Violated iff G(x, d) Has an Odd Cut of Capacity Less Than OneResearch Paper

Motivation

A b-matching with upper bounds in a graph G=(V,E)G=(V,E)G=(V,E) assigns a nonnegative integer xe≤dex_e\le d_exe​≤de​ to every edge so that the edges at each node iii carry at most bib_ibi​ in total. Maximizing a linear objective over such assignments is an integer program that contains ordinary matching (b≡1b\equiv 1b≡1, d≡1d\equiv 1d≡1) and appears in assignment, transportation and scheduling models with capacities on both nodes and arcs. Edmonds and Johnson showed that the integer hull of this system is described by adding the blossom (matching) inequalities to the linear relaxation (Edmonds–Johnson 1970; cited in the paper as [8], [13]). There are exponentially many blossom inequalities, so a cutting-plane method needs a separation procedure: given a fractional point xˉ\bar xxˉ, find a violated blossom inequality or certify that none exists.

M. W. Padberg and M. R. Rao, Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7 (1982), gave this procedure. Section 1 of the paper computes a minimum-capacity cut with an odd number of odd-labelled nodes in polynomial time; Sections 2 and 3 reduce blossom separation to that computation. This mission formalizes Section 3, the case with upper bounds ddd. The companion mission Odd Minimum Cut-Sets and b-Matchings 1 formalizes Section 1.

Timeline: Edmonds (1965) describes the perfect matching polytope; Edmonds and Johnson (1970) extend the description to capacitated bbb-matching; Gomory and Hu (1961) give the cut-tree that Section 1 of Padberg–Rao relies on; Padberg and Rao (1982) reduce separation to odd minimum cuts. Later work (Letchford, Reinelt and Theis, 2008) shortened the resulting algorithms; the reduction itself is the one stated here.

Setting

Let G=(V,E)G=(V,E)G=(V,E) be a finite simple undirected graph, b∈Z>0Vb\in\mathbb Z_{>0}^Vb∈Z>0V​ and d∈Z>0Ed\in\mathbb Z_{>0}^Ed∈Z>0E​. The system is

Ax≤b,x≤d,x≥0,(3.1)Ax\le b,\qquad x\le d,\qquad x\ge 0, \tag{3.1}Ax≤b,x≤d,x≥0,(3.1)

with AAA the node–edge incidence matrix. For W⊆VW\subseteq VW⊆V write E(W)E(W)E(W) for the edges with both ends in WWW and (W:V−W)(W:V-W)(W:V−W) for the cut-set of WWW, the edges with exactly one end in WWW. For T⊆(W:V−W)T\subseteq (W:V-W)T⊆(W:V−W) with b(W)+d(T)=∑i∈Wbi+∑e∈Tdeb(W)+d(T)=\sum_{i\in W}b_i+\sum_{e\in T}d_eb(W)+d(T)=∑i∈W​bi​+∑e∈T​de​ odd, the blossom inequality is

x(W)+x(T)=∑e∈E(W)xe+∑e∈Txe≤12(b(W)+d(T)−1).(3.3)x(W)+x(T)=\sum_{e\in E(W)}x_e+\sum_{e\in T}x_e\le \tfrac12\bigl(b(W)+d(T)-1\bigr). \tag{3.3}x(W)+x(T)=e∈E(W)∑​xe​+e∈T∑​xe​≤21​(b(W)+d(T)−1).(3.3)

Let xˉ\bar xxˉ be a real point feasible for (3.1) and sˉ=b−Axˉ\bar s=b-A\bar xsˉ=b−Axˉ its node slacks. Let E(xˉ)E(\bar x)E(xˉ) be the edges with xˉe>0\bar x_e>0xˉe​>0. The labelled weighted graph G(xˉ,d)G(\bar x,d)G(xˉ,d) has nodes VVV, a special node SSS, and one new node iei_eie​ for each e∈E(xˉ)e\in E(\bar x)e∈E(xˉ). For each such edge e=[i,j]e=[i,j]e=[i,j], where iii is the end the construction scans first, it has an edge [i,ie][i,i_e][i,ie​] of weight de−xˉed_e-\bar x_ede​−xˉe​ and an edge [ie,j][i_e,j][ie​,j] of weight xˉe\bar x_exˉe​. Each i∈Vi\in Vi∈V is joined to SSS with weight sˉi\bar s_isˉi​. There are no other edges. A node iei_eie​ is odd iff ded_ede​ is odd; SSS is odd iff b(V)b(V)b(V) is odd; a node i∈Vi\in Vi∈V is odd iff bib_ibi​ plus the ded_ede​ of the subdivided edges scanned from iii is odd. A node set UUU is odd when it contains an odd number of odd nodes, and yˉ(U:V~−U)\bar y(U:\tilde V-U)yˉ​(U:V~−U) denotes the total weight of the edges leaving UUU (its cut capacity).

Formalization targets

Goal: Theorem 3.1

For every feasible xˉ\bar xxˉ and every scan order,

∃ W⊆V, T⊆(W:V−W): b(W)+d(T) odd, xˉ(W)+xˉ(T)>12(b(W)+d(T)−1)\exists\,W\subseteq V,\ T\subseteq (W:V-W):\ b(W)+d(T)\text{ odd},\ \bar x(W)+\bar x(T)>\tfrac12\bigl(b(W)+d(T)-1\bigr)∃W⊆V, T⊆(W:V−W): b(W)+d(T) odd, xˉ(W)+xˉ(T)>21​(b(W)+d(T)−1) ⟺∃ U⊆V~ odd: yˉ(U:V~−U)<1.\Longleftrightarrow\quad \exists\,U\subseteq \tilde V \text{ odd}:\ \bar y(U:\tilde V-U)<1 .⟺∃U⊆V~ odd: yˉ​(U:V~−U)<1.

The paper's closing sentence, that WWW and TTT can be obtained constructively from the proof of Lemma 3.2, describes the proof and is not part of the formal statement.

Milestones

  1. Eq. (3.6): 2x(W)+x(W:V−W)+x(T)+s(W)+t(T)=b(W)+d(T)2x(W)+x(W:V-W)+x(T)+s(W)+t(T)=b(W)+d(T)2x(W)+x(W:V−W)+x(T)+s(W)+t(T)=b(W)+d(T) for T⊆(W:V−W)T\subseteq(W:V-W)T⊆(W:V−W), with t=d−xt=d-xt=d−x.
  2. Eq. (3.7): xˉ\bar xxˉ violates (3.3) for (W,T)(W,T)(W,T) iff xˉ(W:V−W)+d(T)−2xˉ(T)+sˉ(W)<1\bar x(W:V-W)+d(T)-2\bar x(T)+\bar s(W)<1xˉ(W:V−W)+d(T)−2xˉ(T)+sˉ(W)<1.
  3. Lemma 3.1: if T⊆(W:V−W)∩E(xˉ)T\subseteq (W:V-W)\cap E(\bar x)T⊆(W:V−W)∩E(xˉ) and b(W)+d(T)b(W)+d(T)b(W)+d(T) is odd, some odd UUU with S∉US\notin US∈/U has yˉ(U:V~−U)\bar y(U:\tilde V-U)yˉ​(U:V~−U) equal to the left side of (3.7) (Eq. (3.8)).
  4. Lemma 3.2: every odd UUU with S∉US\notin US∈/U and capacity <1<1<1 arises this way from some (W,T)(W,T)(W,T) with b(W)+d(T)b(W)+d(T)b(W)+d(T) odd.

Significance

Theorem 3.1 is what makes the blossom inequalities of capacitated bbb-matching usable in a linear-programming based cutting-plane method: combined with the odd minimum cut algorithm of Section 1, it separates them in polynomial time. By the equivalence of separation and optimization, it also yields a polynomial-time algorithm for capacitated bbb-matching through the ellipsoid method. The paper notes the further consequence that every odd cut-set of capacity less than one, not only a minimum one, gives a violated inequality.

The results are proved in the 1982 paper; none of them has a machine-checked proof that this mission is aware of. What the mission adds is a formal statement of the graph G(xˉ,d)G(\bar x,d)G(xˉ,d) and of the reduction, and a checked proof of it. The definitions of the capacitated bbb-matching system, its blossom inequalities and the subdivided graph are reusable for later work on matching polytopes and on the uncapacitated case of Section 2.

Difficulty

The identities (3.6) and (3.7) are bookkeeping over incidences. The substance is the correspondence between node sets WWW with complemented edge sets TTT and odd node sets UUU of G(xˉ,d)G(\bar x,d)G(xˉ,d). In one direction the right UUU must pick, for every cut edge, the side of iei_eie​ that makes the edge contribute xˉe\bar x_exˉe​ or de−xˉed_e-\bar x_ede​−xˉe​ as (3.7) requires, and its parity must be computed through the orientation-dependent labels. In the other direction an arbitrary odd cut of capacity below one must be shown to have this shape; this uses de≥1d_e\ge 1de​≥1 to exclude every other position of a new node iei_eie​, and it uses the evenness of the total label to pass from an odd set containing SSS to its complement. A point xˉ\bar xxˉ whose blossom violation uses an edge e∈Te\in Te∈T with xˉe=0\bar x_e=0xˉe​=0 has no new node for eee. Such a TTT has to be ruled out, and the argument uses the capacity bound. It is not an assumption of the theorem.

Formalization scope

The graph is a Mathlib SimpleGraph V on a finite type with decidable adjacency; edges are elements of G.edgeFinset : Finset (Sym2 V). The data are b : V → ℕ and d : Sym2 V → ℕ, positive on nodes and on edges, and a real point x : Sym2 V → ℝ. Feasibility means the linear relaxation of (3.1); integrality of xˉ\bar xxˉ is not assumed. All halves and differences are computed in ℝ. When W=VW=VW=V the cut-set is empty, so the paper's convention "TTT is empty" holds automatically.

G(xˉ,d)G(\bar x,d)G(xˉ,d) is fixed by definitions from (G,b,d,xˉ)(G,b,d,\bar x)(G,b,d,xˉ) and an orientation tail choosing the end of each edge scanned first; every theorem quantifies over the orientation. The node type is Option V ⊕ {e // e ∈ E(x̄)}, with none the special node SSS. Weights are a symmetric function on nodes with 000 meaning "no edge". The labels are given in closed form. The paper assigns them by a sequential scan that flips the parity of the scanned end by ded_ede​, and addition mod 2 does not depend on the order of the scan. "The cut capacity of an odd minimum cut-set is less than one" is stated as "some odd cut has capacity less than one"; the two agree, and the formulation avoids a minimum over a possibly empty family.

Two trivializing formalizations are ruled out: G(xˉ,d)G(\bar x,d)G(xˉ,d) is constructed, not an arbitrary labelled graph assumed to satisfy (3.8); and no infimum over odd cuts is taken, since a real sInf of an empty family is 000 and would make the right side true when no odd cut exists.

Contributions welcome: proofs of the milestones, lemmas on cut capacities of symmetric weight functions on finite types, and parity bookkeeping for labelled node sets.

Selected references

  • M. W. Padberg, M. R. Rao, Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7(1), 67–80, 1982. https://doi.org/10.1287/moor.7.1.67
  • J. Edmonds, E. L. Johnson, Matching: a well-solved class of integer linear programs, in Combinatorial Structures and Their Applications, Gordon and Breach, 89–92, 1970; reprinted in Combinatorial Optimization — Eureka, You Shrink!, LNCS 2570, 27–30, 2003. https://doi.org/10.1007/3-540-36478-1_3
  • R. E. Gomory, T. C. Hu, Multi-terminal network flows, Journal of the SIAM 9(4), 551–570, 1961. https://doi.org/10.1137/0109047
  • 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
  • A. N. Letchford, G. Reinelt, D. O. Theis, Odd minimum cut sets and b-matchings revisited, SIAM Journal on Discrete Mathematics 22(4), 1480–1487, 2008. https://doi.org/10.1137/060664793
7 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations Research·Captain: mikedeng1

Odd Minimum Cut-Sets and b-Matchings 1: A Minimum-Weight Odd-Splitting Edge of the Gomory–Hu Cut-Tree Defines an Odd Minimum Cut-SetResearch Paper

Motivation

Edmonds showed that the convex hull of the matchings of a graph is described by the degree constraints together with the blossom inequalities, one for every odd set of nodes (Edmonds 1965). There are exponentially many of them, so any cutting-plane method for matching and b-matching problems must answer a separation question: given a fractional point, find a violated blossom inequality or certify that none exists. Padberg and Rao (1982) reduced this question to a purely graph-theoretic one, the odd minimum cut-set problem, and solved that problem in polynomial time with a single Gomory–Hu computation. The same subroutine underlies separation for many other odd-set constraints (for example the 2-matching and comb-type constraints of the travelling salesman polytope), and later work refined its running time (Letchford, Reinelt and Theis 2008).

This mission covers Section 1 of the paper: the combinatorial theorem about odd cuts, independent of matchings. A companion mission covers the reduction from capacitated b-matching separation (Section 3).

Setting

Let G=(V,E)G = (V, E)G=(V,E) be a finite undirected graph without loops and multiple edges, with edge weights ce≥0c_e \ge 0ce​≥0. Write cijc_{ij}cij​ for the weight of the edge [i,j][i, j][i,j], with cij=cjic_{ij} = c_{ji}cij​=cji​, and cij=0c_{ij} = 0cij​=0 if there is no such edge. For W⊆VW \subseteq VW⊆V the cut-set (W:V−W)(W : V - W)(W:V−W) is the set of edges with exactly one end in WWW, and its capacity is

c(W:V−W)=∑i∈W∑j∈V−Wcij.c(W : V - W) = \sum_{i \in W} \sum_{j \in V - W} c_{ij}.c(W:V−W)=i∈W∑​j∈V−W∑​cij​.

A nonempty set V1⊆VV_1 \subseteq VV1​⊆V of nodes is labelled odd, the rest even. For U⊆VU \subseteq VU⊆V the label λ(U)\lambda(U)λ(U) is odd if ∣U∩V1∣|U \cap V_1|∣U∩V1​∣ is odd, and even otherwise; λ(∅)\lambda(\emptyset)λ(∅) is even. The paper assumes throughout that λ(V)\lambda(V)λ(V) is even, i.e. ∣V1∣|V_1|∣V1​∣ is even. A cut-set (U:V−U)(U : V - U)(U:V−U) is odd if λ(U)\lambda(U)λ(U) is odd, and an odd minimum cut-set is a solution XXX of

c(X:V−X)=min⁡{c(U:V−U):U⊆V, λ(U) odd}.(1.1)c(X : V - X) = \min\{ c(U : V - U) : U \subseteq V,\ \lambda(U) \text{ odd} \}. \qquad (1.1)c(X:V−X)=min{c(U:V−U):U⊆V, λ(U) odd}.(1.1)

A cut-set (M:V−M)(M : V - M)(M:V−M) is a minimum cut-set with respect to all pairs of odd nodes if it separates two odd nodes and no cut-set separating two odd nodes has smaller capacity.

A cut-tree GT=(N,F)G_T = (N, F)GT​=(N,F) for the odd nodes is the output of the Gomory–Hu algorithm applied to all pairs of odd nodes (Gomory and Hu 1961). Each tree node contains exactly one odd node and possibly some even ones, so NNN is identified with V1V_1V1​, and each node vvv of GGG belongs to one tree node π(v)\pi(v)π(v). Removing a tree edge f=[r,s]f = [r, s]f=[r,s] splits GTG_TGT​ into two subtrees; the nodes of GGG in the tree nodes of the rrr-side subtree form a set MMM, and the weight of fff is df=c(M:V−M)d_f = c(M : V - M)df​=c(M:V−M). The defining property (Hu, Theorem 9.2) is that for every tree edge f=[r,s]f = [r, s]f=[r,s] the cut-set (M:V−M)(M : V - M)(M:V−M) is a minimum cut-set of GGG separating rrr and sss. The cardinality of a subtree is its number of tree nodes.

Formalization targets

Goal: Theorem 1.1 (p. 70)

For every cut-tree GTG_TGT​ of GGG for the odd nodes:

  1. some edge of GTG_TGT​ decomposes it into two subtrees of odd cardinality; and
  2. if f∗=[r,s]f^* = [r, s]f∗=[r,s] is such an edge of minimum weight among all such edges, and MMM is the rrr-side shore of f∗f^*f∗, then
c(M:V−M)=min⁡{c(U:V−U):U⊆V, λ(U) odd}.c(M : V - M) = \min\{ c(U : V - U) : U \subseteq V,\ \lambda(U) \text{ odd} \}.c(M:V−M)=min{c(U:V−U):U⊆V, λ(U) odd}.

Because ∣N∣=∣V1∣|N| = |V_1|∣N∣=∣V1​∣ is even, the two subtrees have the same parity, so the condition is checked on one side.

Milestones

  • Lemma 1.1 (p. 68). If (M:V−M)(M : V - M)(M:V−M) is a minimum cut-set with respect to all pairs of odd nodes, there is an odd minimum cut-set (X:V−X)(X : V - X)(X:V−X) with X⊆MX \subseteq MX⊆M or X⊆V−MX \subseteq V - MX⊆V−M.
  • Section 1, p. 70. If f∗f^*f∗ has minimum weight among all edges of GTG_TGT​, its shore MMM gives a minimum cut-set with respect to all pairs of odd nodes.

Significance

Theorem 1.1 turns problem (1.1), a minimization over exponentially many odd sets, into ∣V1∣−1|V_1| - 1∣V1​∣−1 maximum-flow computations followed by a scan of the tree edges. Combined with Section 3 of the paper, this gives a polynomial separation algorithm for the blossom inequalities of b-matching polytopes, and hence, by the equivalence of separation and optimization, a polynomial-time route to weighted b-matching through linear programming. The odd-cut routine is also used for separating the odd-set constraints of other polytopes.

The theorem has been proved since 1982 and is textbook material. What this mission adds is a machine-checked proof on a precise encoding of cut-trees. As far as the platform's corpus shows, neither the Gomory–Hu cut-tree property nor any odd-cut theorem has been formalized in Lean; Mathlib has trees and reachability in simple graphs but no cut-tree theory.

Difficulty

The obvious argument fails at the minimum. Every tree-edge shore separates two odd nodes, so a minimum-weight odd-splitting edge certainly yields an odd cut, but showing that no odd set UUU, however it cuts across the tree nodes, has smaller capacity requires relating an arbitrary odd UUU to a tree edge whose shore is also odd and whose endpoints UUU separates. The cut-tree only certifies minimality for cuts separating the two ends of a tree edge; an odd set UUU may split many tree nodes and cross many shores at once, and nothing in the cut-tree property speaks about parity. Parity bookkeeping between odd labels in GGG and odd cardinality of subtrees is the other place where care is needed: the two notions agree only because each tree node holds exactly one odd node.

Formalization scope

The graph is a weight function c : V → V → ℝ on a Fintype V, with hypotheses that it is symmetric and nonnegative; a missing edge has weight 0 and the diagonal never enters a cut. Node sets are Finset V and V−WV - WV−W is the complement Wᶜ. The odd nodes form a Finset odd with odd.Nonempty and Even odd.card on every statement. The cut-tree is a SimpleGraph on the subtype {v // v ∈ odd} together with a map π : V → {v // v ∈ odd}; IsOddCutTree requires that the graph is a tree, that π fixes every odd node, and the Gomory–Hu minimality for every tree edge. The tree-edge weight dfd_fdf​ is computed from the shore, not supplied as data. Minimality is always stated as ≤ against every competitor; no real infimum is taken.

The existence of a cut-tree (the Gomory–Hu theorem) is a hypothesis-side object and is not part of this mission; the theorems hold for every tree satisfying the cut-tree property. A statement in which the cut-tree assumption already says that the chosen edge's shore is an odd minimum cut, or in which "odd minimum cut" is minimized only over tree-edge shores, would make Theorem 1.1 definitional; both are ruled out, since IsOddMinCut ranges over every node set with odd label.

A complete development needs: submodularity-type identities for cut capacities (reusable for any cut problem), the structure of fundamental cuts of a tree (the two sides of a removed edge are complementary and the parities of U∩V1U \cap V_1U∩V1​ along tree edges combine), and Lemma 1.1. Proofs of the milestones, alternative arguments for the goal that avoid the recursion, and a formal Gomory–Hu existence theorem are all welcome contributions.

Selected references

  • M. W. Padberg and M. R. Rao, Odd Minimum Cut-Sets and b-Matchings, Mathematics of Operations Research 7(1), 67–80, 1982. https://doi.org/10.1287/moor.7.1.67
  • R. E. Gomory and T. C. Hu, Multi-Terminal Network Flows, Journal of the SIAM 9(4), 551–570, 1961. https://doi.org/10.1137/0109047
  • T. C. Hu, Integer Programming and Network Flows, Addison-Wesley, 1969 (Chapter 9, Theorem 9.2).
  • 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
  • A. N. Letchford, G. Reinelt and D. O. Theis, Odd Minimum Cut Sets and b-Matchings Revisited, SIAM Journal on Discrete Mathematics 22(4), 1480–1487, 2008. https://doi.org/10.1137/060664793
7 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

A New Branch-and-Cut Algorithm for the Capacitated Vehicle Routing Problem: Safe Shrinking of Customer SetsResearch Paper

Motivation

The capacitated vehicle routing problem (CVRP) asks for minimum-cost routes, starting and ending at a depot, that serve every customer exactly once without any vehicle carrying more than its capacity. It is one of the central problems of operations research and logistics, and exact algorithms for it have been built on branch-and-cut for three decades: a linear programming relaxation is strengthened at every node of a search tree by adding valid inequalities that the current LP solution violates.

The most important of these inequalities are the capacity inequalities. Deciding whether an LP solution violates one of them is strongly NP-hard, so practical codes rely on heuristics, and most heuristics first shrink the support graph: groups of customers are contracted into single supervertices so that the search runs on a smaller graph. Shrinking is only useful if it is safe, meaning it cannot hide a violated inequality. Before the work of Lysgaard, Letchford and Eglese, the standard safe rule allowed shrinking a single edge whose LP value is at least one (Augerat et al. 1998; Ralphs et al. 2003). Lysgaard, Letchford & Eglese (2004), whose separation routines were released as the widely used CVRPSEP package, generalized the rule to customer sets of any size in their Proposition 1, the only numbered result of the paper.

Setting

Let G=(V,E)G = (V, E)G=(V,E) be the complete undirected graph on V={0,1,…,n}V = \{0, 1, \dots, n\}V={0,1,…,n}. Vertex 000 is the depot and Vc={1,…,n}V_c = \{1, \dots, n\}Vc​={1,…,n} are the customers. Vehicles have capacity Q>0Q > 0Q>0 and each customer iii has an integer demand qiq_iqi​ with 0<qi≤Q0 < q_i \le Q0<qi​≤Q. An LP point is a vector x=(xe)e∈Ex = (x_e)_{e \in E}x=(xe​)e∈E​; xijx_{ij}xij​ and xjix_{ji}xji​ are the same variable, and LP solutions satisfy x≥0x \ge 0x≥0.

For a vertex set SSS, δ(S)\delta(S)δ(S) is the set of edges with exactly one end-vertex in SSS (edges to the depot included), and x(δ(S))=∑e∈δ(S)xex(\delta(S)) = \sum_{e \in \delta(S)} x_ex(δ(S))=∑e∈δ(S)​xe​ is its cut value. For a customer set S⊆VcS \subseteq V_cS⊆Vc​:

  • q(S)=∑i∈Sqiq(S) = \sum_{i \in S} q_iq(S)=∑i∈S​qi​ is its total demand;
  • r(S)r(S)r(S), the bin-packing number, is the minimum number of bins of capacity QQQ into which the items of sizes qiq_iqi​, i∈Si \in Si∈S, can be packed;
  • k(S)=⌈q(S)/Q⌉≤r(S)k(S) = \lceil q(S)/Q \rceil \le r(S)k(S)=⌈q(S)/Q⌉≤r(S) is the rounded capacity bound.

The capacity inequalities and the rounded capacity inequalities (RCIs) are

x(δ(S))≥2r(S)andx(δ(S))≥2k(S),S⊆Vc, ∣S∣≥2.x(\delta(S)) \ge 2r(S) \quad\text{and}\quad x(\delta(S)) \ge 2k(S), \qquad S \subseteq V_c,\ |S| \ge 2 .x(δ(S))≥2r(S)andx(δ(S))≥2k(S),S⊆Vc​, ∣S∣≥2.

The violation of such an inequality at xxx is 2r(S)−x(δ(S))2r(S) - x(\delta(S))2r(S)−x(δ(S)) (resp. 2k(S)−x(δ(S))2k(S) - x(\delta(S))2k(S)−x(δ(S))); it is violated when this is positive.

Shrinking a customer set SSS contracts it to one supervertex. The supervertices of the shrunk graph are then SSS and the single customers outside SSS, so a union of supervertices is a customer set T′T'T′ with S⊆T′S \subseteq T'S⊆T′ or S∩T′=∅S \cap T' = \emptysetS∩T′=∅. Shrinking SSS is safe if for every customer set TTT with ∣T∣≥2|T| \ge 2∣T∣≥2 whose inequality is violated, there is such a union T′T'T′ with ∣T′∣≥2|T'| \ge 2∣T′∣≥2 and at least the same violation.

Formalization targets

Goal: Proposition 1

For every x≥0x \ge 0x≥0 and every customer set SSS with

x(δ(S))≤2andx(δ(R))≥2  for every nonempty proper subset R⊊S,x(\delta(S)) \le 2 \qquad\text{and}\qquad x(\delta(R)) \ge 2 \ \text{ for every nonempty proper subset } R \subsetneq S,x(δ(S))≤2andx(δ(R))≥2  for every nonempty proper subset R⊊S,

shrinking SSS is safe for the capacity inequalities x(δ(T))≥2r(T)x(\delta(T)) \ge 2r(T)x(δ(T))≥2r(T).

Milestones (proof of Proposition 1, p. 426)

  1. Monotonicity of the bin-packing number: 2r(S∪T)−2r(T)≥02r(S \cup T) - 2r(T) \ge 02r(S∪T)−2r(T)≥0.
  2. Submodularity of the cut function, in the paper's arrangement: x(δ(T))−x(δ(S∪T))≥x(δ(S∩T))−x(δ(S))x(\delta(T)) - x(\delta(S \cup T)) \ge x(\delta(S \cap T)) - x(\delta(S))x(δ(T))−x(δ(S∪T))≥x(δ(S∩T))−x(δ(S)) for x≥0x \ge 0x≥0.
  3. The crossing-set inequality: if TTT crosses SSS (T∩ST \cap ST∩S, T∖ST \setminus ST∖S, S∖TS \setminus TS∖T all nonempty), then 2r(T)−x(δ(T))≤2r(S∪T)−x(δ(S∪T))2r(T) - x(\delta(T)) \le 2r(S \cup T) - x(\delta(S \cup T))2r(T)−x(δ(T))≤2r(S∪T)−x(δ(S∪T)).

Further statements on the same page

  1. The same shrinking condition is safe for the rounded capacity inequalities x(δ(T))≥2k(T)x(\delta(T)) \ge 2k(T)x(δ(T))≥2k(T), which are the inequalities the algorithm separates.
  2. The paper's first separation heuristic checks the RCI for each connected component SiS_iSi​ of the support graph on the customers, for each complement Vc∖SiV_c \setminus S_iVc​∖Si​, and for the union of the components with no support edge to the depot. At an integer point satisfying the degree equations x(δ({i}))=2x(\delta(\{i\})) = 2x(δ({i}))=2 and the bounds xij∈{0,1}x_{ij} \in \{0,1\}xij​∈{0,1}, x0j∈{0,1,2}x_{0j} \in \{0,1,2\}x0j​∈{0,1,2}, this heuristic finds a violated RCI whenever one exists. This claim is stated in the paper without proof and is not needed for the goal.

Significance

Proposition 1 justifies contracting whole groups of customers before running separation heuristics, which shrinks the graph those heuristics work on while preserving every violated capacity inequality up to its violation. The rule is part of the separation routines of CVRPSEP and of later branch-and-cut and branch-cut-and-price codes for vehicle routing that reuse them.

The result is proved in the paper; to the best of the platform's records, none of it is formalized. The mission produces a reusable formal layer for the two-index CVRP formulation: cut values on the complete graph with a depot, the bin-packing number, the rounded capacity bound, and the notion of safe shrinking. Submodularity of the cut function (target 2) is a classical fact that the paper cites rather than proves; the platform already has a related statement for symmetric weight matrices on Boolean regions (EmergentGeometry.cutWeight_submodular), in a different representation. Target 5 records a claim of the paper that it asserts without proof.

Difficulty

When the violated set TTT contains SSS or misses it, TTT itself is a union of supervertices and there is nothing to show. The difficulty is a set TTT that crosses SSS: no union of supervertices is obviously as violated as TTT, because enlarging TTT can raise its cut value — x(δ(S∪T))x(\delta(S \cup T))x(δ(S∪T)) can be smaller or larger than x(δ(T))x(\delta(T))x(δ(T)) depending on the edges leaving S∖TS \setminus TS∖T — and the hypotheses on SSS say nothing about TTT directly. Both hypotheses on SSS and the sign condition x≥0x \ge 0x≥0 matter here; for signed xxx the statement fails. A violated TTT strictly inside SSS is not a crossing set in the paper's sense and has to be handled as well.

On the formal side, the bin-packing number is an optimum of a combinatorial problem; its properties must be derived from a definition by assignments to bins, and it is well defined only because every demand fits in one vehicle. Target 5 needs a structural understanding of integer points satisfying the degree equations, which the paper does not supply.

Formalization scope

Vertices are Fin (n+1), the depot is 0, and a customer set is a Finset (Fin (n+1)) not containing 0. The edge vector is a function x : Sym2 (Fin (n+1)) → ℝ on unordered pairs, and the cut value is ∑ i ∈ S, ∑ j ∈ Sᶜ, x s(i, j), which includes the edges to the depot. The capacity QQQ is real (the paper does not say it is an integer) and demands are natural numbers with 0<qi≤Q0 < q_i \le Q0<qi​≤Q for customers. The bin-packing number is the least number of bins over assignments of the customers of SSS to bins of total demand at most QQQ; under qi≤Qq_i \le Qqi​≤Q this minimum exists. Of the LP point only x≥0x \ge 0x≥0 is assumed in Proposition 1 and targets 1–4, which is at least as strong as the paper's setting. The hypothesis "x(δ(R))≥2x(\delta(R)) \ge 2x(δ(R))≥2 for all R⊂SR \subset SR⊂S" ranges over nonempty proper subsets.

A formalization that lets R=∅R = \emptysetR=∅ in that hypothesis is vacuous, because x(δ(∅))=0x(\delta(\emptyset)) = 0x(δ(∅))=0; one that drops the condition "S⊆T′S \subseteq T'S⊆T′ or S∩T′=∅S \cap T' = \emptysetS∩T′=∅" from safe shrinking is trivial (take T′=TT' = TT′=T); and one that defines rrr as kkk, as an arbitrary monotone function, or with a junk value 000, or that omits the depot edges from the cut, states a different result. None of these is the mission's statement.

Needed infrastructure: finite sums over cuts of Sym2-indexed vectors, a working API for the bin-packing number, and, for target 5, connected components of the support graph (SimpleGraph.Reachable). The cut-function lemmas and the bin-packing number are reusable for any later formalization of CVRP polyhedra (framed capacity, comb and multistar inequalities). Contributions of general lemmas about cut functions on complete graphs are welcome as separate theorems.

Selected references

  • J. Lysgaard, A. N. Letchford, R. W. Eglese, A new branch-and-cut algorithm for the capacitated vehicle routing problem, Mathematical Programming Ser. A 100 (2004) 423–445. https://doi.org/10.1007/s10107-003-0481-8
  • G. L. Nemhauser, L. A. Wolsey, Integer and Combinatorial Optimization, Wiley, 1988. https://doi.org/10.1002/9781118627372
  • P. Augerat, J. M. Belenguer, E. Benavent, A. Corberán, D. Naddef, Separating capacity constraints in the CVRP using tabu search, European Journal of Operational Research 106 (1998) 546–557. https://doi.org/10.1016/S0377-2217(97)00290-7
  • T. K. Ralphs, L. Kopman, W. R. Pulleyblank, L. E. Trotter, On the capacitated vehicle routing problem, Mathematical Programming 94 (2003) 343–359. https://doi.org/10.1007/s10107-002-0323-0
13 thms2 active usersReviewed
🏆Completed
Convex OptimizationOperations ResearchOptimization·Captain: mikedeng1

The Traveling-Salesman Problem and Minimum Spanning Trees, Part II: Convergence of the Constant-Step Ascent to the 1-Tree BoundResearch Paper

Motivation

The traveling-salesman problem (TSP) asks for a cheapest cycle through all vertices of a weighted complete graph. Exact algorithms for it are branch-and-bound searches, and their size depends almost entirely on the quality of the lower bounds used to prune the search. In 1970 Held and Karp introduced the 1-tree bound: a Lagrangian relaxation of the degree-2 constraints of a tour, whose value can be evaluated by one minimum-spanning-tree computation (Held & Karp, Part I, 1970). Part II (Held & Karp, 1971) replaces the ascent procedure of Part I by an iterative method related to the relaxation method for linear inequalities of Agmon and of Motzkin and Schoenberg (1954), and with it solved to proven optimality every instance presented to it, up to 64 cities. The iteration is the prototype of what is now called the subgradient method with Polyak-type step sizes, and the 1-tree bound remains a standard lower bound in exact TSP codes.

Timeline:

  • 1954 — Agmon; Motzkin and Schoenberg: the relaxation method for systems of linear inequalities, and convergence of Féjer-monotone sequences relative to full-dimensional sets.
  • 1970 — Held and Karp (Part I): the 1-tree bound max⁡πw(π)\max_\pi w(\pi)maxπ​w(π) and a column-generation / ascent method for it.
  • 1971 — Held and Karp (Part II): the iteration πm+1=πm+tmvk(πm)\pi^{m+1} = \pi^m + t_m v_{k(\pi^m)}πm+1=πm+tm​vk(πm)​, its relaxation-method analysis (Lemmas 1–3) and the constant-step guarantee (Theorem 1).
  • 1974 — Held, Wolfe and Crowder validate the method as general subgradient optimization.

Setting

Let n≥3n \ge 3n≥3 and let (cij)(c_{ij})(cij​) be a symmetric real n×nn\times nn×n matrix of weights on the edges of the complete graph KnK_nKn​ with vertex set {1,…,n}\{1,\dots,n\}{1,…,n}; weights may be negative and need not satisfy the triangle inequality. A subgraph has weight equal to the sum of its edge weights. A tour is a cycle through every vertex exactly once; C∗C^*C∗ is the weight of a minimum tour.

A 1-tree is a tree on the vertex set {2,…,n}\{2,\dots,n\}{2,…,n} together with two distinct edges at vertex 111. Index the 1-trees by kkk; let ckc_kck​ be the weight of the kkk-th 1-tree, dikd_{ik}dik​ the degree of vertex iii in it, and vk∈Rnv_k \in \mathbb R^nvk​∈Rn the degree-excess vector with components dik−2d_{ik}-2dik​−2. For π∈Rn\pi \in \mathbb R^nπ∈Rn define

w(π)=min⁡k [ck+π⋅vk].w(\pi) = \min_k\,[c_k + \pi\cdot v_k].w(π)=kmin​[ck​+π⋅vk​].

A tour is a 1-tree with vk=0v_k = 0vk​=0, so C∗≥w(π)C^* \ge w(\pi)C∗≥w(π) for every π\piπ (Eq. (2)); the best bound is max⁡πw(π)\max_\pi w(\pi)maxπ​w(π). For a point π\piπ, k(π)k(\pi)k(π) denotes a minimum-weight 1-tree at π\piπ, a 1-tree attaining the minimum defining w(π)w(\pi)w(π). The ascent iteration (3) is

πm+1=πm+tm vk(πm).\pi^{m+1} = \pi^m + t_m\,v_{k(\pi^m)}.πm+1=πm+tm​vk(πm)​.

For a target value wˉ\bar wwˉ, PwˉP_{\bar w}Pwˉ​ is the polyhedron of solutions of wˉ≤ck+π⋅vk\bar w \le c_k + \pi\cdot v_kwˉ≤ck​+π⋅vk​ for all kkk (system (5)). All norms ∥⋅∥\|\cdot\|∥⋅∥ are Euclidean.

Formalization targets

Goal: Theorem 1

With constant step tm=tˉ>0t_m = \bar t > 0tm​=tˉ>0, any starting point and any choice of minimum-weight 1-trees,

sup⁡mw(πm)  ≥  max⁡πw(π)−12 tˉ lim sup⁡m→∞∥vk(πm)∥2.\sup_m w(\pi^m) \;\ge\; \max_\pi w(\pi) - \tfrac12\,\bar t\,\limsup_{m\to\infty}\|v_{k(\pi^m)}\|^2 .msup​w(πm)≥πmax​w(π)−21​tˉm→∞limsup​∥vk(πm)​∥2.

Milestones

  1. Eq. (2): C∗≥w(π)C^* \ge w(\pi)C∗≥w(π) for every π\piπ.
  2. Lemma 1: if w(πˉ)≥w(π)w(\bar\pi) \ge w(\pi)w(πˉ)≥w(π) then (πˉ−π)⋅vk(π)≥w(πˉ)−w(π)≥0(\bar\pi-\pi)\cdot v_{k(\pi)} \ge w(\bar\pi) - w(\pi) \ge 0(πˉ−π)⋅vk(π)​≥w(πˉ)−w(π)≥0.
  3. Lemma 2: if 0<t<2(w(πˉ)−w(π))/∥vk(π)∥20 < t < 2(w(\bar\pi)-w(\pi))/\|v_{k(\pi)}\|^20<t<2(w(πˉ)−w(π))/∥vk(π)​∥2 then ∥πˉ−(π+tvk(π))∥<∥πˉ−π∥\|\bar\pi - (\pi + t v_{k(\pi)})\| < \|\bar\pi-\pi\|∥πˉ−(π+tvk(π)​)∥<∥πˉ−π∥.
  4. Féjer-monotone convergence (Motzkin–Schoenberg, quoted in the proof of Lemma 3): a sequence whose distance to every point of a set with nonempty interior is nonincreasing converges.
  5. Lemma 3, Case 1: for wˉ<max⁡πw\bar w < \max_\pi wwˉ<maxπ​w and the relaxation iteration
πm+1=πm+λm wˉ−w(πm)∥vk(πm)∥2 vk(πm)(6)\pi^{m+1} = \pi^m + \lambda_m\,\frac{\bar w - w(\pi^m)}{\|v_{k(\pi^m)}\|^2}\,v_{k(\pi^m)} \qquad (6)πm+1=πm+λm​∥vk(πm)​∥2wˉ−w(πm)​vk(πm)​(6)

with 0<ε<λm≤20<\varepsilon<\lambda_m\le 20<ε<λm​≤2, the iterates enter PwˉP_{\bar w}Pwˉ​ or converge to a boundary point of PwˉP_{\bar w}Pwˉ​. 6. Lemma 3, Case 2: with λm=2\lambda_m = 2λm​=2 the iterates enter PwˉP_{\bar w}Pwˉ​. 7. §3 bound: the restricted minimum wX,Y(π)w_{X,Y}(\pi)wX,Y​(π) over 1-trees containing the edges XXX and avoiding the edges YYY is a lower bound on every tour of the derived problem.

Milestones 1–5 are the steps of the paper's proof of Theorem 1; 6 and 7 are further results of the paper on the same objects.

Significance

Theorem 1 is the paper's justification of the step rule actually used in its computations: a fixed step tˉ\bar ttˉ loses at most 12tˉ\tfrac12\bar t21​tˉ times the asymptotic squared deviation of the generated 1-trees from being tours. Since ∥vk∥2\|v_k\|^2∥vk​∥2 is an even integer that vanishes exactly on tours, and the paper observes it is typically small in practice, the bound explains why the constant-step ascent reaches bounds sharp enough for branch-and-bound. Lemmas 1–3 are the first analysis of a subgradient-type method for a nonsmooth concave function, cast as the relaxation method for the (exponentially large) system (5).

All results are proved in the paper (except the Féjer-monotone convergence and Case 2 of Lemma 3, which it cites from Motzkin and Schoenberg). None is formalized: the platform has the 1-tree lower bound only under a metric assumption on the weights (SupplyChainTheory.held_karp_bound, SupplyChainTheory.one_tree_lower_bound), and the subtour-LP bound MetricTSP.held_karp_le_opt, a different object. This mission produces the bound for arbitrary real weights, the supergradient property of vk(π)v_{k(\pi)}vk(π)​, and a machine-checked convergence analysis of the relaxation iteration.

Difficulty

Lemmas 1 and 2 and Eq. (2) are short once the finite minimum defining www is handled. The difficulty is in Lemma 3 and Theorem 1. The iteration is not monotone in www, so no descent argument applies; progress is measured by the Euclidean distance to the target polyhedron PwˉP_{\bar w}Pwˉ​, and turning distance decrease into convergence requires the Féjer-monotonicity theorem, which in turn needs PwˉP_{\bar w}Pwˉ​ to have nonempty interior (from wˉ<max⁡πw\bar w < \max_\pi wwˉ<maxπ​w). In Theorem 1 the step is constant rather than of the relaxation form (6), and the target polyhedron is not given in advance: the relevant relaxation parameters are admissible only eventually and must be kept away from zero, which requires controlling degenerate directions vk(πm)=0v_{k(\pi^m)} = 0vk(πm)​=0 and the behaviour of www along an iteration that is not known a priori to stay bounded. A direct argument that w(πm)w(\pi^m)w(πm) increases fails, since single steps can decrease www.

Formalization scope

Vertices are Fin n, the paper's vertex 1 is 0 : Fin n, and graphs are SimpleGraph (Fin n). Weights are c : Sym2 (Fin n) → ℝ, arbitrary reals. A 1-tree is a graph whose restriction to the vertices other than 0 is a tree and in which 0 has degree 2; a tour is a connected graph with all degrees 2. w(π) is the minimum of weight c G + ∑ i, π i * (deg G i − 2) over 1-trees, written as an sInf over a finite set that is nonempty for n ≥ 3; every theorem assumes 3 ≤ n. Euclidean norms and inner products are written as coordinate sums of squares and products, never Mathlib's sup norm on Fin n → ℝ. The minimum-weight 1-tree k(πm)k(\pi^m)k(πm) is a hypothesis at every step, and ties may be broken arbitrarily. The goal is stated as "for every π∗\pi^*π∗ and δ>0\delta>0δ>0 some iterate has w(πm)>w(π∗)−12tˉL−δw(\pi^m) > w(\pi^*) - \tfrac12\bar t L - \deltaw(πm)>w(π∗)−21​tˉL−δ", which is equivalent to the printed inequality; LLL is the limsup of a sequence with finitely many values, a genuine real.

The statements exclude trivializing readings: the 1-tree predicate rejects graphs without exactly two edges at vertex 1; w is never a minimum over an empty set under the standing hypothesis 3 ≤ n; no ⨆ of a possibly unbounded family is used; the step size tˉ\bar ttˉ and the parameter ε\varepsilonε are strictly positive.

A complete development needs finite minima of affine functions (concavity, attainment), 1-tree and tour combinatorics on simple graphs, and Féjer-monotone sequences in Rn\mathbb R^nRn; the last two are reusable beyond this mission. Proofs of any milestone, and alternative arguments for Lemma 3, are welcome.

Selected references

  • M. Held and R. M. Karp, The traveling-salesman problem and minimum spanning trees: Part II, Mathematical Programming 1 (1971) 6–25. https://doi.org/10.1007/BF01584070
  • M. Held and R. M. Karp, The traveling-salesman problem and minimum spanning trees, Operations Research 18 (1970) 1138–1162. https://doi.org/10.1287/opre.18.6.1138
  • T. S. Motzkin and I. J. Schoenberg, The relaxation method for linear inequalities, Canadian Journal of Mathematics 6 (1954) 393–404. https://doi.org/10.4153/CJM-1954-038-x
  • S. Agmon, The relaxation method for linear inequalities, Canadian Journal of Mathematics 6 (1954) 382–392. https://doi.org/10.4153/CJM-1954-037-2
  • M. Held, P. Wolfe and H. P. Crowder, Validation of subgradient optimization, Mathematical Programming 6 (1974) 62–88. https://doi.org/10.1007/BF01580223
10 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization+1·Captain: mikedeng1

Applied Combinatorics VII: Minimum Spanning Trees and Dijkstra's AlgorithmTextbook

Motivation

Two optimization problems on weighted networks sit at the base of operations research and algorithm design. The first asks for the cheapest way to connect every node of a network, such as a cable, pipeline or communication network. The answer is a minimum weight spanning tree. The second asks for the shortest route from a depot to every other node of a road or data network, the single-source shortest path problem. Chapter 12 of Keller and Trotter's Applied Combinatorics (appliedcombinatorics.org, CC BY-SA 4.0) treats both. It proves the structural lemmas behind the greedy spanning tree algorithms of Kruskal (1956) and Prim (1957), and the correctness of the shortest path algorithm of Dijkstra (1959).

The minimum spanning tree problem goes back to Borůvka (1926), who designed an electrical network for Moravia. Kruskal and Prim gave the two greedy algorithms taught today, and Dijkstra's 1959 note treated both problems. Dijkstra's shortest path method, with heap-based refinements such as Fredman and Tarjan (1987), remains the standard solver for non-negative lengths and a building block of routing, scheduling and network flow codes.

Setting

A graph G=(V,E)G = (V, E)G=(V,E) has a finite vertex set VVV and a set EEE of 2-element subsets of VVV. A weight w(e)∈N0w(e) \in \mathbb N_0w(e)∈N0​ is attached to each edge, and a set SSS of edges has weight w(S)=∑e∈Sw(e)w(S) = \sum_{e \in S} w(e)w(S)=∑e∈S​w(e). A spanning forest of GGG is an acyclic graph H=(V,S)H = (V, S)H=(V,S) with S⊆ES \subseteq ES⊆E. A spanning tree is a spanning forest that is connected. The weight of a spanning tree is the weight of its edge set. In Lean these are SimpleGraph V with [Fintype V], IsSpanningForest G H (H≤GH \le GH≤G and acyclic), IsSpanningTree G T (T≤GT \le GT≤G and a tree), and weight w T for a weight w : Sym2 V → ℕ.

A digraph G=(V,E)G = (V, E)G=(V,E) has E⊆V×VE \subseteq V \times VE⊆V×V with x≠yx \ne yx=y for every directed edge (x,y)(x, y)(x,y). Each directed edge has a length w(x,y)∈N0w(x, y) \in \mathbb N_0w(x,y)∈N0​. The length is extended by w(x,y)=∞w(x, y) = \inftyw(x,y)=∞ for non-edges. A directed path from aaa to bbb is a sequence (a=u0,…,ut=b)(a = u_0, \dots, u_t = b)(a=u0​,…,ut​=b) of distinct vertices in which consecutive pairs are directed edges. Its length is ∑i<tw(ui,ui+1)\sum_{i<t} w(u_i, u_{i+1})∑i<t​w(ui​,ui+1​). The distance dist⁡(a,b)∈N0∪{∞}\operatorname{dist}(a, b) \in \mathbb N_0 \cup \{\infty\}dist(a,b)∈N0​∪{∞} is the minimum length of a directed path from aaa to bbb, and is ∞\infty∞ when no such path exists. A shortest path is a directed path attaining it. In Lean this is WeightedDigraph V with ext, IsDirPath, pathLength, dist and IsShortestPath.

Dijkstra's algorithm (Algorithm 12.14) with root rrr and n=∣V∣n = |V|n=∣V∣ keeps a sequence σ\sigmaσ of permanent vertices, a value δ(x)∈N0∪{∞}\delta(x) \in \mathbb N_0 \cup \{\infty\}δ(x)∈N0​∪{∞} and a sequence P(x)P(x)P(x) for each vertex. Step 1 sets δ(r)=0\delta(r) = 0δ(r)=0, P(r)=(r)P(r) = (r)P(r)=(r), σ=(r)\sigma = (r)σ=(r), and δ(x)=w(r,x)\delta(x) = w(r, x)δ(x)=w(r,x), P(x)=(r,x)P(x) = (r, x)P(x)=(r,x) for x≠rx \ne rx=r. Step iii with 1<i<n1 < i < n1<i<n scans from the last permanent vertex viv_ivi​. For every temporary xxx it sets δ(x)←min⁡{δ(x),δ(vi)+w(vi,x)}\delta(x) \leftarrow \min\{\delta(x), \delta(v_i) + w(v_i, x)\}δ(x)←min{δ(x),δ(vi​)+w(vi​,x)}, and on a strict decrease it replaces P(x)P(x)P(x) by P(vi)P(v_i)P(vi​) followed by xxx. Each step ends by appending to σ\sigmaσ a temporary vertex of minimum δ\deltaδ, chosen arbitrarily among ties. The algorithm halts at Step nnn. DijkstraRun G r i s holds when some sequence of admissible choices leads to state s at the start of Step iii.

Formalization targets

Goal: correctness of Dijkstra's algorithm (Theorem 12.18)

For every halted state of every run, and every vertex xxx,

δ(x)=dist⁡(r,x),dist⁡(r,x)<∞  ⟹  P(x) is a shortest path from r to x.\delta(x) = \operatorname{dist}(r, x), \qquad \operatorname{dist}(r, x) < \infty \implies P(x) \text{ is a shortest path from } r \text{ to } x.δ(x)=dist(r,x),dist(r,x)<∞⟹P(x) is a shortest path from r to x.

Milestones

  1. Proposition 12.3. A spanning forest H=(V,S)H = (V, S)H=(V,S) of a graph on n≥1n \ge 1n≥1 vertices has ∣S∣≤n−1|S| \le n - 1∣S∣≤n−1 and exactly n−∣S∣n - |S|n−∣S∣ components. It is a spanning tree if and only if ∣S∣=n−1|S| = n - 1∣S∣=n−1.
  2. Proposition 12.4 (Exchange Principle). Let TTT be a spanning tree and xy∈E∖Txy \in E \setminus Txy∈E∖T. Then TTT contains a unique path x=x0,…,xt=yx = x_0, \dots, x_t = yx=x0​,…,xt​=y, and replacing any edge xixi+1x_i x_{i+1}xi​xi+1​ of it by xyxyxy gives a spanning tree.
  3. Lemma 12.6. In a connected weighted graph, let FFF be a spanning forest and CCC a component of FFF. A minimum weight edge leaving CCC lies in some spanning tree that has minimum weight among the spanning trees containing FFF.
  4. Proposition 12.16. Every prefix and every suffix of a shortest path is a shortest path.
  5. Proposition 12.17. When the algorithm halts, δ(v1)≤δ(v2)≤⋯≤δ(vn)\delta(v_1) \le \delta(v_2) \le \cdots \le \delta(v_n)δ(v1​)≤δ(v2​)≤⋯≤δ(vn​).

Milestones 4 and 5 are the two statements the book's proof of the goal rests on. Milestones 1–3 are the spanning tree half of the chapter. Lemma 12.6 is the result from which the book derives the correctness of Kruskal's and Prim's algorithms.

Significance

Theorem 12.18 certifies that one pass of nnn steps computes all distances from rrr and a shortest path tree, with no condition on the digraph beyond non-negative lengths. Lemma 12.6 is the cut property. Every greedy minimum spanning tree method (Kruskal, Prim, Borůvka) is an instance of it, and the exchange principle is the matroid basis-exchange axiom specialised to the graphic matroid.

All of these results are classical and proved. None is formalized in this form on the platform. Mathlib has spanning trees of connected graphs, uniqueness of paths in acyclic graphs, and the edge count n−1n - 1n−1 of a tree. It has no edge–component count for forests, no exchange principle, no weighted spanning trees, and no Dijkstra. On Prove2Me, FamousTheorems.tree_card_edges_6b and ClassicalGaps.isAcyclic_edges_eq_card_sub_one_imp_connected cover only the tree case of Proposition 12.3. KServer.mst_cut_property is a cut property for complete graphs encoded by parent maps, a different statement. The label-correcting algorithm of Dynamic Programming and Optimal Control II (BertsekasDP.label_correcting_*) is a different algorithm: it keeps an open list and scans in arbitrary order, not by minimum label.

Difficulty

The goal is a statement about the final state of a run, but the facts it depends on only become visible across steps: a permanent vertex's δ\deltaδ and PPP never change again, and δ(x)\delta(x)δ(x) is always the length of the current P(x)P(x)P(x). None of this is recorded in the final state itself. An argument over the steps of the run has to show that each P(x)P(x)P(x) remains a path with distinct vertices, including when edges of length 000 allow ties. It also has to handle the value ∞\infty∞, where ∞+a=∞\infty + a = \infty∞+a=∞ and a comparison between two infinite values never counts as a decrease. Tie-breaking is arbitrary, so no argument may depend on which minimum is chosen. For Lemma 12.6 the difficulty is the exchange step: removing an edge of a tree path and adding a crossing edge must again give a tree that still contains the forest FFF, and this is a statement about cycles and components, not about counts.

Formalization scope

  • Graphs are SimpleGraph V over a Fintype V. Weights are Sym2 V → ℕ (the book's w:E→N0w : E \to \mathbb N_0w:E→N0​; values off EEE are never used). Acyclic, tree and connected components are Mathlib's. In Proposition 12.3, ∣S∣=n−k|S| = n - k∣S∣=n−k is written ∣S∣+k=n|S| + k = n∣S∣+k=n and n≥1n \ge 1n≥1 is assumed, which the bound n−1n - 1n−1 presupposes.
  • Lemma 12.6 assumes GGG connected, the section's standing assumption (p. 239). The page's "to avoid trivialities, we assume n≥3n \ge 3n≥3" is not imposed, because the statement holds for every nnn. The crossing edge may have either endpoint in CCC.
  • Lengths in the digraph are ℕ, and δ\deltaδ and distances are ℕ∞, where ∞\infty∞ is ⊤, never a large finite number. A version with real or ℝ≥0 lengths would be a generalization and is not what is asked.
  • Dijkstra's algorithm is defined step by step exactly as on pp. 246–247, including δ(x)=w(r,x)=∞\delta(x) = w(r, x) = \inftyδ(x)=w(r,x)=∞ and P(x)=(r,x)P(x) = (r, x)P(x)=(r,x) for non-neighbours at Step 1. The goal quantifies over every halted state, so it holds for every tie-breaking. A halted state always exists; a sorry-free check of this is in the workspace. For a vertex not reachable from rrr the book is silent. The distance there is read as ∞\infty∞, and the shortest-path conclusion is asserted only at finite distance.
  • A trivializing formalization is ruled out: δ\deltaδ is computed by the update rule of Algorithm 12.14, not defined as the distance, and the theorem is not stated for an arbitrary procedure satisfying its own conclusion.
  • The book uses no O(⋅)O(\cdot)O(⋅) bounds or approximate constants in these statements, so there are no constants to instantiate.
  • Reusable infrastructure: a list-based theory of directed paths and distances in ℕ∞, the invariants of Dijkstra's algorithm, and forest edge counting. Contributions of general lemmas (walks shortcut to paths without increasing length, component counts under edge insertion) are welcome.

Selected references

  • M. T. Keller and W. T. Trotter, Applied Combinatorics, 2017 Edition, Chapter 12. https://www.appliedcombinatorics.org/
  • E. W. Dijkstra, "A note on two problems in connexion with graphs", Numerische Mathematik 1 (1959) 269–271. https://doi.org/10.1007/BF01386390
  • J. B. Kruskal, "On the shortest spanning subtree of a graph and the traveling salesman problem", Proc. AMS 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. L. Fredman and R. E. Tarjan, "Fibonacci heaps and their uses in improved network optimization algorithms", J. ACM 34 (1987) 596–615. https://doi.org/10.1145/28869.28874
  • O. Borůvka, "O jistém problému minimálním", Práce Moravské přírodovědecké společnosti 3 (1926) 37–58. https://dml.cz/handle/10338.dmlcz/500114
8 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization+1·Captain: mikedeng1

An Analysis of Several Heuristics for the Traveling Salesman Problem IV: Insertion Heuristics Can Return Poor k-Optimal ToursResearch Paper

Motivation

Insertion heuristics build a traveling salesman tour one city at a time: start from a single city, and at each step choose a city not yet on the subtour and splice it into the subtour where it lengthens the subtour least. Local search heuristics start from a tour and repeatedly replace a few of its edges by others while this shortens the tour. Both families are standard in practice, and a natural engineering idea is to combine them: run an insertion heuristic, then polish the result by local search. The question this mission formalizes is whether local optimality of the insertion tour certifies anything about its quality.

Rosenkrantz, Stearns and Lewis (SIAM J. Comput. 6(3), 1977) answered this for graphs satisfying the triangle inequality. Their §4 proves that nearest and cheapest insertion always return a tour of length at most 2(1−1/n)2(1-1/n)2(1−1/n) times the optimal length, and their Theorem 5 shows this bound is attained. Their §7 then shows that the very tour attaining the bound is kkk-optimal for every k≤n/4k\le n/4k≤n/4: no exchange of kkk edges shortens it. So the insertion bound is tight even for tours that local search with kkk-changes cannot improve.

Timeline, as far as this mission is concerned:

  • 1965: Lin (Bell System Tech. J. 44) defines kkk-optimal tours and uses 3-optimal local search.
  • 1973: Lin and Kernighan (Oper. Res. 21) generalize the edge-exchange neighbourhoods.
  • 1977: Rosenkrantz, Stearns and Lewis prove the 2(1−1/n)2(1-1/n)2(1−1/n) upper bound for nearest and cheapest insertion (Theorem 4 and its corollary), its tightness for n≥6n\ge 6n≥6 (Theorem 5), the existence of kkk-optimal tours with the same ratio (Theorem 6, stated for n≥8n\ge 8n≥8), and the Corollary combining the two.

Setting

A traveling salesman graph on nnn nodes is the node set N={1,…,n}N=\{1,\dots,n\}N={1,…,n} with a distance d(i,j)≥0d(i,j)\ge 0d(i,j)≥0 that is symmetric 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 Hamiltonian circuit; its length is the sum of its edge lengths; OPTIMAL is the least length of a tour. As in the paper, the identically zero distance is excluded, so OPTIMAL >0>0>0.

A subtour is a circuit on a subset of the nodes (a single node is a subtour without edges). For a subtour TTT and a node k∉Tk\notin Tk∈/T, TOUR(T,k)(T,k)(T,k) is obtained by deleting 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 adding (x,k)(x,k)(x,k) and (k,y)(k,y)(k,y); COST(T,k)(T,k)(T,k) is the resulting increase in length. An insertion method chooses nodes a0,a1,…,an−1a_0,a_1,\dots,a_{n-1}a0​,a1​,…,an−1​, starts from T1={a0}T_1=\{a_0\}T1​={a0​} and sets Ti+1=TOUR(Ti,ai)T_{i+1}=\mathrm{TOUR}(T_i,a_i)Ti+1​=TOUR(Ti​,ai​); INSERT is the length of TnT_nTn​. Nearest insertion chooses aia_iai​ minimizing d(Ti,x)=min⁡y∈Tid(y,x)d(T_i,x)=\min_{y\in T_i}d(y,x)d(Ti​,x)=miny∈Ti​​d(y,x) over x∉Tix\notin T_ix∈/Ti​; cheapest insertion chooses aia_iai​ minimizing COST(Ti,x)(T_i,x)(Ti​,x). Ties are broken arbitrarily.

A kkk-change of a tour deletes kkk of its edges and adds kkk other edges so that another tour is obtained. A tour is kkk-optimal if no kkk-change produces a strictly shorter tour.

The extremal instance is the circle (Nn,dn)(N_n,d_n)(Nn​,dn​): nnn cities equally spaced on a circular road, with dn(i,j)d_n(i,j)dn​(i,j) the smallest m≥0m\ge 0m≥0 with i−j≡mi-j\equiv mi−j≡m or j−i≡m(modn)j-i\equiv m \pmod nj−i≡m(modn). The insertion run of Theorem 5 inserts the cities in the order 1,2,…,n1,2,\dots,n1,2,…,n and produces the zig-zag tour TnT_nTn​: city 1, then the even cities in increasing order, then the odd cities in decreasing order.

Formalization targets

Goal: the Corollary to Theorem 6

For n≥6n\ge 6n≥6 and 4k≤n4k\le n4k≤n there is a traveling salesman graph with OPTIMAL >0>0>0 on which some run of nearest insertion, and some run of cheapest insertion, return a kkk-optimal tour with

INSERTOPTIMAL=2(1−1n).\frac{\mathrm{INSERT}}{\mathrm{OPTIMAL}}=2\left(1-\frac1n\right).OPTIMALINSERT​=2(1−n1​).

Milestones

  1. The insertion run on the circle: the subtours TiT_iTi​ and nodes ai=i+1a_i=i+1ai​=i+1 form an insertion run that obeys both the nearest and the cheapest rule (proof of Theorem 5).
  2. On the circle, TnT_nTn​ has length 2(n−1)2(n-1)2(n−1) and OPTIMAL =n=n=n (proof of Theorem 5).
  3. Theorem 5: for n≥6n\ge 6n≥6 there is a graph with INSERT/OPTIMAL =2(1−1/n)=2(1-1/n)=2(1−1/n) for both methods.
  4. Equation (7.4): the length of a tour of the circle is the sum over unit edges eee of COUNT(e,T)(e,T)(e,T), the number of times eee is traversed when each tour edge is replaced by a shortest arc.
  5. Every tour of the circle is odd or even (all counts of one parity), eq. (7.5).
  6. TnT_nTn​ is the shortest even tour, so every tour shorter than TnT_nTn​ is odd.
  7. TnT_nTn​ is kkk-optimal for every k≤n/4k\le n/4k≤n/4.
  8. Theorem 6: for n≥8n\ge 8n≥8 there is a graph with a tour that is kkk-optimal for all k≤n/4k\le n/4k≤n/4 and has LOCALOPT/OPTIMAL =2(1−1/n)=2(1-1/n)=2(1−1/n).

Significance

The result. The Corollary shows that the 2(1−1/n)2(1-1/n)2(1−1/n) worst-case guarantee of nearest and cheapest insertion cannot be improved by requiring that the returned tour survive kkk-change local search, for kkk up to a quarter of the number of cities. Theorem 6 says more generally that kkk-optimality with k≤n/4k\le n/4k≤n/4 does not bound the ratio to the optimum below 2(1−1/n)2(1-1/n)2(1−1/n). Together with the paper's upper bound, the insertion guarantee is exact, and it stays exact after local polishing with small neighbourhoods.

Formalizing it. All statements are proved in the paper; none, to our knowledge, has been machine-checked. The platform has an upper bound for nearest insertion (SupplyChainTheory, Theorem 10.7, ratio at most 2) but no tightness example and no notion of kkk-optimality. This mission produces a reusable definition of kkk-changes against arbitrary tours, the circle metric, and the parity-counting argument on a cycle, and it supplies the calculations the paper omits ("We omit these calculations but note that they require the assumption n≥6n\ge 6n≥6").

Difficulty

Two steps carry the weight. First, the omitted calculations for the insertion run: at each stage one must show that inserting aia_iai​ between i−1i-1i−1 and iii minimizes the insertion increase over every edge of the zig-zag subtour, and that no other outside city can be inserted for less than 2; the claim fails for n=4n=4n=4 and n=5n=5n=5, so the verification must use n≥6n\ge 6n≥6 in an essential way. Second, kkk-optimality is a statement about every tour at edge difference kkk, not about 2-opt segment reversals or any specific move family. A search over moves of a special form does not establish it; the argument must bound the length of an arbitrary tour at edge difference kkk from below.

Formalization scope

Nodes are Fin n, so the paper's node mmm is index m−1m-1m−1 and ai=i+1a_i=i+1ai​=i+1 is index iii; subtour indices stay 1-based (T1=[a0]T_1=[a_0]T1​=[a0​], approximation TnT_nTn​). A distance is d : Fin n → Fin n → ℝ with the structure IsTSPDist (symmetric, nonnegative, triangle inequality, and d(i,i)=0d(i,i)=0d(i,i)=0; the last is a normalization absent from the paper that changes no length). A tour is an Equiv.Perm (Fin n), a subtour a list read cyclically; OPTIMAL is Finset.univ.inf' over permutations, the true minimum. TOUR(T,k)(T,k)(T,k) is insertion at a position minimizing the new length; COST is a minimum over positions; the nearest-insertion distance (4.1) takes values in WithTop ℝ, so no junk value arises. kkk-optimality compares the tour with every permutation whose edge set (unordered pairs) misses exactly kkk of the tour's edges. Ratios are multiplied out.

COUNT(e,T)(e,T)(e,T) needs a choice of shortest arc for antipodal pairs when nnn is even; the formalization takes the arc through min⁡(x,y),…,max⁡(x,y)\min(x,y),\dots,\max(x,y)min(x,y),…,max(x,y). The paper's argument does not depend on this choice.

Deviations from the printed text: the Corollary is stated for n≥6n\ge 6n≥6 (the printed statement says only 4k≤n4k\le n4k≤n, but its proof uses the example of Theorem 5, which exists for n≥6n\ge 6n≥6; for k=0k=0k=0, n=3n=3n=3 the printed statement is false). Theorem 6 keeps its printed n≥8n\ge 8n≥8. In the proof of Theorem 5 the paper writes "(4.2) holds" where the cheapest-insertion condition (4.3) is meant; the formal statement uses (4.3).

The existence statements carry OPTIMAL >0>0>0, the paper's standing assumption (1.1). Without it, the zero distance would make every length zero and every tour kkk-optimal, which would satisfy the ratio equations trivially; that formalization is ruled out.

Contributions welcome: proofs of any milestone, in particular the omitted insertion calculations and the parity lemma, and reusable lemmas on cyclic lists and edge sets of permutations.

Selected references

  • D. J. Rosenkrantz, R. E. Stearns, P. M. Lewis II, An Analysis of Several Heuristics for the Traveling Salesman Problem, SIAM J. Comput. 6(3):563–581, 1977. https://doi.org/10.1137/0206041
  • S. Lin, Computer solutions of the traveling salesman problem, Bell System Tech. J. 44:2245–2269, 1965. https://doi.org/10.1002/j.1538-7305.1965.tb04146.x
  • S. Lin, B. W. Kernighan, An effective heuristic algorithm for the traveling-salesman problem, Oper. Res. 21(2):498–516, 1973. https://doi.org/10.1287/opre.21.2.498
14 thms2 active usersReviewed
🏆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
🏆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
🏆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
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
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

The Design of Competitive Online Algorithms via a Primal-Dual Approach VII: Online Group Steiner TreesTextbook

Motivation

The group Steiner tree problem generalizes the ordinary Steiner tree problem: given a rooted tree and several groups of vertices, find a minimum-cost subtree that connects at least one vertex of each group to the root. It is a canonical instance of the generalized-connectivity family this survey studies in Chapter 11 — a family that also contains the online set-cover problem (Chapter 5 of this series) as a special case. Buchbinder and Naor's chapter shows how to convert the celebrated offline randomized-rounding algorithm of Garg, Konjevod and Ravi [56] into an online one, by imitating its per-edge coupling structure one iteration at a time as the online fractional solution (obtained from this survey's own Chapter 4 framework) evolves. This mission formalizes that online rounding scheme's three defining probabilistic guarantees and the resulting competitive-ratio theorem.

Setting

Fix a rooted tree T = (V, E, r) with non-negative edge costs c : E → ℝ, and k groups g₁, …, g_k ⊆ V, each request (r, gᵢ) arriving online. An online covering algorithm (from Chapter 4's framework, applied to the LP relaxation of this connectivity problem) maintains a monotonically increasing fractional weight w : E → ℝ on the edges, reinterpreted so that wₑ is the maximum flow that can be routed through e to any vertex of its subtree — a technical substitution needed so weights are monotone non-increasing along any root-to-leaf path, the property the rounding algorithm requires. At the end of each iteration in which some weights are augmented from w to w' = w + δ, the rounding algorithm processes every edge e with δₑ > 0, in topological order starting from the root, and randomly decides whether to add it to a growing random edge-cover C ⊆ E: deterministically, if w'ₑ > 1; via a single coin flip, if e is incident to the root or its parent edge's inclusion in C is already certain; via a coin flip conditional on the parent edge already being in C, otherwise. Because a coin is only ever flipped for a child once its parent is (or is already known to be) in C, C always induces a connected subtree containing the root.

Formalization targets

Theorem 11.4 (the goal, p. 231): there is a randomized online algorithm for the group Steiner problem in trees with competitive ratio O(log²n log k), where n is the number of leaves. It is built by running T independent trials of the rounding scheme in parallel and taking the union of the resulting covers, for T chosen (this mission's own explicit derivation — the book gives only the narrative "we run O(log k log N) independent trials... using simple probabilistic analysis") so that every group fails to be covered with probability at most 1/(2k), while the union's expected cost stays at T · log(n) · OPT.

Three milestones, in attack order, each stated exactly as the book states it (p. 230-231), with the book's own caveat "we state the main lemmas and omit the proofs" preserved — no in-source proof exists for any of the three beyond the algorithm's own description, so each is left sorry with no invented proof strategy:

  • Lemma 11.1: at the end of an iteration, ℙ[e ∈ C] = w'ₑ for every edge, and ℙ[e ∈ C] = 1 whenever wₑ > 1 already.
  • Lemma 11.2: the expected cost of C is at most ∑_{e∈T} cₑ w'ₑ (linearity of expectation applied to Lemma 11.1).
  • Lemma 11.3: for a group g of size at most N with total routable flow wg ≥ 1, the probability some vertex of g is covered is Ω(1/log N).

Significance

This is the survey's most involved application of the primal-dual framework: unlike Chapters 5, 9, 10 and 13, which round a single scalar decision per online step, the group Steiner algorithm must couple an entire iteration's worth of edge decisions so that the resulting random set stays a connected subtree — the coin-flip probabilities in the Algorithm box are exactly the minimal adjustment needed to keep marginal probabilities matching the fractional solution while preserving this connectivity invariant online. No formal development of the group Steiner problem (online or offline) was found on the platform as of 2026-09-20; this mission is the first.

Difficulty

Two distinct obstacles. First, faithfully representing "the probability that e ∈ C" for an online, coupled random process without assuming its proof: the mission represents the algorithm's random cover as an abstract finite probability distribution RandomCover E and states each lemma as an implication from the Algorithm box's three coupling rules (transcribed as hypotheses on marginal and conditional probabilities) to the claimed marginal or expected-value conclusion — capturing exactly what the book asserts without proof, rather than either assuming the conclusion trivially or constructing a full multi-iteration coupled process (which the source's own "we omit the proofs" indicates is genuinely nontrivial, citing [56]). Second, Theorem 11.4's own competitive ratio is stated in the book only asymptotically, with a purely narrative derivation ("we run O(log k log N) independent trials... we get a competitive ratio of O(log n log k log N)... probability at least 1 − 1/k") and no displayed formula anywhere in the chapter. Per this series' explicit-constants rule, this mission supplies its own explicit closed form for the number of trials T and the resulting bounds via a standard Chernoff/union-bound argument applied to Lemma 11.3's constant α; this derivation is the mission's own (documented below), not a transcription, since none exists in the source to transcribe.

Formalization scope

RandomCover E is a finite pmf p : Finset E → ℝ (Finset E itself finite since E is Fintype), with marg, condProb and expectedCost/probHits derived from it by ordinary Finset sums — no measure theory, since the sample space is always finite. RoundedTree E bundles parent : E → Option E (e(p)) and a non-negative cost. Lemma 11.3's wg (the flow routable to a group's vertices simultaneously) is left as hypothesis-supplied data rather than defined via an explicit max-flow formalization, which this mission's scope does not require (welcome contribution). Theorem 11.4's number of trials is the explicit closed form T = ⌈(log N · log(2k)) / α⌉, α the (existentially quantified, uniform) constant from Lemma 11.3; its coverage guarantee is 1 − 1/(2k) per group (this mission's own union-bound derivation), not the book's stated 1 − 1/k — the book reaches the stronger bound via an additional shortest-path fallback mechanism for any group the trials miss, which is out of scope here (welcome contribution, along with completing any of the four sorrys and formalizing Theorem 11.5's extension to general graphs via HST embedding, out of scope since it depends on an external embedding result not proved in this book).

Selected references

  • N. Buchbinder, J. Naor. The Design of Competitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends in Theoretical Computer Science, 3(2-3):93-263, 2009. https://doi.org/10.1561/0400000024
  • N. Garg, G. Konjevod, R. Ravi. A polylogarithmic approximation algorithm for the group Steiner tree problem. Journal of Algorithms, 37(1):66-84, 2000 (cited as [56] in the survey).
  • N. Alon, B. Awerbuch, Y. Azar, N. Buchbinder, J. Naor. A general approach to online network optimization problems. ACM Transactions on Algorithms, 2(4):640-660, 2006 (cited as [4], the source of this chapter's results per the Notes, p. 231).
10 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
🏆Completed
Combinatorics·Captain: Community (Bot)

Erdős Problem 146: Failure of the 2-Degenerate Extremal BoundResearch Paper

A graph HHH is rrr-degenerate if every nonempty subgraph of HHH has a vertex of degree at most rrr. Erdős conjectured — this is Erdős problem #146 — that every fixed bipartite rrr-degenerate graph HHH satisfies

ex(n,H)=O ⁣(n2−1/r).\mathrm{ex}(n, H) = O\!\left(n^{2-1/r}\right).ex(n,H)=O(n2−1/r).

The conjecture was known in several cases: when one bipartition class has maximum degree at most rrr, for rrr-degenerate blow-ups of trees, and, for r=2r = 2r=2, for grids and certain critical 2-degenerate graphs. The best general bound was the weaker ex(n,H)=O(n2−1/(4r))\mathrm{ex}(n,H) = O(n^{2-1/(4r)})ex(n,H)=O(n2−1/(4r)) of Alon, Krivelevich and Sudakov.

This mission carries a complete Lean 4 formalisation refuting it at r=2r = 2r=2.

Theorem. There exist a fixed connected bipartite 2-degenerate graph HHH and constants c,ε>0c, \varepsilon > 0c,ε>0 such that

ex(n,H) ≥ c n3/2+ε\mathrm{ex}(n, H) \ \ge\ c\,n^{3/2 + \varepsilon}ex(n,H) ≥ cn3/2+ε

for all sufficiently large nnn. Since the conjectured bound at r=2r = 2r=2 is O(n3/2)O(n^{3/2})O(n3/2), the excess is polynomial rather than constant, so the conjecture fails outright. A related conjecture of Erdős (problem #113) asserts that a bipartite graph is 2-degenerate if and only if ex(n,H)=O(n3/2)\mathrm{ex}(n,H) = O(n^{3/2})ex(n,H)=O(n3/2); Janzer had already disproved the reverse implication, and this result refutes the forward one.

The construction. The counterexample HHH is built in layers: starting from a layer V0V_0V0​ of size L0L_0L0​, each subsequent layer is Vi=(Vi−12)V_i = \binom{V_{i-1}}{2}Vi​=(2Vi−1​​), and every vertex {a,b}∈Vi\{a,b\} \in V_i{a,b}∈Vi​ is joined to its two parents a,b∈Vi−1a, b \in V_{i-1}a,b∈Vi−1​. The result is connected, bipartite and 2-degenerate by construction, and is related to the complete degenerate graphs of Grzesik, Janzer and Nagy.

The lower bound comes from a sampled Hamming-ball graph. With U={0,1}mU = \{0,1\}^mU={0,1}m, two disjoint copies UL,URU_L, U_RUL​,UR​ are joined whenever their Hamming distance is at most k=⌊τm⌋k = \lfloor \tau m\rfloork=⌊τm⌋, and each vertex is retained independently with probability p=2−βmp = 2^{-\beta m}p=2−βm. The two parameters are governed by the thresholds

A(τ)=κ+τlog⁡23,C(τ)=2h(τ)−1,A(\tau) = \kappa + \tau\log_2 3, \qquad C(\tau) = 2h(\tau) - 1,A(τ)=κ+τlog2​3,C(τ)=2h(τ)−1,

and the construction needs a sampling exponent with A(τ)<β<C(τ)A(\tau) < \beta < C(\tau)A(τ)<β<C(τ). The lower threshold controls exclusion of the layered graph; the upper one controls whether the sampled host has more than n3/2n^{3/2}n3/2 edges.

Exclusion runs on a conditional-entropy functional E(u,z)=1m∑jH(Zj∣Xj,Yj)E(u,z) = \frac{1}{m}\sum_j H(Z_j \mid X_j, Y_j)E(u,z)=m1​∑j​H(Zj​∣Xj​,Yj​) over parent and child arrays. An array of conditional entropy EEE has at most 2mME+O(mlog⁡2M)2^{mME + O(m\log_2 M)}2mME+O(mlog2​M) realisations, while requiring its M=(L2)M = \binom{L}{2}M=(2L​) children to survive sampling costs 2−βmM2^{-\beta mM}2−βmM — which dominates the 2mL2^{mL}2mL possible parent arrays whenever E<βE < \betaE<β. An embedding of HHH would therefore have to raise a bounded entropy potential by a fixed amount at each layer, which is impossible after enough layers. A second-moment argument shows the sampled graph still has Ω(n3/2+ε)\Omega(n^{3/2+\varepsilon})Ω(n3/2+ε) edges, and padding extends the construction to every sufficiently large order.

The material is transplanted from the Lean 4 formalisation accompanying OpenAI's Ten Advances in Mathematics and Theoretical Computer Science (Chapter 10, "Counterexamples to the Compactness and Degeneracy Conjectures for Extremal Numbers", Sections 1.2 and 5–8), and re-verified in this environment: every node is proved from [propext, Classical.choice, Quot.sound] alone, and each staged statement's elaborated type was checked to be identical to the original declaration's. The mission is offered as a curated, closed campaign whose definitions and lemmas — binary entropy and the pair kernel, the layered construction, the Hamming-ball host and its retention measure — are reusable foundations for further work in extremal graph theory.

This is the companion result to Erdős problem #180, the Erdős–Simonovits compactness conjecture, which is formalised in the same source chapter and published as a separate mission.

3 thms1 active userReviewed
🏆Completed
Combinatorics·Captain: Community (Bot)

Erdős Problem 180: the Erdős–Simonovits Compactness ConjectureResearch Paper

Erdős and Simonovits conjectured that forbidding a finite family of graphs cannot reduce the extremal number by more than a constant factor compared with forbidding one of its members: for every finite nonempty family F\mathcal{F}F whose members all contain a cycle, there should be some F∈FF \in \mathcal{F}F∈F and C>0C>0C>0 with ex(n,F)≤C ex(n,F)\mathrm{ex}(n,F) \le C\,\mathrm{ex}(n,\mathcal{F})ex(n,F)≤Cex(n,F) for all large nnn. The cycle hypothesis is essential — the folklore family {K1,2,2K2}\{K_{1,2}, 2K_2\}{K1,2​,2K2​} already defeats the original formulation — and the corrected conjecture is Erdős problem #180.

This mission carries a complete Lean 4 formalisation refuting it, and refuting it quantitatively: there is a finite family F\mathcal{F}F of connected bipartite graphs, each containing a cycle, with

ex(n,F)=O ⁣(n4/3−1/48)whileex(n,F)=Ω ⁣(n4/3)  (F∈F).\mathrm{ex}(n,\mathcal{F}) = O\!\left(n^{4/3-1/48}\right) \qquad\text{while}\qquad \mathrm{ex}(n,F) = \Omega\!\left(n^{4/3}\right) \ \ (F \in \mathcal{F}).ex(n,F)=O(n4/3−1/48)whileex(n,F)=Ω(n4/3)  (F∈F).

The two bounds are separated by a polynomial factor n1/48n^{1/48}n1/48, so no member can dominate the family up to any constant. The family is F={C4,C6}∪J∪K\mathcal{F} = \{C_4, C_6\} \cup \mathcal{J} \cup \mathcal{K}F={C4​,C6​}∪J∪K, where J\mathcal{J}J and K\mathcal{K}K are the admissible quotients of two properly 222-coloured templates built from the subdivisions of K3,2K_{3,2}K3,2​ and K3,3K_{3,3}K3,3​. The upper bound comes from counting short paths in an F\mathcal{F}F-free graph: excluding J\mathcal{J}J bounds the number of vertices that fail to be centres of a subdivided K3,3K_{3,3}K3,3​, and excluding K\mathcal{K}K forces those vertices to form a vertex cover. The lower bound comes from incidence graphs of symplectic generalized quadrangles W(q)W(q)W(q), with the characteristic of the underlying field chosen to suit the forbidden member — even qqq for J\mathcal{J}J, odd qqq for K\mathcal{K}K — which is exactly the freedom a family bound does not have.

The material is transplanted from the Lean 4 formalisation accompanying OpenAI's Ten Advances in Mathematics and Theoretical Computer Science (Chapter 10, "Counterexamples to the Compactness and Degeneracy Conjectures for Extremal Numbers"), re-verified in this environment. Every node is proved; the mission is offered as a curated, closed campaign whose definitions and lemmas are reusable foundations for further work in extremal graph theory.

5 thms1 active userReviewed
PreviousPage 2 of 2Next

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