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 · 49 completed

Missions

Open50Completed49All99
🏆Completed
Operations ResearchOptimizationTheoretical Computer Science·Captain: mikedeng1

A New Approach to the Maximum-Flow Problem 1: The Generic Push-Relabel Algorithm and Its Operation BoundResearch Paper

Motivation

The maximum-flow problem asks how much of a commodity can be sent from a source to a sink through a network whose edges have capacities. It is a basic model in operations research (transportation, scheduling, bipartite matching) and a standard subroutine in combinatorial optimization.

Classical algorithms, from Ford and Fulkerson (1956) through Edmonds–Karp and Dinic (1970–1972) and Karzanov (1974), increase a feasible flow along augmenting paths or blocking flows. Goldberg and Tarjan, A New Approach to the Maximum-Flow Problem (J. ACM 35(4), 1988, doi:10.1145/48014.61051), replaced this global view by a local one: the push-relabel method maintains a preflow, which may violate conservation at intermediate vertices, and moves excess along edges toward vertices with smaller distance labels. The generic method, with the basic operations applied in any order, is the starting point of the FIFO, highest-label and dynamic-tree implementations analysed later in the same paper, and push-relabel codes remain among the fastest practical maximum-flow solvers.

This mission formalizes §2–§3 of the paper: the generic algorithm is correct, and it stops after a number of basic operations bounded by an explicit polynomial in the numbers of vertices and edges, whatever order of operations is chosen.

Setting

A flow network has a finite vertex set VVV with n=∣V∣n = |V|n=∣V∣, a source sss and a sink t≠st \ne st=s, and a capacity c(v,w)≥0c(v,w) \ge 0c(v,w)≥0 for every ordered pair of vertices, positive exactly on the edges E={(v,w):c(v,w)>0}E = \{(v,w) : c(v,w) > 0\}E={(v,w):c(v,w)>0}; m=∣E∣m = |E|m=∣E∣, and there are no loops, c(v,v)=0c(v,v) = 0c(v,v)=0.

Flows are real functions on all vertex pairs. A function fff satisfies the capacity constraint if f(v,w)≤c(v,w)f(v,w) \le c(v,w)f(v,w)≤c(v,w) and antisymmetry if f(v,w)=−f(w,v)f(v,w) = -f(w,v)f(v,w)=−f(w,v) for all pairs. The excess of vvv is e(v)=∑uf(u,v)e(v) = \sum_{u} f(u,v)e(v)=∑u​f(u,v). A flow also has e(v)=0e(v) = 0e(v)=0 for v∉{s,t}v \notin \{s,t\}v∈/{s,t}; a preflow only e(v)≥0e(v) \ge 0e(v)≥0 for v≠sv \ne sv=s. The value of a flow is ∣f∣=∑vf(v,t)|f| = \sum_v f(v,t)∣f∣=∑v​f(v,t), and a maximum flow is a flow of maximum value.

The residual capacity is rf(v,w)=c(v,w)−f(v,w)r_f(v,w) = c(v,w) - f(v,w)rf​(v,w)=c(v,w)−f(v,w); pairs with rf(v,w)>0r_f(v,w) > 0rf​(v,w)>0 are the edges of the residual graph GfG_fGf​. A valid labeling is d:V→N∪{∞}d : V \to \mathbb{N} \cup \{\infty\}d:V→N∪{∞} with d(s)=nd(s) = nd(s)=n, d(t)=0d(t) = 0d(t)=0 and d(v)≤d(w)+1d(v) \le d(w) + 1d(v)≤d(w)+1 on every residual edge. A vertex vvv is active if v∉{s,t}v \notin \{s,t\}v∈/{s,t}, d(v)<∞d(v) < \inftyd(v)<∞ and e(v)>0e(v) > 0e(v)>0.

The two basic operations (Fig. 1 of the paper) are:

  • Push(v,w)(v,w)(v,w), applicable when vvv is active, rf(v,w)>0r_f(v,w) > 0rf​(v,w)>0 and d(v)=d(w)+1d(v) = d(w)+1d(v)=d(w)+1: send δ=min⁡(e(v),rf(v,w))\delta = \min(e(v), r_f(v,w))δ=min(e(v),rf​(v,w)), i.e. f(v,w)+=δf(v,w) \mathrel{+}= \deltaf(v,w)+=δ, f(w,v)−=δf(w,v) \mathrel{-}= \deltaf(w,v)−=δ. It is saturating if rf(v,w)=0r_f(v,w) = 0rf​(v,w)=0 afterwards and nonsaturating otherwise.
  • Relabel(v)(v)(v), applicable when vvv is active and d(v)≤d(w)d(v) \le d(w)d(v)≤d(w) for every residual edge (v,w)(v,w)(v,w): set d(v)←min⁡{d(w)+1:(v,w)∈Ef}d(v) \leftarrow \min\{d(w)+1 : (v,w) \in E_f\}d(v)←min{d(w)+1:(v,w)∈Ef​} (∞\infty∞ if there is none).

The generic algorithm (Fig. 2) starts from the preflow that saturates every edge leaving sss and is zero elsewhere, with the simple labeling d(s)=nd(s) = nd(s)=n, d(v)=0d(v) = 0d(v)=0 otherwise, and applies applicable basic operations in any order while one exists. An execution with KKK basic operations is a sequence of states (f0,d0),…,(fK,dK)(f_0,d_0),\dots,(f_K,d_K)(f0​,d0​),…,(fK​,dK​) from the initial state, each obtained from the previous one by one applicable operation.

Formalization targets

Goal: Theorems 3.11 and 3.4

Assume the paper's standing assumption m≥n−1m \ge n-1m≥n−1. For every execution with KKK basic operations,

K≤(2n−1)(n−2)+2nm+4n2m,K \le (2n-1)(n-2) + 2nm + 4n^2 m,K≤(2n−1)(n−2)+2nm+4n2m,

and if no basic operation applies in the final state, then fKf_KfK​ is a maximum flow. The paper states the bound as O(n2m)O(n^2m)O(n2m) and proves it as "immediate from Lemmas 3.8, 3.9, and 3.10"; the goal states the sum of those three printed bounds. Since every execution is this short, no order of operations runs forever.

Milestones

In the order the proof uses them: Lemma 2.1 (at an active vertex a push or a relabel applies); Lemma 3.1 (the labeling stays valid); Theorem 3.2 (Ford–Fulkerson: a flow is maximum iff ttt is unreachable from sss in GfG_fGf​); Lemma 3.3 (under a valid labeling ttt is unreachable from sss); Lemma 3.5 (from any vertex with positive excess, sss is reachable); Lemma 3.6 (labels never decrease; a relabeling increases the label); Lemma 3.7 (d(v)≤2n−1d(v) \le 2n-1d(v)≤2n−1 throughout); Theorem 3.4 (termination with finite labels gives a maximum flow); Lemma 3.8 (≤2n−1\le 2n-1≤2n−1 relabelings per vertex, ≤(2n−1)(n−2)<2n2\le (2n-1)(n-2) < 2n^2≤(2n−1)(n−2)<2n2 in total); Lemma 3.9 (≤2nm\le 2nm≤2nm saturating pushes); Lemma 3.10 (≤4n2m\le 4n^2m≤4n2m nonsaturating pushes, under m≥n−1m \ge n-1m≥n−1). A further, non-milestone item states the unnumbered invariant that every fkf_kfk​ is a preflow.

Significance

The generic bound shows that push-relabel terminates in a polynomial number of steps without any rule for choosing the next operation; the specific orderings of §4–§5 of the paper (first-in first-out, O(n3)O(n^3)O(n3); dynamic trees, O(nmlog⁡(n2/m))O(nm\log(n^2/m))O(nmlog(n2/m))) refine only the count of nonsaturating pushes, and reuse Lemmas 3.1–3.9 unchanged. The correctness argument, a valid labeling excludes augmenting paths, is the template for the push-relabel minimum-cost flow and assignment algorithms that followed.

These results are proved in the paper and are textbook material. Their machine-checked counterparts are, as far as is known here, not on the Prove2Me platform: the platform's network-flow statements (from Introduction to Linear Optimization, e.g. LinearOptimization.max_flow_min_cut) use a different model, with arc-indexed nonnegative flows and extended-real capacities, and contain nothing about preflows, labels or operation counts. This mission produces a formal account of the antisymmetric-flow model, of Ford–Fulkerson in that model, and of the amortized counting arguments, with the constants the paper prints.

Difficulty

The correctness half is short once the invariants are in place; the difficulty is in the counting. The label bound (Lemma 3.7) is a statement about the whole execution, and it depends on a structural fact about preflows (Lemma 3.5) whose truth rests on antisymmetry and on the nonnegativity of excesses. The obvious first idea for the push counts, bounding pushes per edge or per vertex locally, fails for nonsaturating pushes: flow pushed across a pair can be pushed back later, and nothing local limits how often this happens, so Lemma 3.10 holds only as an amortized statement over the entire execution and depends on both earlier counts. Saturating pushes on a pair can also recur, in both directions, and Lemma 3.9 has to control the interaction between the two directions.

Formally, all of this is reasoning about arbitrary interleavings of operations, with labels in N∪{∞}\mathbb{N} \cup \{\infty\}N∪{∞} and real-valued flows.

Formalization scope

  • Vertices form a finite type with decidable equality; nnn is its cardinality, s≠ts \ne ts=t, so n≥2n \ge 2n≥2 and the natural-number subtractions 2n−12n-12n−1 and n−2n-2n−2 are exact. Capacities are a real function on all pairs, nonnegative, zero on the diagonal; EEE is its support and mmm its cardinality.
  • Flows and preflows are antisymmetric real functions on all pairs (not nonnegative arc flows); the excess is computed from fff, never stored. A maximum flow is a flow whose value is at least that of every flow.
  • Labels live in ℕ∞, with ∞+1=∞\infty + 1 = \infty∞+1=∞; the relabel value is an infimum, which is ∞\infty∞ on the empty set.
  • An execution is a sequence of states σ : ℕ → State V with a length KKK, starting at the Fig. 2 state with the simple labeling (the paper's own assumption for its proofs), each step an applicable push or relabel. "Terminates" means that no basic operation applies, the loop guard of Fig. 2. The three counts are cardinalities of the sets of step indices of each kind.
  • Explicit constants: 2n−12n-12n−1 per-vertex relabelings, (2n−1)(n−2)<2n2(2n-1)(n-2) < 2n^2(2n−1)(n−2)<2n2 total relabelings, 2nm2nm2nm saturating pushes, 4n2m4n^2m4n2m nonsaturating pushes, label bound 2n−12n-12n−1, and the total (2n−1)(n−2)+2nm+4n2m(2n-1)(n-2)+2nm+4n^2m(2n−1)(n−2)+2nm+4n2m. The standing assumption m≥n−1m \ge n-1m≥n−1 appears only on Lemma 3.10 and the goal.
  • A trivializing formalization is ruled out: the step relation fixes the pushed amount δ=min⁡(e(v),rf(v,w))\delta = \min(e(v), r_f(v,w))δ=min(e(v),rf​(v,w)) and the new label exactly as in Fig. 1, termination is the loop guard rather than "the result is a flow", and a sorry-free check exhibits a concrete network s→a→ts \to a \to ts→a→t with a two-step execution (relabel aaa, then push (a,t)(a,t)(a,t)), so the run hypotheses are satisfiable.

Welcome contributions: proofs of the invariants (preflow, valid labeling, label monotonicity), of Ford–Fulkerson for antisymmetric flows (reusable beyond this mission), and of the counting lemmas. The FIFO bound of §4 is the subject of a companion mission.

Selected references

  • A. V. Goldberg, R. E. Tarjan, A New Approach to the Maximum-Flow Problem, Journal of the ACM 35(4):921–940, 1988. doi:10.1145/48014.61051
  • L. R. Ford, D. R. Fulkerson, Flows in Networks, Princeton University Press, 1962.
  • J. Edmonds, R. M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, Journal of the ACM 19(2):248–264, 1972. doi:10.1145/321694.321699
  • R. K. Ahuja, T. L. Magnanti, J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, 1993.
17 thms3 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems 2: The Augmentation Bound for Maximum-Augmentation PathsResearch Paper

Motivation

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 underlies bipartite matching, transportation, scheduling and many reductions in combinatorial optimization. The classical method for it, the labeling method of Ford and Fulkerson (Flows in Networks, 1962), repeatedly finds an augmenting path and pushes flow along it. With integer capacities it terminates, but the number of augmentations can be as large as the maximum flow value itself, and Edmonds and Karp exhibit a four-node network on which this happens (p. 250). With irrational capacities the method need not terminate at all.

Edmonds and Karp, Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems, J. ACM 19(2):248–264, 1972 (doi:10.1145/321694.321699), showed that two simple rules for choosing the augmenting path repair this. The first, augmenting along a path with fewest arcs, is the subject of mission 1 of this series. This mission covers the second (§1.3): augment along a path that gives the largest possible augmentation. For integer capacities the number of augmentations then grows only logarithmically in the maximum flow value.

Setting

A network NNN has a finite set VVV of nodes, a source sss and a sink t≠st \neq st=s, and a set of arcs, ordered pairs (u,v)(u,v)(u,v) with u≠vu \neq vu=v, at most one from each node to another. One arc is the return arc (t,s)(t,s)(t,s); the other arcs form the set AAA, and each (u,v)∈A(u,v) \in A(u,v)∈A has a 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 flow conservation at every node, sss and ttt included. Its value is f(t,s)f(t,s)f(t,s), the flow returned along the return arc; a maximum flow has the largest value among all flows, and f∗(t,s)f^*(t,s)f∗(t,s) denotes that value.

The residual network NfN^fNf has an arc (u,v)(u,v)(u,v) whenever (u,v)∈A(u,v) \in A(u,v)∈A and 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 and f(v,u)>0f(v,u) > 0f(v,u)>0. An augmenting path is a directed path s=u1,…,up=ts = u_1, \dots, u_p = ts=u1​,…,up​=t of distinct nodes in NfN^fNf. Each of its arcs (u,v)(u,v)(u,v) has a residual amount e(u,v)e(u,v)e(u,v), equal to c(u,v)−f(u,v)c(u,v) - f(u,v)c(u,v)−f(u,v), f(v,u)f(v,u)f(v,u), or c(u,v)−f(u,v)+f(v,u)c(u,v) - f(u,v) + f(v,u)c(u,v)−f(u,v)+f(v,u) according to which of (u,v)(u,v)(u,v), (v,u)(v,u)(v,u) lie in AAA, and the path's augmentation is ε=min⁡e(ui,ui+1)\varepsilon = \min e(u_i, u_{i+1})ε=mine(ui​,ui+1​). Augmenting increases f(t,s)f(t,s)f(t,s) by ε\varepsilonε and changes the flow on the arcs of the path accordingly, with the paper's own rule when both (u,v)(u,v)(u,v) and (v,u)(v,u)(v,u) are arcs. The labeling method produces flows f0,f1,…f^0, f^1, \dotsf0,f1,… by augmenting along a path relative to fkf^kfk as long as one exists.

The rule studied here chooses, at every step, an augmenting path whose ε\varepsilonε is at least that of every other augmenting path relative to the current flow. The bound involves an integer M>1M > 1M>1 such that every partition of the nodes into X∋sX \ni sX∋s and Xˉ∋t\bar X \ni tXˉ∋t has at most MMM arcs of NNN with one end on each side.

Formalization targets

Goal: Theorem 2 (p. 253)

For a network with integer capacities, MMM as above, and a run f0,…,fKf^0, \dots, f^Kf0,…,fK of the labeling method with maximum augmentations started from an integer-valued flow,

K  ≤  1+log⁡M/(M−1)f∗(t,s),K \;\le\; 1 + \log_{M/(M-1)} f^*(t,s),K≤1+logM/(M−1)​f∗(t,s),

and if no augmenting path relative to fKf^KfK exists, then fKf^KfK is a maximum flow.

Milestones

The milestone list follows the paper's argument:

  1. augmentation produces a flow of value f(t,s)+εf(t,s) + \varepsilonf(t,s)+ε (§1.1, p. 249);
  2. a flow is maximum if and only if it has no augmenting path (§1.1, pp. 249–250);
  3. with integer capacities, ε\varepsilonε is a positive integer and the flows of the method stay integer-valued (§1.1, p. 250);
  4. the cut inequality c(X,Xˉ)≥f(X,Xˉ)−f(Xˉ,X)=f(t,s)c(X,\bar X) \ge f(X,\bar X) - f(\bar X,X) = f(t,s)c(X,Xˉ)≥f(X,Xˉ)−f(Xˉ,X)=f(t,s) (p. 254);
  5. f∗(t,s)−fk(t,s)≤εkMf^*(t,s) - f^k(t,s) \le \varepsilon^k Mf∗(t,s)−fk(t,s)≤εkM, where εk=fk+1(t,s)−fk(t,s)\varepsilon^k = f^{k+1}(t,s) - f^k(t,s)εk=fk+1(t,s)−fk(t,s) (p. 254);
  6. f∗(t,s)−fk+1(t,s)≤[f∗(t,s)−fk(t,s)](1−M−1)f^*(t,s) - f^{k+1}(t,s) \le [f^*(t,s) - f^k(t,s)](1 - M^{-1})f∗(t,s)−fk+1(t,s)≤[f∗(t,s)−fk(t,s)](1−M−1) (p. 254);
  7. f∗(t,s)−fk(t,s)≤f∗(t,s)(1−M−1)kf^*(t,s) - f^k(t,s) \le f^*(t,s)(1 - M^{-1})^kf∗(t,s)−fk(t,s)≤f∗(t,s)(1−M−1)k (p. 254).

Significance

Theorem 2 was among the first bounds showing that a maximum flow algorithm can be made polynomial in the size of the numbers rather than in their values: since M≤n2/2M \le n^2/2M≤n2/2 and f∗(t,s)f^*(t,s)f∗(t,s) is at most n2n^2n2 times the average capacity, the bound is O(n2log⁡(n2cˉ))O(n^2 \log(n^2 \bar c))O(n2log(n2cˉ)) in terms of the number of nodes nnn and the average capacity cˉ\bar ccˉ (p. 254). The largest-augmentation rule, often called the fattest-path or maximum-capacity augmenting path rule, is a standard textbook variant, and its geometric-decrease argument is the model for later capacity-scaling methods, including the scaling algorithm for the Hitchcock problem in §2 of the same paper (mission 3 of this series).

The theorem has been proved since 1972 and appears in standard texts. As far as a platform search shows (2026-09-26), no machine-checked proof of it exists on Prove2Me. The platform does contain LinearOptimization.max_flow_min_cut and LinearOptimization.max_flow_ford_fulkerson_integer_termination, which state max-flow min-cut and termination of the generic method in a different network model (parallel arcs, extended nonnegative capacities, no return arc); they give no count of augmentations and are related work only. This mission would contribute a formal proof of the counting bound together with the general labeling-method facts (milestones 1–3), which mission 1 needs as well.

Difficulty

The obvious argument, that each augmentation raises the value by at least 1, gives only the bound f∗(t,s)f^*(t,s)f∗(t,s), and on the four-node example of p. 250 that bound is attained by an arbitrary choice of paths. The logarithmic bound needs a lower bound on the size of the largest augmentation in terms of the remaining gap f∗(t,s)−fk(t,s)f^*(t,s) - f^k(t,s)f∗(t,s)−fk(t,s). The largest augmentation is defined by comparison with all augmenting paths relative to the current flow, while the gap is a global quantity of the network, and neither integrality nor the maximum-augmentation rule alone controls it. Milestone 2's converse, that a non-maximum flow always admits an augmenting path, is itself the max-flow min-cut theorem in this model, and the formal proof has to establish it for the paper's return-arc model rather than import it from a different one.

Formalization scope

  • Nodes form a finite type V with decidable equality. A : Finset (V × V) contains no loops and not (t,s)(t,s)(t,s). Capacities are real, c : V → V → ℝ, positive on A. Integrality is the hypothesis IntegralCaps N, and for the initial flow IsIntegralOn N (f 0) (integer values on the arcs of NNN, the return arc included).
  • Flows are functions V → V → ℝ constrained only on the arcs of NNN. A maximum flow is the predicate IsMaxFlow, comparing f(t,s)f(t,s)f(t,s) with every flow, not a supremum. The goal takes a maximum flow g as a hypothesis and sets f∗(t,s)=g(t,s)f^*(t,s) = g(t,s)f∗(t,s)=g(t,s); every network has one.
  • Augmenting paths are duplicate-free node lists whose consecutive pairs are arcs of NfN^fNf. The page prints Case (b) of the definition of εi\varepsilon_iεi​ with the same hypothesis as Case (c); the corrected Case (b), (u,v)∉A(u,v) \notin A(u,v)∈/A and (v,u)∈A(v,u) \in A(v,u)∈A, is used, as the definition of NfN^fNf (p. 251) and the list for e(u,v)e(u,v)e(u,v) (p. 253) confirm.
  • A run is IsMaxAugRun N K f P. Its initial flow is arbitrary except for integrality, and each later flow is the augmentation of the previous one along a path of maximum ε\varepsilonε among all augmenting paths.
  • The crossing bound CrossArcsBounded N M counts the arcs of NNN, return arc included, with one end on each side of every sss–ttt partition. This is the literal reading of p. 253.
  • Explicit constants. The bound is exactly 1+log⁡M/(M−1)f∗(t,s)1 + \log_{M/(M-1)} f^*(t,s)1+logM/(M−1)​f∗(t,s), written (K : ℝ) ≤ 1 + Real.logb ((M : ℝ) / ((M : ℝ) - 1)) (g N.t N.s) with M>1M > 1M>1 a natural number. When f∗(t,s)=0f^*(t,s) = 0f∗(t,s)=0, Real.logb gives 000 and the bound reads K≤1K \le 1K≤1. The contraction factor is 1 - (M : ℝ)⁻¹.
  • A statement that bounds only runs of an unsatisfiable step predicate, drops the integrality of f0f^0f0 or of the capacities (the bound is false without them), or compares ε\varepsilonε only among paths of some restricted class does not formalize Theorem 2. A sorry-free check exhibits a four-node network with integer capacities and a valid maximum-augmentation step.
  • Reusable beyond this mission: the return-arc network model, the augmentation step with the paper's opposite-arc rule, the integrality lemma, and the cut inequality. Proofs of any milestone are welcome, as are proofs of the converse in milestone 2 that could later be shared with mission 1.

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, Flows in Networks, RAND report R-375-PR, 1962; Princeton University Press, 1962. https://www.rand.org/pubs/reports/R375.html
11 thms3 active usersReviewed
🏆Completed
CombinatoricsDynamic ProgrammingOperations Research·Captain: mikedeng1

The Steiner Problem in Graphs: Algorithm A Computes the Length of the Steiner TreeResearch Paper

Motivation

The Steiner problem in graphs asks for the cheapest way to connect a prescribed set of nodes of a network, where intermediate nodes may be used freely. It is the network version of the classical Euclidean Steiner tree problem surveyed by Gilbert and Pollak (SIAM J. Appl. Math. 16, 1968), and it arises wherever a few sites must be joined through an existing network at minimum total cost: communication and pipeline layout, VLSI routing, and phylogenetics. With two terminals it is the shortest-path problem; with all nodes as terminals it is the minimum spanning tree problem; in between it is NP-hard.

Dreyfus and Wagner (Networks 1(3):195–207, 1971) gave the first exact algorithm whose running time is exponential only in the number kkk of terminals and polynomial in the number nnn of nodes. The paper states it, as Algorithm A, together with its proof of correctness and an exact count of its elementary operations.

Timeline. 1968: Gilbert and Pollak survey Steiner minimal trees. 1971: Dreyfus and Wagner, a dynamic program over subsets of terminals running in time proportional to n3/2+n2(2k−1−k−1)+n(3k−1−2k+3)/2n^3/2 + n^2(2^{k-1}-k-1) + n(3^{k-1}-2^k+3)/2n3/2+n2(2k−1−k−1)+n(3k−1−2k+3)/2. 1987: Erickson, Monma and Veinott give the same subset recursion for general network flow problems. 2007: Björklund, Husfeldt, Kaski and Koivisto (STOC 2007) improve the exponential dependence on kkk for small integer weights. The Dreyfus–Wagner recursion remains the standard exact method and the basis of the fixed-parameter tractability of the problem in kkk.

Setting

A graph G=(N,A)G = (N, A)G=(N,A) has a finite set NNN of nodes and a set AAA of undirected arcs, each arc aaa having a positive length ∣a∣|a|∣a∣; GGG is connected. For a set S⊆AS \subseteq AS⊆A of arcs, ∣S∣=∑s∈S∣s∣|S| = \sum_{s \in S} |s|∣S∣=∑s∈S​∣s∣. A set SSS connects a node set XXX if all members of XXX are joined by paths composed only of arcs in SSS.

Given Y⊆NY \subseteq NY⊆N, a Steiner path (or Steiner tree) connecting YYY is a set S⊆AS \subseteq AS⊆A that connects YYY with ∣S∣|S|∣S∣ minimum. Its length is the Steiner length St⁡(Y)\operatorname{St}(Y)St(Y). For nodes i,ji, ji,j, D(i,j)D(i,j)D(i,j) is the length of a shortest path from iii to jjj; D(i,j)=St⁡({i,j})D(i,j) = \operatorname{St}(\{i,j\})D(i,j)=St({i,j}).

Algorithm A fixes a linear order of NNN (so that each nonempty set DDD has a first element D[1]D[1]D[1]), picks q∈Yq \in Yq∈Y, sets C=Y−{q}C = Y - \{q\}C=Y−{q}, and fills a table S[D,I]S[D, I]S[D,I] for nonempty D⊊CD \subsetneq CD⊊C and I∈NI \in NI∈N:

S[{t},I]=D(t,I),S[D,I]=min⁡J∈N(D(I,J)+min⁡D[1]∈E⊊D(S[E,J]+S[D−E,J])),S[\{t\}, I] = D(t, I), \qquad S[D, I] = \min_{J \in N}\Big(D(I,J) + \min_{D[1] \in E \subsetneq D}\big(S[E,J] + S[D-E,J]\big)\Big),S[{t},I]=D(t,I),S[D,I]=J∈Nmin​(D(I,J)+D[1]∈E⊊Dmin​(S[E,J]+S[D−E,J])),

and returns

v=min⁡J∈N(D(q,J)+min⁡C[1]∈E⊊C(S[E,J]+S[C−E,J])).v = \min_{J \in N}\Big(D(q,J) + \min_{C[1] \in E \subsetneq C}\big(S[E,J] + S[C-E,J]\big)\Big).v=J∈Nmin​(D(q,J)+C[1]∈E⊊Cmin​(S[E,J]+S[C−E,J])).

A minimum over an empty set is +∞+\infty+∞. In the Lean development these objects are steinerLength, pathDist, tableA and algorithmA in the namespace DreyfusWagner.Steiner.

Formalization targets

Goal: Algorithm A is exact

For every finite connected graph with positive arc lengths, every linear order on its nodes, every YYY with ∥Y∥≥3\|Y\| \ge 3∥Y∥≥3 and every q∈Yq \in Yq∈Y,

v=St⁡(Y).v = \operatorname{St}(Y).v=St(Y).

This is the caption of Algorithm A ("Computes the length of the Steiner tree connecting YYY", p. 203). The statement is an equality, not a bound.

Milestones

In the order the proof uses them:

  1. A Steiner path is a tree (§1, p. 197): a minimum connecting arc set contains no cycle.
  2. The two-node case (Appendix A, p. 205): St⁡({i,j})=D(i,j)\operatorname{St}(\{i,j\}) = D(i,j)St({i,j})=D(i,j).
  3. Theorem 1 (Appendix A, p. 206): for a Steiner tree SSS, a node xxx on it, and a set CCC of arcs of SSS at xxx, the arcs of SSS connecting xxx to the terminals reached through CCC form a Steiner tree for those terminals together with xxx.
  4. Optimal Decomposition Theorem (Appendix A, p. 206): if ∥Y∥≥3\|Y\| \ge 3∥Y∥≥3 and q∈Yq \in Yq∈Y, a Steiner tree for YYY splits into three disjoint Steiner paths, for {p,q}\{p,q\}{p,q}, {p}∪D\{p\} \cup D{p}∪D and {p}∪(Y−D−{q})\{p\} \cup (Y - D - \{q\}){p}∪(Y−D−{q}), where p∈Np \in Np∈N and ∅≠D⊊Y−{q}\emptyset \ne D \subsetneq Y - \{q\}∅=D⊊Y−{q}.
  5. The recurrence (§2, pp. 199–200): for ∥D∥≥2\|D\| \ge 2∥D∥≥2 and any node mmm,
St⁡({m}∪D)=min⁡k∈N(D(m,k)+min⁡∅≠E⊊D(St⁡({k}∪E)+St⁡({k}∪(D−E)))).\operatorname{St}(\{m\} \cup D) = \min_{k \in N}\Big(D(m,k) + \min_{\emptyset \ne E \subsetneq D}\big(\operatorname{St}(\{k\} \cup E) + \operatorname{St}(\{k\} \cup (D - E))\big)\Big).St({m}∪D)=k∈Nmin​(D(m,k)+∅=E⊊Dmin​(St({k}∪E)+St({k}∪(D−E)))).
  1. The table invariant (§2, p. 200): S[D,I]=St⁡({I}∪D)S[D, I] = \operatorname{St}(\{I\} \cup D)S[D,I]=St({I}∪D) for every nonempty DDD and every III.

Two companion items accompany the goal: the numerical illustration of §3 (seven nodes, St⁡(Y)=5\operatorname{St}(Y) = 5St(Y)=5, Algorithm A returns 555), and the exact count of elementary statements of §5, n2(2k−1−k−1)+n(3k−1−2k+3)/2n^2(2^{k-1}-k-1) + n(3^{k-1}-2^k+3)/2n2(2k−1−k−1)+n(3k−1−2k+3)/2.

Significance

The result turns the Steiner problem with few terminals into a polynomial computation in the size of the network: for fixed kkk the running time is O(n3)O(n^3)O(n3) including all-pairs shortest paths. It is the reference exact algorithm against which heuristics and approximation algorithms for Steiner trees are evaluated, a standard example of dynamic programming over subsets, and the origin of the fixed-parameter tractability of the Steiner tree problem parameterized by the number of terminals. The subset recurrence reappears in group Steiner, prize-collecting and directed Steiner variants.

The paper's proof is complete and the result is classical; it has not, to our knowledge, been machine-checked. This mission produces a checked account of the exactness of the recursion: the structural facts about minimum connecting arc sets (acyclicity, optimality of branches, the three-way decomposition) and the passage from these to the algorithm's table. These facts about weighted graphs, minimum connecting arc sets and shortest paths are reusable well beyond this paper.

Difficulty

The upper bound v≥St⁡(Y)v \ge \operatorname{St}(Y)v≥St(Y) is routine: each term of each minimum is the length of some connecting arc set, so no term can beat the optimum. The content is the reverse inequality, which needs the Optimal Decomposition Theorem: one must show that some optimal tree actually splits at a single node ppp into a shortest path to qqq and two optimal subtrees whose terminal sets partition Y−{q}Y - \{q\}Y−{q} into two nonempty parts. The naive choice p=qp = qp=q fails when qqq is a leaf, and the choice of the first branching node fails when the path from qqq meets another terminal first; the paper handles these as separate cases. A second difficulty is the passage from arc sets to trees: minimum connecting sets are forests only because lengths are positive, and "the arcs of SSS involved in connecting" a set of terminals must be identified with a subtree. Finally the table recursion must be matched with the recurrence, including the restriction D[1]∈ED[1] \in ED[1]∈E that enumerates each splitting once.

Formalization scope

Nodes are a finite type V with a LinearOrder (the paper's "(ordered) set"; the goal holds for every order). The graph is a SimpleGraph V with decidable adjacency, arcs are unordered pairs Sym2 V, and lengths are ℓ : Sym2 V → ℝ. Every theorem assumes the paper's standing hypotheses of p. 195: all arcs of GGG have positive length (∀ e ∈ G.edgeSet, 0 < ℓ e) and GGG is connected. The paper allows several arcs between the same two nodes; the simple-graph model keeps one, which does not change any Steiner length since an optimal set uses only the shortest of parallel arcs. Connecting means reachability in the graph formed by the arcs of SSS. Steiner lengths, D(i,j)D(i,j)D(i,j) and all minima of the algorithm take values in WithTop ℝ, where ⊤ is +∞+\infty+∞, ⊤ + x = ⊤ and an empty minimum is ⊤; no real-valued infimum with a junk value is used. D(i,j)D(i,j)D(i,j) is a minimum over paths of GGG.

The goal assumes ∥Y∥≥3\|Y\| \ge 3∥Y∥≥3, the paper's own hypothesis (Appendix A, p. 205). For ∥Y∥=2\|Y\| = 2∥Y∥=2 Algorithm A as printed returns +∞+\infty+∞ because line (18) admits no set EEE; the two-node case is covered by milestone 2. The algorithm is defined from D(i,j)D(i,j)D(i,j), addition and minima only: a formalization in which tableA or algorithmA refers to Steiner lengths, or in which the goal only asserts v≥St⁡(Y)v \ge \operatorname{St}(Y)v≥St(Y), would be trivial and is ruled out. The loop order of lines (4)–(14) is replaced by recursion on ∥D∥\|D\|∥D∥, which the paper states is immaterial (p. 203).

Useful infrastructure: sums of lengths along walks and paths, reachability in edge-subgraphs, acyclicity of minimum connecting sets, and splitting a tree at a node. Contributions of these as reusable lemmas are welcome, as are proofs of individual milestones in any order. Tree reconstruction (§2, p. 200) and the empirical running times (p. 205) are out of scope.

Selected references

  • S. E. Dreyfus, R. A. Wagner, The Steiner Problem in Graphs, Networks 1(3):195–207, 1971. https://doi.org/10.1002/net.3230010302
  • E. N. Gilbert, H. O. Pollak, Steiner Minimal Trees, SIAM Journal on Applied Mathematics 16(1):1–29, 1968. https://doi.org/10.1137/0116001
  • R. W. Floyd, Algorithm 97: Shortest Path, Communications of the ACM 5(6):345, 1962. https://doi.org/10.1145/367766.368168
  • R. E. Erickson, C. L. Monma, A. F. Veinott Jr., Send-and-Split Method for Minimum-Concave-Cost Network Flows, Mathematics of Operations Research 12(4):634–664, 1987. https://doi.org/10.1287/moor.12.4.634
  • A. Björklund, T. Husfeldt, P. Kaski, M. Koivisto, Fourier Meets Möbius: Fast Subset Convolution, STOC 2007, 67–74. https://doi.org/10.1145/1250790.1250801
10 thms3 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Shortest Connection Networks And Some Generalizations: Construction Principles P1 and P2 Yield a Shortest Spanning Subtree of Every Connected Labelled GraphResearch Paper

Motivation

Connecting a set of terminals by a network of direct links of least total length is one of the oldest problems of combinatorial optimization. R. C. Prim's 1957 paper in the Bell System Technical Journal (DOI) was motivated by the rate structure for Bell System leased-line services, in which the charge for connecting a set of terminals depends on the length of a shortest network connecting them. The paper states two local construction principles, P1 and P2, and shows that any sequence of their applications produces a shortest network, first for points in the plane and then for arbitrary connected labelled graphs with arbitrary real edge lengths. The paper's §V specialization of the principles, growing a single fragment, is what is now called Prim's algorithm, and its §IV statement is the form of the minimum spanning tree theorem used throughout network design, clustering and approximation algorithms.

Timeline. O. Borůvka (1926) solved the problem for an electrical network in Moravia; V. Jarník (1930) gave the single-fragment procedure; J. B. Kruskal (1956, Proc. AMS 7, 48–50) proved that adding globally shortest links avoiding cycles yields a shortest spanning tree; Prim (1957) gave the more permissive principles P1 and P2, which contain both the Jarník procedure and Kruskal's rule as special orders of application; E. W. Dijkstra (1959) rediscovered the single-fragment procedure.

Setting

Let VVV be a finite set of NNN terminals and GGG a simple graph on VVV, the labelled graph whose edges are the possible links. Each edge eee carries a real length w(e)w(e)w(e); lengths may be negative, zero, or tie. For a finite set FFF of links, H(F)H(F)H(F) denotes the graph on VVV whose edges are the links of FFF.

  • A spanning subtree of GGG is a set FFF of edges of GGG such that H(F)H(F)H(F) is a tree on VVV. Its length is ℓw(F)=∑e∈Fw(e)\ell_w(F) = \sum_{e \in F} w(e)ℓw​(F)=∑e∈F​w(e).
  • A shortest spanning subtree (SSS) is a spanning subtree of least length among all spanning subtrees of GGG. Prim's dictionary is "shortest connection network (SCN) ↔ shortest spanning subtree (SSS)". L(G,w)L(G,w)L(G,w) denotes that least length.
  • Given the links FFF made so far, the connected components of H(F)H(F)H(F) are the isolated terminals (one terminal) and isolated fragments (two or more terminals).
  • Principle 1: any isolated terminal ttt can be connected to a nearest neighbor, a GGG-neighbor nnn with w({t,n})≤w({t,m})w(\{t,n\}) \le w(\{t,m\})w({t,n})≤w({t,m}) for all GGG-neighbors mmm of ttt.
  • Principle 2: any isolated fragment CCC can be connected to a nearest neighbor n∉Cn \notin Cn∈/C by a shortest available link {u,n}\{u,n\}{u,n}, u∈Cu \in Cu∈C; equivalently {u,n}\{u,n\}{u,n} is a shortest edge of GGG with one end in CCC and the other outside.
  • A construction is a sequence of links e0,e1,…e_0, e_1, \dotse0​,e1​,…, each an application of P1 or P2 with respect to the links before it. It is complete when it has N−1N-1N−1 links.

Only edges of GGG are possible links; in Prim's distance table a missing edge has length ∞\infty∞.

Formalization targets

Goal (§IV, p. 1396)

For every finite connected graph GGG and every www,

(∃ a complete construction) ∧ (∀ complete constructions e0,…,eN−2: {e0,…,eN−2} is a SSS of G).\Bigl(\exists\ \text{a complete construction}\Bigr) \ \wedge\ \Bigl(\forall\ \text{complete constructions } e_0,\dots,e_{N-2}:\ \{e_0,\dots,e_{N-2}\} \text{ is a SSS of } G\Bigr).(∃ a complete construction) ∧ (∀ complete constructions e0​,…,eN−2​: {e0​,…,eN−2​} is a SSS of G).

This is the sentence "P1 and P2 will provide a SSS for any connected labelled graph with any set of real edge lengths." It fixes nothing about the order of applications, the component chosen, or the tie-breaking.

Milestones

  1. Counting (§II, p. 1392): after any construction with kkk links, H(F)H(F)H(F) is acyclic with N−kN-kN−k components; a complete construction is a spanning subtree; a construction with fewer than N−1N-1N−1 links can be extended.
  2. Necessary Condition 1 (p. 1392): every terminal of a SSS is linked in it to at least one nearest neighbor.
  3. Necessary Condition 2 (p. 1392): every fragment SSS of a SSS, ∅≠S≠V\emptyset \ne S \ne V∅=S=V, is linked in it to a nearest neighbor by a shortest available link.
  4. Distinct lengths (§III, p. 1393): if the edge lengths are pairwise distinct, every link of every construction belongs to every SSS.
  5. Continuity (§III, p. 1394): w↦L(G,w)w \mapsto L(G,w)w↦L(G,w) is continuous.

Significance

The goal is the correctness theorem of a whole family of greedy minimum spanning tree procedures at once: Jarník–Prim (one growing fragment), Kruskal (globally shortest link first) and Borůvka-style interleavings all produce sequences of P1/P2 applications. Because lengths are arbitrary reals, it also covers maximum spanning trees by a sign change (p. 1397) and graphs that are not complete.

The result is classical and fully proved in the literature. What this mission adds is a machine-checked statement in exactly Prim's generality. Mathlib has spanning trees of connected graphs (SimpleGraph.Connected.exists_isTree_le) and the edge count of trees, but no minimum spanning tree theory. Existing Prove2Me items on minimum spanning trees are either restricted to complete graphs with distance matrices or state a cut property in existence form at a single vertex; none states Prim's principles or his necessary conditions.

Difficulty

The obvious argument, "each link P1 or P2 adds belongs to the shortest network", uses a unique shortest network, and that fails with ties: when two links tie, a P1/P2 link need not lie in a given SSS. Prim's own treatment of ties (§III) is an informal perturbation argument; the formal statement must hold for every tie-breaking choice made during a construction, not only for a generic perturbed instance. Negative lengths remove the easy reading "shortest connected spanning subgraph": the minimum must range over trees only. The statements also involve the component structure of H(F)H(F)H(F) as it changes during a construction, and tree paths in an arbitrary, not necessarily complete, graph.

Formalization scope

Namespace ShortestConnection.Principles, Mathlib SimpleGraph. Conventions:

  • VVV is a Fintype with decidable equality; GGG is a SimpleGraph V (at most one link per pair, no loops, which is Prim's setting). Lengths are w : Sym2 V → ℝ; only values on edges of GGG matter.
  • Link sets are Finset (Sym2 V); linkGraph F is SimpleGraph.fromEdgeSet F. A spanning subtree requires ↑F ⊆ G.edgeSet and (linkGraph F).IsTree.
  • An isolated fragment is a whole connected component of linkGraph F; the P2 condition is a single inequality against every GGG-edge leaving it, which is equivalent to "nearest neighbor and shortest link" in Prim's sense.
  • A construction is a List (Sym2 V) checked entrywise against l.take i; complete means length Fintype.card V - 1 (natural subtraction, used only for nonempty VVV).
  • LLL is sInf of the lengths of spanning subtrees; continuity is in the product topology.

Implicit hypotheses made explicit: GGG connected (hence V≠∅V \ne \emptysetV=∅) wherever an SSS or a complete construction is involved; at least two terminals for Necessary Condition 1; SSS nonempty and S≠VS \ne VS=V for Necessary Condition 2; pairwise distinct edge lengths only in milestone 4, as in the paper's temporary assumption.

The goal's existence clause rules out a vacuous formalization in which no complete construction exists; the step predicates are defined from lengths and components only, never through shortest spanning subtrees, and they are not restricted to one growing fragment or to the globally shortest link.

Needed infrastructure: tree exchange (adding an edge to a spanning tree creates one cycle; removing any other cycle edge yields a spanning tree), component counts under edge addition, and minima of finitely many continuous functions. The exchange and counting lemmas are reusable for any matroid-greedy or spanning-tree mission. Contributions of intermediate lemmas, and proofs of the milestones in any order, are welcome.

Selected references

  • 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
  • J. B. Kruskal, On the shortest spanning subtree of a graph and the traveling salesman problem, Proceedings of the AMS 7 (1956), 48–50. https://doi.org/10.1090/S0002-9939-1956-0078686-7
  • V. Jarník, O jistém problému minimálním, Práce Moravské Přírodovědecké Společnosti 6 (1930), 57–63.
  • O. Borůvka, O jistém problému minimálním, Práce Moravské Přírodovědecké Společnosti 3 (1926), 37–58.
  • R. L. Graham, P. Hell, On the history of the minimum spanning tree problem, Annals of the History of Computing 7 (1985), 43–57. https://doi.org/10.1109/MAHC.1985.10011
10 thms3 active usersReviewed
🏆Completed
ProbabilityTheoretical Computer Science·Captain: mikedeng1

A Simple Parallel Algorithm for the Maximal Independent Set Problem I: One Round of Monte Carlo Algorithm A or B Removes an Expected Eighth of the EdgesResearch Paper

Motivation

A maximal independent set (MIS) of a graph is a set of vertices, no two adjacent, to which no further vertex can be added. Sequentially an MIS is found greedily in linear time, but the greedy scan is inherently serial. Whether an MIS can be found fast in parallel was a central question of parallel complexity in the early 1980s: an MIS algorithm is a subroutine for maximal matching, vertex colouring with Δ+1\Delta + 1Δ+1 colours, and many other symmetry-breaking tasks.

  • Karp and Wigderson (STOC 1984; J. ACM 32, 1985) gave the first fast parallel algorithms for MIS: a randomized one and a deterministic one, both with running time O((log⁡n)4)O((\log n)^4)O((logn)4), placing MIS in NC4^44.
  • Luby (SIAM J. Comput. 15(4), 1986) gave the Monte Carlo algorithms analysed in this mission, together with a derandomization that yields a deterministic EREW P-RAM algorithm with O((log⁡n)2)O((\log n)^2)O((logn)2) running time, placing MIS in NC2^22. Alon, Babai and Itai (J. Algorithms 7, 1986) independently found a Monte Carlo algorithm similar to Algorithm B.

Luby's algorithm is the standard textbook example of a randomized parallel algorithm and remains the basis of distributed MIS algorithms in the LOCAL model. Its analysis rests on one statement, Theorem 1 of the paper, which this mission formalizes.

Setting

All algorithms in the paper run the same loop on a finite simple undirected input graph G=(V,E)G = (V, E)G=(V,E) with n=∣V∣n = |V|n=∣V∣ vertices. The current graph is G′=(V′,E′)G' = (V', E')G′=(V′,E′), initially GGG. For W⊆V′W \subseteq V'W⊆V′ the neighbourhood is N(W)={i∈V′:∃j∈W, (i,j)∈E′}N(W) = \{ i \in V' : \exists j \in W,\ (i,j) \in E' \}N(W)={i∈V′:∃j∈W, (i,j)∈E′}. One execution of the loop body selects a set I′⊆V′I' \subseteq V'I′⊆V′ independent in G′G'G′, adds it to the output, and replaces G′G'G′ by the subgraph induced on V′−(I′∪N(I′))V' - (I' \cup N(I'))V′−(I′∪N(I′)). The loop stops when G′G'G′ is empty.

For i∈V′i \in V'i∈V′ write adj(i)\mathrm{adj}(i)adj(i) for its neighbours and d(i)=∣adj(i)∣d(i) = |\mathrm{adj}(i)|d(i)=∣adj(i)∣ for its degree. The two Monte Carlo select steps are:

  • Algorithm A. Every vertex draws a priority π(i)\pi(i)π(i) uniformly from {1,…,n4}\{1, \dots, n^4\}{1,…,n4}, independently. A vertex enters I′I'I′ when its priority is strictly smaller than the priority of each of its neighbours.
  • Algorithm B. Every vertex independently sets coin(i)=1\mathrm{coin}(i) = 1coin(i)=1 with probability 1/(2d(i))1/(2d(i))1/(2d(i)), or always if d(i)=0d(i) = 0d(i)=0. Let XXX be the set of vertices with coin 111. A vertex of XXX enters I′I'I′ when each of its neighbours in XXX has strictly smaller degree.

Let YkY_kYk​ be the number of edges of E′E'E′ before the kkk-th execution of the loop body. The number of edges eliminated by that execution is Yk−Yk+1Y_k - Y_{k+1}Yk​−Yk+1​: exactly the edges of G′G'G′ with at least one endpoint in I′∪N(I′)I' \cup N(I')I′∪N(I′). For d(i)≥1d(i) \ge 1d(i)≥1 the paper uses the weight sum(i)=∑j∈adj(i)1/d(j)\mathrm{sum}(i) = \sum_{j \in \mathrm{adj}(i)} 1/d(j)sum(i)=∑j∈adj(i)​1/d(j).

Formalization targets

Goal: Theorem 1

For the current graph G′G'G′ and n≥max⁡(1,∣V′∣)n \ge \max(1, |V'|)n≥max(1,∣V′∣),

E[YkA−Yk+1A]≥18 YkA−116,E[YkB−Yk+1B]≥18 YkB.E\big[Y_k^A - Y_{k+1}^A\big] \ge \tfrac18\, Y_k^A - \tfrac1{16}, \qquad E\big[Y_k^B - Y_{k+1}^B\big] \ge \tfrac18\, Y_k^B .E[YkA​−Yk+1A​]≥81​YkA​−161​,E[YkB​−Yk+1B​]≥81​YkB​.

The constants are those printed in the paper. No connectivity, degree or size condition on G′G'G′ is assumed.

Milestones

  1. §3.2, p. 1040. The priorities of Algorithm A are pairwise distinct with probability at least 1−1/(2n2)1 - 1/(2n^2)1−1/(2n2).
  2. TECHNICAL LEMMA, p. 1043. For p1≥⋯≥pn≥0p_1 \ge \dots \ge p_n \ge 0p1​≥⋯≥pn​≥0 and c>0c > 0c>0, with αl=∑j≤lpj\alpha_l = \sum_{j \le l} p_jαl​=∑j≤l​pj​, βl=∑j<k≤lpjpk\beta_l = \sum_{j < k \le l} p_j p_kβl​=∑j<k≤l​pj​pk​ and γl=αl−cβl\gamma_l = \alpha_l - c\beta_lγl​=αl​−cβl​,
max⁡1≤l≤nγl≥12min⁡{αn,1/c}.\max_{1 \le l \le n} \gamma_l \ge \tfrac12 \min\{\alpha_n, 1/c\}.1≤l≤nmax​γl​≥21​min{αn​,1/c}.
  1. LEMMA A (Beame), p. 1041. For Algorithm A and d(i)≥1d(i) \ge 1d(i)≥1,
Pr⁡[i∈N(I′)]≥[14min⁡{sum(i),1}](1−12n2).\Pr[i \in N(I')] \ge \big[\tfrac14\min\{\mathrm{sum}(i), 1\}\big]\big(1 - \tfrac{1}{2n^2}\big).Pr[i∈N(I′)]≥[41​min{sum(i),1}](1−2n21​).
  1. LEMMA B, p. 1042. For Algorithm B and d(i)≥1d(i) \ge 1d(i)≥1,
Pr⁡[i∈N(I′)]≥14min⁡{sum(i)/2,1}.\Pr[i \in N(I')] \ge \tfrac14 \min\{\mathrm{sum}(i)/2, 1\}.Pr[i∈N(I′)]≥41​min{sum(i)/2,1}.
  1. Proof of Theorem 1, first display, p. 1041. For any random choice of I′I'I′,
E[Yk−Yk+1]≥12∑id(i)Pr⁡[i∈I′∪N(I′)]≥12∑id(i)Pr⁡[i∈N(I′)].E[Y_k - Y_{k+1}] \ge \tfrac12 \sum_i d(i)\Pr[i \in I' \cup N(I')] \ge \tfrac12 \sum_i d(i) \Pr[i \in N(I')].E[Yk​−Yk+1​]≥21​i∑​d(i)Pr[i∈I′∪N(I′)]≥21​i∑​d(i)Pr[i∈N(I′)].
  1. Proof of Theorem 1, closing chain, p. 1041.
12∑sum(i)≤2d(i) sum(i)+∑sum(i)>2d(i)≥∣E′∣.\tfrac12 \sum_{\mathrm{sum}(i) \le 2} d(i)\,\mathrm{sum}(i) + \sum_{\mathrm{sum}(i) > 2} d(i) \ge |E'|.21​sum(i)≤2∑​d(i)sum(i)+sum(i)>2∑​d(i)≥∣E′∣.

Significance

Theorem 1 says that each round removes, in expectation, a constant fraction of the remaining edges. From it the paper derives that the expected number of rounds of either algorithm is O(log⁡n)O(\log n)O(logn), and hence that MIS has a Monte Carlo algorithm running in O(log⁡n)O(\log n)O(logn) expected time on a CRCW P-RAM and O((log⁡n)2)O((\log n)^2)O((logn)2) on an EREW P-RAM with O(m)O(m)O(m) processors. Algorithm B and the proof of part (2) are also the basis of the paper's deterministic algorithm: the analysis of Lemma B uses only pairwise independence of the coins. The companion mission (A Simple Parallel Algorithm for the Maximal Independent Set Problem II) formalizes that derandomization and reuses the statements of milestones 2, 5 and 6.

The results are proved in the paper and reproduced in textbooks (e.g. Motwani and Raghavan, Randomized Algorithms), but not formalized: no statement of Theorem 1, Lemma A or Lemma B was found on the platform. A formal proof would make the per-round analysis of a standard parallel randomized algorithm reusable. That includes the degree-weighted counting of milestone 6 and the Bonferroni-type bound of the Technical Lemma, both of which recur in later analyses of distributed symmetry breaking.

Difficulty

The obvious argument tries to show that a fixed vertex enters I′I'I′ with good probability. That fails, because a high-degree vertex rarely wins against all its neighbours. The analysis instead bounds the probability that a vertex is removed, i.e. lands in N(I′)N(I')N(I′). This event is a union over neighbours of dependent events, so the first Bonferroni inequality alone does not give a lower bound: the pairwise-intersection terms must be controlled. The union bound can also be very lossy when sum(i)\mathrm{sum}(i)sum(i) is large, which is why the conclusion involves a minimum with a constant.

A second obstacle is the passage from vertices to edges: vertices of small sum(i)\mathrm{sum}(i)sum(i) can have high degree while contributing little probability. The per-vertex bounds therefore have to be summed with degree weights and redistributed over edges. For Algorithm A there is an additional complication: priorities from {1,…,n4}\{1, \dots, n^4\}{1,…,n4} can collide, so the argument about a uniformly random order holds only on the event that π\piπ is injective. That event appears as the factor 1−1/(2n2)1 - 1/(2n^2)1−1/(2n2).

Formalization scope

  • Graph. The current graph G′G'G′ is a SimpleGraph V on a finite type with decidable adjacency, and V′=VV' = VV′=V. The degree is SimpleGraph.degree, adj(i)\mathrm{adj}(i)adj(i) is neighborFinset, and Yk=∣E′∣Y_k = |E'|Yk​=∣E′∣ is edgeFinset.card.
  • Conditional form. Theorem 1 is stated for a fixed current graph G′G'G′, i.e. conditionally on the first k−1k - 1k−1 rounds, as in the paper's proof. The unconditional statement follows by averaging.
  • Input size. nnn is a parameter with 1≤n1 \le n1≤n and ∣V′∣≤n|V'| \le n∣V′∣≤n. It is not fixed to ∣V′∣|V'|∣V′∣, which would cover only the first round.
  • Select steps. Both endpoints' ALGEDGE runs are applied to every edge, since E′E'E′ contains each edge in both orientations. Hence Algorithm A keeps iii iff π(i)<π(j)\pi(i) < \pi(j)π(i)<π(j) for all neighbours jjj. Algorithm B keeps i∈Xi \in Xi∈X iff d(j)<d(i)d(j) < d(i)d(j)<d(i) for all neighbours j∈Xj \in Xj∈X. Algorithm B's I′I'I′ starts at XXX; the page leaves I′I'I′ uninitialized in §3.3, and Algorithm D's code (p. 1047) has I′←XI' \leftarrow XI′←X.
  • Laws. Probabilities and expectations are explicit finite sums: uniform over the (n4)∣V∣(n^4)^{|V|}(n4)∣V∣ priority vectors, and the product law over the 2∣V∣2^{|V|}2∣V∣ coin vectors. A coin of an isolated vertex is 111 with probability 111, as on the page.
  • Milestones. Milestone 5 is stated for an arbitrary finite distribution of I′I'I′, which contains both algorithms' laws. Milestone 6 divides out the common factor 18\tfrac1881​ of the printed chain.

Theorem 1 is false for arbitrary distributions of priorities or coins. A formalization that takes "Pr" as an unconstrained parameter, conditions on the event of interest, or replaces nnn by ∣V′∣|V'|∣V′∣ does not state the paper's theorem.

A complete development needs finite product probability spaces, inclusion–exclusion (Bonferroni) inequalities for finite unions, the symmetry of uniform priorities conditioned on injectivity, and degree-sum identities (SimpleGraph.sum_degrees_eq_twice_card_edges). The Technical Lemma and milestones 5 and 6 are reusable beyond this mission. Proofs of any milestone, and alternative proofs of Lemmas A and B, are welcome.

Selected references

  • M. Luby, A Simple Parallel Algorithm for the Maximal Independent Set Problem, SIAM J. Comput. 15(4):1036–1053, 1986. https://doi.org/10.1137/0215074
  • R. M. Karp and A. Wigderson, A Fast Parallel Algorithm for the Maximal Independent Set Problem, J. ACM 32(4):762–773, 1985. https://doi.org/10.1145/4221.4226
  • N. Alon, L. Babai and A. Itai, A Fast and Simple Randomized Parallel Algorithm for the Maximal Independent Set Problem, J. Algorithms 7(4):567–583, 1986. https://doi.org/10.1016/0196-6774(86)90019-2
  • R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge University Press, 1995. https://doi.org/10.1017/CBO9780511814075
8 thms3 active usersReviewed
🏆Completed
Operations Research·Captain: mikedeng1

Critical-Path Planning and Scheduling I: Critical Jobs Occur Only When the Completion Time Is the Earliest, and Then Form a Path from Origin to TerminusResearch Paper

Motivation

The Critical-Path Method (CPM) was introduced by J. E. Kelley, Jr. (Remington Rand) and M. R. Walker (du Pont) in Critical-Path Planning and Scheduling (Proc. Eastern Joint Computer Conference, 1959, pp. 160–173, doi:10.1145/1460299.1460318). Together with PERT, developed at the same time for the Polaris programme, it became the standard way to plan and schedule large projects in construction, maintenance and engineering, and it is taught in every introductory operations research course.

The paper reduces project scheduling to arithmetic on a directed acyclic graph: the earliest and latest times of the project's events are computed by two recursions, and the jobs whose timing has no slack, the critical jobs, are singled out by an equation. Its central structural claim is that critical jobs, when they exist, form a path from the start of the project to its end. The paper states this without proof ("a detailed development being reserved for a separate paper", p. 161). This mission formalizes that claim and the facts about the two recursions on which it rests.

Setting

A project network has n+1n+1n+1 events labelled 0,1,…,n0,1,\dots,n0,1,…,n with n≥1n \ge 1n≥1: event 000 is the origin and event nnn the terminus. A job is an arrow from an event iii to an event jjj, written job (i,j)(i,j)(i,j); the jobs form a finite set PPP of ordered pairs of events. Two standing assumptions of the paper (pp. 161–162) are part of the model:

  1. every job has i<ji < ji<j (events are labelled so that the head of an arrow has the larger label);
  2. origin precedes and terminus follows every event: for every event kkk there are chains of jobs from 000 to kkk and from kkk to nnn.

Each job has a real duration yijy_{ij}yij​. The earliest event times t(0)t^{(0)}t(0) are given by display (1) of the paper,

t0(0)=0,tj(0)=max⁡ [ yij+ti(0)∣i<j, (i,j)∈P ],1≤j≤n,t_0^{(0)} = 0,\qquad t_j^{(0)} = \max\,[\,y_{ij} + t_i^{(0)} \mid i<j,\ (i,j)\in P\,],\quad 1\le j\le n,t0(0)​=0,tj(0)​=max[yij​+ti(0)​∣i<j, (i,j)∈P],1≤j≤n,

and, for a project completion time λ≥tn(0)\lambda \ge t_n^{(0)}λ≥tn(0)​, the latest event times t(1)t^{(1)}t(1) by display (2),

tn(1)=λ,ti(1)=min⁡ [ tj(1)−yij∣i<j, (i,j)∈P ],0≤i≤n−1.t_n^{(1)} = \lambda,\qquad t_i^{(1)} = \min\,[\,t_j^{(1)} - y_{ij} \mid i<j,\ (i,j)\in P\,],\quad 0\le i\le n-1.tn(1)​=λ,ti(1)​=min[tj(1)​−yij​∣i<j, (i,j)∈P],0≤i≤n−1.

The maximum time available for job (i,j)(i,j)(i,j) is tj(1)−ti(0)t_j^{(1)} - t_i^{(0)}tj(1)​−ti(0)​. The job is critical if this equals its duration, tj(1)−ti(0)=yijt_j^{(1)} - t_i^{(0)} = y_{ij}tj(1)​−ti(0)​=yij​, and a floater if it exceeds it. A critical path is a contiguous path of critical jobs from origin to terminus: events 0=v0,v1,…,vk=n0 = v_0, v_1, \dots, v_k = n0=v0​,v1​,…,vk​=n with every (vr−1,vr)(v_{r-1}, v_r)(vr−1​,vr​) a critical job of PPP.

In the Lean development these are ProjectNetwork n (with field P), earliest N y, latest N y λ, maxTimeAvailable, IsCritical, IsFloater and IsCriticalPath, in the namespace CriticalPath.Events.

Formalization targets

Goal: critical jobs force λ=tn(0)\lambda = t_n^{(0)}λ=tn(0)​ and a critical path (p. 163)

For every project network, durations yyy and completion time λ≥tn(0)\lambda \ge t_n^{(0)}λ≥tn(0)​,

(∃(i,j)∈P, tj(1)−ti(0)=yij)  ⟹  λ=tn(0) ∧ ∃ a critical path.\bigl(\exists (i,j)\in P,\ t_j^{(1)} - t_i^{(0)} = y_{ij}\bigr) \;\Longrightarrow\; \lambda = t_n^{(0)} \ \wedge\ \exists\ \text{a critical path}.(∃(i,j)∈P, tj(1)​−ti(0)​=yij​)⟹λ=tn(0)​ ∧ ∃ a critical path.

This is the paper's "A project will contain critical jobs only when λ=tn(0)\lambda = t_n^{(0)}λ=tn(0)​. If a project does contain critical jobs, then it also contains at least one contiguous path of critical jobs through the project diagram from origin to terminus." Only the "only when" direction is asserted, as on the page.

Milestones

  1. Display (1), pp. 162–163. t(0)t^{(0)}t(0) is the least vector ttt with t0=0t_0 = 0t0​=0 and yij≤tj−tiy_{ij} \le t_j - t_iyij​≤tj​−ti​ for every job.
  2. Display (2), p. 163. For λ≥tn(0)\lambda \ge t_n^{(0)}λ≥tn(0)​, tn(1)=λt_n^{(1)} = \lambdatn(1)​=λ and t(1)t^{(1)}t(1) is the greatest vector ttt with tn≤λt_n \le \lambdatn​≤λ and yij≤tj−tiy_{ij} \le t_j - t_iyij​≤tj​−ti​ for every job.
  3. Critical or floater, p. 163. For λ≥tn(0)\lambda \ge t_n^{(0)}λ≥tn(0)​, ti(0)≤ti(1)t_i^{(0)} \le t_i^{(1)}ti(0)​≤ti(1)​ for every event, and every job is critical or a floater: tj(1)−ti(0)≥yijt_j^{(1)} - t_i^{(0)} \ge y_{ij}tj(1)​−ti(0)​≥yij​.
  4. Delay of a critical job, p. 163. Lengthening a critical job by δ≥0\delta \ge 0δ≥0 raises tn(0)t_n^{(0)}tn(0)​ by exactly δ\deltaδ.

Significance

The result. The theorem is what makes the method's name meaningful: it says that the jobs without slack are not scattered but line up along an origin–terminus path, and that such jobs exist only when the project is scheduled at its earliest possible completion time. Project managers use this to decide which jobs to watch, which to expedite, and which may slip; the delay statement (milestone 4) is the quantitative form of that advice. The characterisations of (1) and (2) as least and greatest feasible schedules are the bridge between CPM and linear programming: they identify t(0)t^{(0)}t(0) and t(1)t^{(1)}t(1) with extreme solutions of the system of difference constraints yij≤tj−tiy_{ij} \le t_j - t_iyij​≤tj​−ti​, which the paper's own §3 uses to build the project cost curve.

Formalizing it. The results are classical and folklore, but the paper proves none of them, and textbook treatments usually define the critical path as a longest path, which makes the goal a tautology. This mission states the claims with the paper's own definitions: criticality by the float equation, event times by the recursions. To the best of current knowledge no machine-checked version of these statements for activity-on-arrow networks exists; the platform has a related activity-on-node development (Brucker and Knust, Complex Scheduling) in which the critical path is defined as a longest path.

Difficulty

The recursions (1) and (2) are local: each event looks only at its immediate predecessors or successors. The goal is global: from one critical job it asserts a statement about the whole completion time and a whole origin–terminus path. The float equation tj(1)−ti(0)=yijt_j^{(1)} - t_i^{(0)} = y_{ij}tj(1)​−ti(0)​=yij​ mixes a quantity computed forward from the origin with one computed backward from the terminus, and neither recursion alone says anything about the other. The naive reading "a critical job lies on a longest path" is not available as a definition: it is, in substance, what has to be established from the recursions. The formal overhead is the well-founded recursion on the labels, in both directions, and the bookkeeping of lists of events forming a path.

Formalization scope

Events are Fin (n + 1), origin 0, terminus Fin.last n, with 1 ≤ n. Jobs are a Finset of ordered pairs, so there is at most one job per ordered pair. The standing assumptions (labels increase along jobs; origin precedes and terminus follows every event, via Relation.ReflTransGen) are fields of the structure ProjectNetwork and are never dropped. Durations and times are real numbers; durations are a function Fin (n+1) → Fin (n+1) → ℝ read only on jobs of P, with no sign condition, as in the paper's deterministic case.

The event times are defined by the recursions (1) and (2) themselves, by well-founded recursion on the label with Finset.sup'/Finset.inf' over the predecessor/successor set; these sets are nonempty by the standing assumptions, so no fallback value exists. The latest times are defined for every real λ\lambdaλ; the paper's assumption λ≥tn(0)\lambda \ge t_n^{(0)}λ≥tn(0)​ is a hypothesis of every theorem that uses them.

Disclosed readings: "earliest time occurance" (milestone 1) and "latest time … relative to a fixed project completion time" (milestone 2) are read as least and greatest vectors satisfying the job constraints yij≤tj−tiy_{ij} \le t_j - t_iyij​≤tj​−ti​ (the paper's constraint (8), p. 165); milestone 3 is the fact implicit in the dichotomy "critical or floater"; "comparable delay" (milestone 4) is read as an exact delay of δ\deltaδ in tn(0)t_n^{(0)}tn(0)​ for δ≥0\delta \ge 0δ≥0.

A trivializing formalization is ruled out: defining a critical job or path through longest paths, or taking t(0)t^{(0)}t(0) and t(1)t^{(1)}t(1) as arbitrary functions satisfying (1) and (2), would make the goal a restatement of its definitions; here criticality is the float equation and the times are computed by the recursions. Dropping the reachability assumptions would make (2) ill-defined at events without successors.

Contributions welcome: proofs of the milestones, general lemmas on longest paths in finite labelled DAGs and on difference constraints yij≤tj−tiy_{ij} \le t_j - t_iyij​≤tj​−ti​, which are reusable for the companion mission on the project cost curve.

Selected references

  • J. E. Kelley, Jr. and M. R. Walker, Critical-Path Planning and Scheduling, Papers presented at the December 1–3, 1959, Eastern Joint IRE-AIEE-ACM Computer Conference, pp. 160–173, 1959. doi:10.1145/1460299.1460318
  • J. E. Kelley, Jr., Critical-Path Planning and Scheduling: Mathematical Basis, Operations Research 9(3), pp. 296–320, 1961. doi:10.1287/opre.9.3.296
  • P. Brucker and S. Knust, Complex Scheduling, 2nd ed., Springer, 2012. doi:10.1007/978-3-642-23929-8
7 thms3 active usersReviewed
🏆Completed
CombinatoricsOptimization·Captain: mikedeng1

Two Theorems in Graph Theory: A Matching Is Maximum If and Only If No Alternating Chain Joins Two Neutral PointsResearch Paper

Motivation

A matching of a graph is a set of edges no two of which share a vertex. A matching with as many edges as possible is a basic object of combinatorial optimization. Assignment problems, pairing and scheduling problems, and the Chinese postman problem reduce to it, and it is the standard example of a problem with a polynomial-time algorithm that is not an instance of linear programming over a bipartite structure.

For bipartite graphs the problem was settled by the 1950s, through the theorems of König and Hall and the Hungarian method of Kuhn, whose correctness rests on linear programming duality. As Berge notes on p. 842, that duality "no longer subsists when the graph is not bipartite". C. Berge's three-page note of 1957 (doi:10.1073/pnas.43.9.842) gave the criterion that works for every graph: a matching is maximum exactly when it admits no augmenting chain.

Timeline.

  • 1931–1935: König and Hall characterize maximum matchings and systems of distinct representatives in bipartite graphs.
  • 1947: Tutte characterizes graphs with a perfect matching (doi:10.1112/jlms/s1-22.2.107).
  • 1950: Gallai studies the structure of graphs with respect to their maximum matchings (cited by Berge as the source of his Lemma 1).
  • 1955: Kuhn gives the Hungarian method for the bipartite assignment problem (doi:10.1002/nav.3800020109).
  • 1957: Berge proves that a matching is maximum if and only if no alternating chain joins two neutral points (Theorem 1 of this paper).
  • 1965: Edmonds turns the criterion into a polynomial-time algorithm for general graphs by shrinking odd cycles ("blossoms") (doi:10.4153/CJM-1965-045-4).

Setting

Let G=(X,U)G = (X, U)G=(X,U) be a finite graph without loops or multiple edges, with vertex set XXX and edge set UUU. A matching is a set V0⊆UV_0 \subseteq UV0​⊆U of edges no two of which have a vertex in common. Its size ∣V0∣|V_0|∣V0​∣ is its number of edges. A matching is maximum if no matching of GGG has more edges. This is a statement about cardinality: a matching to which no edge can be added (maximal under inclusion) need not be maximum.

Fix a matching V0V_0V0​. Its edges are strong, all other edges weak. A vertex is neutral if no strong edge contains it, and NNN is the set of neutral points. An alternating chain is a walk in GGG that does not use the same edge twice and in which, of any two consecutive edges, one is strong and the other weak. Vertices may repeat.

For the milestones, Berge adds a new vertex aˉ\bar aaˉ joined by strong edges to every neutral point, which gives a graph Gˉ\bar GGˉ. Whenever an alternating chain of Gˉ\bar GGˉ runs from aˉ\bar aaˉ to a vertex xxx, its last edge (z,x)(z, x)(z,x) carries an arrow from zzz to xxx. The non-neutral vertices then fall into four classes:

  • III, the inaccessible points, at which no edge carries an arrow;
  • WWW, the weak points, which receive arrows on weak edges only;
  • SSS, the strong points, which receive arrows on strong edges only;
  • the medium points, which receive both kinds.

The mission's Lean development uses the same names: IsNeutral, IsAlternatingChain, IsMaximumMatching, barGraph, Arrow, IsInaccessible, IsWeakPt, IsStrongPt, IsMedium.

Formalization targets

Goal: Theorem 1 (p. 843)

V0 is maximum  ⟺  no alternating chain connects a neutral point a to a neutral point a′≠a.V_0 \text{ is maximum} \iff \text{no alternating chain connects a neutral point } a \text{ to a neutral point } a' \ne a .V0​ is maximum⟺no alternating chain connects a neutral point a to a neutral point a′=a.

The statement fixes nothing beyond finiteness: the graph need not be connected, and no bound on its size is assumed.

Milestones

  1. Proof of Theorem 1, first paragraph. An alternating chain WWW between distinct neutral points makes (V0∖W)∪(W∖V0)(V_0 \setminus W) \cup (W \setminus V_0)(V0​∖W)∪(W∖V0​) a larger matching.
  2. Lemma 5. If ∣N∣≤1|N| \le 1∣N∣≤1, then V0V_0V0​ is maximum.
  3. Lemma 2. If aˉ\bar aaˉ is inaccessible, then S∪NS \cup NS∪N is internally stable (an independent set).
  4. Lemma 3. If aˉ\bar aaˉ is inaccessible and there are no medium and no inaccessible points, then S∪NS \cup NS∪N is a maximum internally stable set, WWW is a minimum cover, and V0V_0V0​ is maximum.
  5. Lemma 4. If aˉ\bar aaˉ is inaccessible, the edges leaving a connected component ZZZ of III are weak and carry no arrow, the outside neighbours of ZZZ are weak points, and ∣Z∣≥2|Z| \ge 2∣Z∣≥2.
  6. Lemma 1 (Gallai), corrected. If aˉ\bar aaˉ is inaccessible, the components of the medium points, enlarged by the neutral points that receive a weak arrow, have exactly one strong edge entering them, have all other boundary edges weak and directed outward, and have at least three vertices.

Significance

Theorem 1 reduces the optimality of a matching, a statement about all matchings of the graph, to the absence of one kind of local structure. Its consequences include:

  • correctness of every augmenting-path algorithm for maximum matching, including Edmonds' blossom algorithm and the Hopcroft–Karp and Micali–Vazirani refinements;
  • the standard proofs of the Tutte–Berge formula and of the Gallai–Edmonds structure theorem, which start from it.

A matching that is not maximum can be certified by exhibiting the chain, and a maximum matching is certified by the labelling of Lemmas 1–4.

Theorem 1 has been proved since 1957 and appears in every textbook on matching theory. It is not formalized in Mathlib at the revision this mission uses. Mathlib has matchings as subgraphs, perfect matchings, alternating cycles and Tutte's theorem, but no augmenting-path characterization. This mission adds a formal statement of the theorem, together with the labelling of Berge's proof in a form that later missions on Edmonds' algorithm can reuse.

Difficulty

The "only if" direction is a local computation: the symmetric difference along an augmenting chain is again a matching, with one more edge. Even this needs care, because an alternating chain is only a trail and may a priori revisit vertices, while the augmentation needs a path.

The converse is the substance. In bipartite graphs, a search from the neutral points that alternates weak and strong edges labels each vertex at most one way, and its failure yields a cover of the same size as the matching. In general graphs an odd cycle lets a vertex be reached both through a strong and through a weak edge (the medium points). The bipartite labelling then fails, and no cover of size ∣V0∣|V_0|∣V0​∣ need exist: in a triangle the maximum matching has one edge and the minimum cover two. The proof has to treat these odd structures separately, and that is what Lemmas 1 and 4 do.

Formalization scope

  • Graphs and matchings. The graph is a Mathlib SimpleGraph V on a Fintype V. The paper's "unoriented graph (or 1-dimensional regular complex)" may have parallel edges, but a matching uses at most one edge of a parallel class, so nothing is lost. The matching is a subgraph M with M.IsMatching, and its size is M.edgeSet.ncard. Maximum means cardinality-maximum over all matching subgraphs. Internally stable sets and covers are Mathlib's IsIndepSet and IsVertexCover.
  • Alternating chains. An alternating chain is a walk that is a trail (no repeated edge; vertices may repeat), with alternation between consecutive edges.
  • Gˉ\bar GGˉ and arrows. Gˉ\bar GGˉ lives on Option V, with aˉ\bar aaˉ = none. An arrow needs an alternating chain of positive length from aˉ\bar aaˉ.
  • Readings of ambiguous phrases.
    • "aˉ\bar aaˉ is inaccessible" means that no arrow is directed to aˉ\bar aaˉ. Read literally ("not adjacent to a directed edge"), the phrase fails whenever N≠∅N \neq \emptysetN=∅.
    • "Edges adjacent to ZZZ" (and to YYY) are the edges with exactly one endpoint in the set.
    • The paper's medium class MMM is IsMedium in Lean, because M names the matching.
  • Results not formalized.
    • Lemma 1 is false as printed. On a triangle with one matched edge, the two medium points form YYY with ∣Y∣=2|Y| = 2∣Y∣=2, and their neighbour is neutral. The mission states a corrected form, labelled as such, in which neutral blossom bases are added to YYY.
    • Lemma 6 (shrinking) is false. On the path uuu–xxx–yyy–vvv with extra edges yyy–ttt, ttt–qqq, the set A={x,y,t}A = \{x, y, t\}A={x,y,t} and V0={xy,tq}V_0 = \{xy, tq\}V0​={xy,tq}, the matching is maximum on AAA and on the shrunk graph, yet {ux,yv,tq}\{ux, yv, tq\}{ux,yv,tq} is larger.
    • Theorem 2 (a minimum cover built from the labels) is false. Take a neutral vertex joined to the stems of two triangles, with the stems and the triangles matched. The construction yields a cover of 6 vertices, while one of 5 exists.
    • Neither false result is formalized, and the cases of the proof of Theorem 1 that rest on them are not milestones. The algorithmic remarks on p. 844 are procedures, not claims, and are not formalized either.
  • Ruled-out trivializations. None of the following is a faithful encoding:
    • reading "maximum" as inclusion-maximal;
    • allowing an alternating chain to join a neutral point to itself (the one-vertex chain would then always exist);
    • reading "aˉ\bar aaˉ is inaccessible" in a way that is never or always true;
    • imposing alternation on only some pairs of edges.

Any proof of the goal is welcome, whether it follows Berge's induction, uses the symmetric difference of two matchings, or goes through the Tutte–Berge formula. Reusable infrastructure is especially welcome: augmentation along a path, the symmetric difference of two matchings as a union of paths and cycles, and trails that alternate with respect to a matching.

Selected references

  • C. Berge, Two theorems in graph theory, Proc. Natl. Acad. Sci. USA 43(9) (1957), 842–844. doi:10.1073/pnas.43.9.842
  • W. T. Tutte, The factorization of linear graphs, J. London Math. Soc. 22 (1947), 107–111. doi:10.1112/jlms/s1-22.2.107
  • H. W. Kuhn, The Hungarian method for the assignment problem, Naval Research Logistics Quarterly 2 (1955), 83–97. doi:10.1002/nav.3800020109
  • J. Edmonds, Paths, trees, and flowers, Canadian J. Math. 17 (1965), 449–467. doi:10.4153/CJM-1965-045-4
10 thms2 active usersReviewed
🏆Completed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Maximal Flow Through a Network I: The Minimal Cut Theorem — the Maximal Flow Value Equals the Minimum Value of a Disconnecting SetResearch Paper

Motivation

The question behind this mission was posed by T. E. Harris to L. R. Ford, Jr. and D. R. Fulkerson at RAND, in the setting of rail transport: given a rail network linking two cities, with a capacity on every link, find the largest steady flow from one city to the other. Ford and Fulkerson's answer, the minimal cut theorem, published in the Canadian Journal of Mathematics in 1956 (DOI 10.4153/CJM-1956-045-5), says that the obvious upper bound, the total capacity of a set of links whose removal separates the two cities, is always achieved by some flow.

The theorem became the starting point of network flow theory, and through it of a large part of combinatorial optimization and operations research: transportation, assignment, scheduling and network reliability problems are routinely reduced to it.

Timeline.

  • 1927: K. Menger proves that the minimum number of vertices separating two vertex sets of a graph equals the maximum number of disjoint paths joining them (Fund. Math. 10), the unit-capacity ancestor of the theorem.
  • 1955: Harris and Ross study the Soviet rail network as a capacity problem in a RAND report; Harris formulates the maximal flow problem (Schrijver's historical account: Math. Program. 91, 2002).
  • 1956: Ford and Fulkerson publish the minimal cut theorem for undirected networks, with a non-constructive proof based on maximal flows (this paper). Independently, Elias, Feinstein and Shannon state and prove the max-flow min-cut theorem for directed networks (IRE Trans. Inf. Theory 2, 1956), and Dantzig and Fulkerson obtain it from linear programming duality.
  • 1956–1962: Ford and Fulkerson's labelling (augmenting path) algorithm, collected in Flows in Networks (Princeton, 1962).
  • 1972: Edmonds and Karp give polynomial bounds for augmenting-path methods (J. ACM 19).

Setting

A network NNN consists of a finite set of vertices VVV, a finite set of arcs EEE, two distinct vertices, the source aaa and the sink bbb, and a positive capacity c(e)>0c(e)>0c(e)>0 on every arc. Each arc eee has two distinct end vertices; arcs are undirected, and several arcs may join the same pair of vertices.

A chain joining uuu and www is a set of distinct arcs that can be arranged as α1(v0v1),α2(v1v2),…,αm(vm−1vm)\alpha_1(v_0v_1),\alpha_2(v_1v_2),\dots,\alpha_m(v_{m-1}v_m)α1​(v0​v1​),α2​(v1​v2​),…,αm​(vm−1​vm​) with v0=uv_0=uv0​=u, vm=wv_m=wvm​=w and the vertices v0,…,vmv_0,\dots,v_mv0​,…,vm​ pairwise distinct; each arc may be traversed in either direction. The null chain (m=0m=0m=0) joins uuu to itself.

A flow fff assigns a number f(C)≥0f(C)\ge 0f(C)≥0 to each chain CCC joining aaa and bbb (and 000 to every other set of arcs) such that the load ℓf(e)=∑C∋ef(C)\ell_f(e)=\sum_{C\ni e}f(C)ℓf​(e)=∑C∋e​f(C) satisfies ℓf(e)≤c(e)\ell_f(e)\le c(e)ℓf​(e)≤c(e) for every arc. Its value is val(f)=∑Cf(C)\mathrm{val}(f)=\sum_C f(C)val(f)=∑C​f(C). An arc is saturated by fff if ℓf(e)=c(e)\ell_f(e)=c(e)ℓf​(e)=c(e). A maximal flow is a flow of largest value.

A set DDD of arcs is a disconnecting set if every chain joining aaa and bbb contains an arc of DDD; its value is v(D)=∑e∈Dc(e)v(D)=\sum_{e\in D}c(e)v(D)=∑e∈D​c(e). A cut is a disconnecting set no proper subset of which is disconnecting.

The proof introduces two further objects: the set SSS of arcs saturated by every maximal flow, and the set L⊆SL\subseteq SL⊆S of left arcs, those arcs of SSS whose left vertex (the end vertex met first by a positive chain flow of a maximal flow, travelling from aaa) can be reached from aaa by a chain with no arc saturated by some maximal flow.

Formalization targets

Goal: Theorem 1 (Minimal cut theorem), p. 400

∃ m∈R:m=max⁡f flowval(f)=min⁡D disconnectingv(D),\exists\, m\in\mathbb R:\quad m=\max_{f\ \text{flow}}\mathrm{val}(f)=\min_{D\ \text{disconnecting}}v(D),∃m∈R:m=f flowmax​val(f)=D disconnectingmin​v(D),

with both the maximum and the minimum attained. The statement mentions only flows and disconnecting sets, not the proof objects SSS and LLL.

Milestones, in the order of the paper's proof

  1. A maximal flow exists, and the set of maximal flows is convex (p. 400).
  2. Lemma 1: SSS is a disconnecting set (p. 400).
  3. Every arc of SSS receives the same orientation from all positive chain flows of all maximal flows: its left vertex is unique (pp. 400–401).
  4. Lemma 2: LLL is a disconnecting set (p. 401).
  5. Lemma 3: no positive chain flow of a maximal flow contains more than one arc of LLL (p. 401).
  6. val(f)≤v(D)\mathrm{val}(f)\le v(D)val(f)≤v(D) for every flow fff and every disconnecting set DDD (p. 402).
  7. LLL is a cut of minimal value, and every maximal flow has value v(L)v(L)v(L) (p. 402).

Two further statements of the paper are included as items without being milestones: the remark that a disconnecting set of minimal value is a cut (p. 400), and the Corollary (p. 402): if a set AAA of arcs meets every cut in exactly one arc, adding kkk to the capacity of each arc of AAA raises the maximal flow value by kkk.

Significance

The minimal cut theorem turns a maximization over flows into a minimization over finite sets of arcs, so an optimal flow comes with a short certificate of optimality. It implies Menger's theorem (unit capacities), and through it König's theorem on bipartite matchings and Hall's marriage theorem. The Corollary is the tool behind the paper's own computing procedure for source–sink planar networks (§2, formalized in a companion mission).

The theorem is classical and proved. What this mission adds is a machine-checked proof of the paper's own formulation: undirected arcs, parallel arcs, flows decomposed along chains (path flows, with no circulations), and the minimum taken over arc sets meeting every chain, together with the proof's intermediate claims. Max-flow min-cut theorems already on the platform (Applied Combinatorics VIII, AppliedComb.Flows.max_flow_min_cut; Introduction to Linear Optimization X, LinearOptimization.max_flow_min_cut) concern directed networks with edge flows obeying conservation and cuts given by vertex sets. They are related results, not this statement, and connecting the two models is itself welcome work.

Difficulty

Weak duality (milestone 6) is immediate; the content is the reverse inequality. The obvious first step, taking a maximal flow and observing that its saturated arcs separate aaa from bbb, does not finish the proof: a positive chain flow may pass through several saturated arcs, so the total capacity of the saturated arcs can exceed the flow value. One has to single out a disconnecting subset that every positive chain flow crosses exactly once, and there is no canonical choice from a single flow. The paper's sets SSS and LLL are defined from all maximal flows at once, and the work consists in showing that these sets are well behaved. The orientation claim in particular needs an exchange argument on two chains that cross at an arc, where the recombined arc sequences may revisit vertices and must be reduced to chains. In a formal development this "a walk contains a chain" step and the averaging of maximal flows over finitely many chains are the main bookkeeping costs.

Formalization scope

  • A network is a structure on a vertex type V and an arc type E, both Fintype with decidable equality, with end-vertex maps tail, head (labels only, no direction), tail e ≠ head e, a source and a sink with source ≠ sink, and capacities cap : E → ℝ with 0 < cap e. These are the paper's standing assumptions; there are no others in §1. In particular, no planarity is assumed and an arc may join aaa and bbb directly.
  • A chain is a Finset E that is the arc set of some arrangement (list of arcs, list of pairwise distinct vertices, each arc joining consecutive vertices in either order).
  • A flow is a function f : Finset E → ℝ, non-negative, zero off the chains joining source and sink, with every arc load at most the capacity. A collection of chain flows that lists a chain twice merges into this form without changing the value or any load.
  • "Maximal" means of maximum value. The goal is stated with IsGreatest and IsLeast on the sets of flow values and of values of disconnecting sets, so no supremum of a real set appears and both extrema must be attained.
  • A trivializing formalization is ruled out: chains must be self-avoiding and must join the source and the sink, the disconnecting condition quantifies over exactly these chains, and the minimum ranges over all disconnecting sets rather than over a family chosen to match a given flow.
  • Needed infrastructure: finite sums over Finset (Finset E), convexity in Finset E → ℝ, compactness of the flow polytope (for existence), and lemmas on lists (extracting a chain from a walk). The walk-to-chain lemma and weak duality are reusable for the companion mission and for any path-flow model.

Selected references

  • L. R. Ford, Jr. and D. R. Fulkerson, Maximal Flow Through a Network, Canadian Journal of Mathematics 8 (1956), 399–404. https://doi.org/10.4153/CJM-1956-045-5
  • P. Elias, A. Feinstein and C. E. Shannon, A note on the maximum flow through a network, IRE Transactions on Information Theory 2 (1956), 117–119. https://doi.org/10.1109/TIT.1956.1056816
  • K. Menger, Zur allgemeinen Kurventheorie, Fundamenta Mathematicae 10 (1927), 96–115. https://doi.org/10.4064/fm-10-1-96-115
  • L. R. Ford, Jr. and D. R. Fulkerson, Flows in Networks, Princeton University Press, 1962.
  • J. Edmonds and R. M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, Journal of the ACM 19 (1972), 248–264. https://doi.org/10.1145/321694.321699
  • A. Schrijver, On the history of the transportation and maximum flow problems, Mathematical Programming 91 (2002), 437–445. https://doi.org/10.1007/s101070100259
13 thms2 active usersReviewed
🏆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
Captain: Lucas

Hadwiger's ConjectureOpen Problem

Motivation

Hadwiger's conjecture (1943) asserts that for every integer t≥0t\ge 0t≥0, every graph with no Kt+1K_{t+1}Kt+1​ minor is ttt-colourable. It is a far-reaching strengthening of the four-colour theorem, and it is widely described as one of the central open problems of graph theory (Bollobás, Catlin and Erdős called it "one of the deepest unsolved problems in graph theory"). The interest is structural: the four-colour theorem concerns planar graphs, and Hadwiger's conjecture proposes that the only obstruction to ttt-colourability that matters is the presence of a complete graph Kt+1K_{t+1}Kt+1​ as a minor.

Timeline.

  • 1937 — Wagner shows that the case t=4t=4t=4 is equivalent to the four-colour theorem, via a clique-sum decomposition of graphs with no K5K_5K5​ minor.
  • 1943 — Hadwiger poses the conjecture and proves it for t≤3t\le 3t≤3 (graphs with no K4K_4K4​ minor have a vertex of degree at most two).
  • 1964 — Wagner proves that graphs with no Kt+1K_{t+1}Kt+1​ minor are 2t2^t2t-colourable.
  • 1967 — Mader proves that excluding any fixed minor forces a linear number of edges, and determines the exact extremal function for KtK_tKt​ minors when t≤7t\le 7t≤7.
  • 1976 — Appel and Haken prove the four-colour theorem, hence the case t=4t=4t=4.
  • 1982 — Duchet and Meyniel prove that every nnn-vertex graph has a KtK_tKt​ minor with t≥n/(2α(G)−1)t\ge n/(2\alpha(G)-1)t≥n/(2α(G)−1).
  • 1984 — Kostochka and Thomason independently show that graphs with no KtK_tKt​ minor have average degree O(tlog⁡t)O(t\sqrt{\log t})O(tlogt​), hence are O(tlog⁡t)O(t\sqrt{\log t})O(tlogt​)-colourable.
  • 1993 — Robertson, Seymour and Thomas prove the case t=5t=5t=5 (using the four-colour theorem).
  • 2023–2024 — Norin, Postle and Song, then Delcourt and Postle, improve the general bound to O(tlog⁡log⁡t)O(t\log\log t)O(tloglogt) colours.
  • (Date not recorded in the survey) Albar and Gonçalves prove that graphs with no K7K_7K7​ minor are 888-colourable and graphs with no K8K_8K8​ minor are 101010-colourable.

The case t=6t=6t=6 (graphs with no K7K_7K7​ minor are 666-colourable) is the first open case.

Setting

All graphs are finite and simple. A minor of a graph GGG is any graph obtained from a subgraph of GGG by contracting edges. Equivalently, a graph HHH on vertex set WWW is a minor of GGG if there are branch sets Bw⊆V(G)B_w\subseteq V(G)Bw​⊆V(G), w∈Ww\in Ww∈W, which are pairwise disjoint, each inducing a connected (nonempty) subgraph of GGG, and such that for every edge w1w2w_1w_2w1​w2​ of HHH some vertex of Bw1B_{w_1}Bw1​​ is adjacent to some vertex of Bw2B_{w_2}Bw2​​. GGG has a KtK_tKt​ minor if the complete graph KtK_tKt​ is a minor of GGG, i.e. GGG contains ttt pairwise disjoint connected vertex sets, every two joined by an edge.

A graph is ttt-colourable if its vertices can be coloured with ttt colours so that adjacent vertices receive different colours; χ(G)\chi(G)χ(G) is the least such ttt. Write HC(t)\mathrm{HC}(t)HC(t) for the statement "every graph with no Kt+1K_{t+1}Kt+1​ minor is ttt-colourable". A graph is kkk-degenerate if every nonempty set of vertices contains a vertex with at most kkk neighbours inside the set. The stability number α(G)\alpha(G)α(G) is the largest size of a set of pairwise non-adjacent vertices.

Formalization targets

Goal

∀t≥0:Kt+1⪯̸G ⟹ χ(G)≤tfor every finite graph G.\forall t\ge 0:\qquad K_{t+1}\not\preceq G\ \Longrightarrow\ \chi(G)\le t\qquad\text{for every finite graph } G.∀t≥0:Kt+1​⪯G ⟹ χ(G)≤tfor every finite graph G.

Proved special cases

HC(t) for t≤3,HC(4),HC(5).\mathrm{HC}(t)\ \text{for } t\le 3,\qquad \mathrm{HC}(4),\qquad \mathrm{HC}(5).HC(t) for t≤3,HC(4),HC(5).

Weaker colouring bounds

  • no Kt+1K_{t+1}Kt+1​ minor ⇒\Rightarrow⇒ χ(G)≤2t\chi(G)\le 2^tχ(G)≤2t (Wagner);
  • no KtK_tKt​ minor ⇒\Rightarrow⇒ χ(G)=O(tlog⁡t)\chi(G)=O(t\sqrt{\log t})χ(G)=O(tlogt​) (Kostochka, Thomason) and χ(G)=O(tlog⁡log⁡t)\chi(G)=O(t\log\log t)χ(G)=O(tloglogt) (Delcourt–Postle);
  • no K7K_7K7​ minor ⇒\Rightarrow⇒ χ≤8\chi\le 8χ≤8; no K8K_8K8​ minor ⇒\Rightarrow⇒ χ≤10\chi\le 10χ≤10 (Albar–Gonçalves).

Supporting extremal and structural results

  • non-null graphs with no K4K_4K4​ minor have a vertex of degree ≤2\le 2≤2;
  • kkk-degenerate graphs are (k+1)(k+1)(k+1)-colourable;
  • for every HHH there is ccc with ∣E(G)∣≤c∣V(G)∣|E(G)|\le c|V(G)|∣E(G)∣≤c∣V(G)∣ whenever H⪯̸GH\not\preceq GH⪯G (Mader);
  • the exact edge bounds n−1n-1n−1, 2n−32n-32n−3, 3n−63n-63n−6 for no K3K_3K3​, K4K_4K4​, K5K_5K5​ minor, and (t−2)n−(t−12)(t-2)n-\binom{t-1}{2}(t−2)n−(2t−1​) for no KtK_tKt​ minor, t≤7t\le 7t≤7 (Mader);
  • every nnn-vertex graph has a KtK_tKt​ minor with t≥n/(2α(G)−1)t\ge n/(2\alpha(G)-1)t≥n/(2α(G)−1) (Duchet–Meyniel);
  • a graph with no Kt+1K_{t+1}Kt+1​ minor has a ttt-colourable induced subgraph on at least half of its vertices.

Significance

A proof of the conjecture would give a structural explanation of the four-colour theorem that does not depend on planarity, and would settle the chromatic number of every minor-closed class defined by excluding a single complete graph. Partial results already drive the theory of graph minors: bounds on the average degree of KtK_tKt​-minor-free graphs are the standard input to colouring, and linear Hadwiger-type bounds are used in structural and algorithmic graph theory.

On the formal side, only the smallest cases have Lean proofs: the platform already contains proofs of the cases t≤2t\le 2t≤2 under a different encoding of minors (namespace Hadwiger), which may be reused after bridging the definitions. The cases t≤3t\le 3t≤3, Wagner's 2t2^t2t bound, the degeneracy lemma, the small extremal bounds and the Duchet–Meyniel theorem have elementary proofs and are realistic targets. The cases t=4,5t=4,5t=4,5 depend on the four-colour theorem, whose formal proof exists in Coq but not in Lean; formalizing them here requires either porting that proof or proving the reduction to it. The general conjecture is open.

Difficulty

The natural approach — contracting the colour classes of an optimal colouring — does not produce a minor, because colour classes are independent sets and contraction is only allowed along edges. Degeneracy arguments only give bounds of order tlog⁡tt\sqrt{\log t}tlogt​, since dense random graphs with no large clique minor have average degree of that order; closing the gap to ttt requires using large chromatic number itself, not just density. Already for t=4t=4t=4 the statement is equivalent to the four-colour theorem, so no short proof is expected for any t≥4t\ge 4t≥4.

Formalization scope

Graphs are SimpleGraph V on a finite vertex type V : Type. Minors are encoded by branch sets (IsMinor), complete minors by HasCompleteMinor G t (the complete graph on Fin t is a minor of G), colourability by Mathlib's SimpleGraph.Colorable, and edge counts by the cardinality of the edge set. HC(t)\mathrm{HC}(t)HC(t) is the definition HC t. Logarithms are natural logarithms; asymptotic bounds are stated with an explicit existential constant and a ceiling. The case t=0t=0t=0 is included; HasCompleteMinor G 0 holds for every graph, so no statement becomes vacuous through a degenerate minor definition.

Useful reusable infrastructure: minor models and their composition, contraction of connected sets, greedy colouring of degenerate graphs, and edge-counting for minor-free graphs. Contributions of intermediate lemmas along the milestones are welcome.

Selected references

  • P. Seymour, Hadwiger's conjecture, in: Open Problems in Mathematics, Springer, 2016 (survey; source of the milestone numbering).
  • Wikipedia, Hadwiger conjecture (graph theory). https://en.wikipedia.org/wiki/Hadwiger_conjecture_(graph_theory)
  • H. Hadwiger, Über eine Klassifikation der Streckenkomplexe, Vierteljschr. Naturforsch. Ges. Zürich 88 (1943).
  • K. Wagner, Über eine Eigenschaft der ebenen Komplexe, Math. Ann. 114 (1937).
  • N. Robertson, P. Seymour, R. Thomas, Hadwiger's conjecture for K6K_6K6​-free graphs, Combinatorica 13 (1993).
  • A. Kostochka, Lower bound of the Hadwiger number of graphs by their average degree, Combinatorica 4 (1984).
  • A. Thomason, An extremal function for contractions of graphs, Math. Proc. Cambridge Philos. Soc. 95 (1984).
  • M. Delcourt, L. Postle, Reducing linear Hadwiger's conjecture to coloring small graphs (2024).
16 thms2 active usersReviewed
CombinatoricsLinear algebra·Captain: mikedeng1

On a Conjecture of Spectral Extremal Problems: If the Extremal Graphs for F Are Turán Graphs Plus a Fixed Number of Edges, Every F-Free Graph of Maximum Spectral Radius Is ExtremalResearch Paper

Motivation

Extremal graph theory asks how many edges a graph on nnn vertices can have without containing a fixed graph FFF. The answer, the Turán number ex(n,F)\mathrm{ex}(n,F)ex(n,F), and the graphs attaining it, the set Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) of extremal graphs, are known precisely only for special FFF; the Erdős–Stone–Simonovits theorem gives ex(n,F)=(1−1χ(F)−1+o(1))n22\mathrm{ex}(n,F) = (1 - \frac{1}{\chi(F)-1} + o(1))\frac{n^2}{2}ex(n,F)=(1−χ(F)−11​+o(1))2n2​, where χ(F)\chi(F)χ(F) is the chromatic number.

Spectral extremal graph theory asks the same question with the number of edges replaced by the spectral radius λ(G)\lambda(G)λ(G), the largest eigenvalue of the adjacency matrix. Since λ(G)≥2e(G)/n\lambda(G) \ge 2e(G)/nλ(G)≥2e(G)/n, a spectral bound implies an edge bound, and spectral extremal results are usually stronger than their edge versions. Nikiforov (Linear Algebra Appl. 427, 2007) showed that the Turán graph Tn,rT_{n,r}Tn,r​ maximises λ\lambdaλ among Kr+1K_{r+1}Kr+1​-free graphs, so for F=Kr+1F = K_{r+1}F=Kr+1​ the spectral and the edge extremal graphs coincide. Whether this happens for other FFF is the subject of the paper.

Timeline:

  • 1941 Turán: Tn,rT_{n,r}Tn,r​ is the unique extremal graph for Kr+1K_{r+1}Kr+1​.
  • 2003 Chen, Gould, Pfender, Wei (J. Combin. Theory Ser. B 89): ex(n,Fk,r+1)=e(Tn,r)+O(1)\mathrm{ex}(n, F_{k,r+1}) = e(T_{n,r}) + O(1)ex(n,Fk,r+1​)=e(Tn,r​)+O(1) for kkk copies of Kr+1K_{r+1}Kr+1​ sharing one vertex.
  • 2007 Nikiforov (Linear Algebra Appl. 427): spectral Turán theorem for Kr+1K_{r+1}Kr+1​. 2009 Nikiforov (J. Graph Theory 62): spectral stability for large forbidden subgraphs, the source of Lemma 2.5.
  • 2020 Cioabă, Feng, Tait, Zhang (Electron. J. Combin. 27): the spectral extremal graph for the friendship graph FkF_kFk​ lies in Ex(n,Fk)\mathrm{Ex}(n, F_k)Ex(n,Fk​).
  • 2022 Cioabă, Desai, Tait (European J. Combin. 99) conjecture: if the graphs in Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) are Turán graphs plus O(1)O(1)O(1) edges, then the spectral extremal graphs lie in Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) for large nnn. Before the general proof it was known for Kr+1K_{r+1}Kr+1​, the friendship graphs FkF_kFk​, the graphs Hs,kH_{s,k}Hs,k​ (Li, Peng) and the intersecting cliques Fk,rF_{k,r}Fk,r​ (Desai, Kang, Li, Ni, Tait, Wang, arXiv:2108.03587).
  • 2022/2023 Wang, Kang, Xue (arXiv:2203.10831; J. Combin. Theory Ser. B, 2023): the conjecture holds in general. This mission formalizes their Theorem 1.2.

Setting

All graphs are finite and simple. For a graph GGG on nnn vertices, A(G)A(G)A(G) is its 0/10/10/1 adjacency matrix and λ(G)\lambda(G)λ(G) is the largest eigenvalue of A(G)A(G)A(G). A graph GGG is FFF-free if no subgraph of GGG is isomorphic to FFF. The Turán number ex(n,F)\mathrm{ex}(n,F)ex(n,F) is the maximum number of edges e(G)e(G)e(G) over FFF-free graphs GGG on nnn vertices, and Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) is the set of FFF-free nnn-vertex graphs with ex(n,F)\mathrm{ex}(n,F)ex(n,F) edges. The Turán graph Tn,rT_{n,r}Tn,r​ is the complete rrr-partite graph on nnn vertices with parts of sizes ⌊n/r⌋\lfloor n/r\rfloor⌊n/r⌋ or ⌈n/r⌉\lceil n/r\rceil⌈n/r⌉.

The hypothesis on FFF is: for fixed integers r≥2r \ge 2r≥2 and a≥0a \ge 0a≥0 and all large nnn, ex(n,F)=e(Tn,r)+a\mathrm{ex}(n,F) = e(T_{n,r}) + aex(n,F)=e(Tn,r​)+a and every graph in Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) contains a spanning copy of Tn,rT_{n,r}Tn,r​, i.e. is Tn,rT_{n,r}Tn,r​ plus aaa edges. The paper states "adding O(1)O(1)O(1) edges" and fixes the constant at the start of Section 3 (p. 4): "We may assume that the graphs in Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) are obtained from Tn,rT_{n,r}Tn,r​ by adding aaa edges." The mission follows that reading. Examples: Kr+1K_{r+1}Kr+1​ with a=0a = 0a=0, the friendship graphs, and the intersecting cliques Fk,r+1F_{k,r+1}Fk,r+1​.

A graph GGG is spectral extremal for FFF if it is FFF-free and λ(G)≥λ(G′)\lambda(G) \ge \lambda(G')λ(G)≥λ(G′) for every FFF-free G′G'G′ on the same nnn vertices.

Formalization targets

Goal: Theorem 1.2

For r≥2r \ge 2r≥2, a≥0a \ge 0a≥0 and FFF satisfying the hypothesis, there is NNN such that for all n≥Nn \ge Nn≥N every spectral extremal graph GGG for FFF on nnn vertices satisfies

e(G)=ex(n,F),i.e.G∈Ex(n,F).e(G) = \mathrm{ex}(n,F), \qquad\text{i.e.}\qquad G \in \mathrm{Ex}(n,F).e(G)=ex(n,F),i.e.G∈Ex(n,F).

The statement contains no numerical constant, and NNN depends only on FFF, rrr, aaa.

Milestones

The milestones follow the proof, in order: strict monotonicity of λ\lambdaλ under proper subgraphs of a connected graph (Lemma 2.3); connectivity of GGG (Lemma 3.1); the bound λ(G)≥(1−1r)n−r4n+2an\lambda(G) \ge (1-\frac1r)n - \frac{r}{4n} + \frac{2a}{n}λ(G)≥(1−r1​)n−4nr​+n2a​ (Lemma 3.2); spectral stability for χ(F)=r+1\chi(F) = r+1χ(F)=r+1 (Corollary 2.6); for every maximum rrr-cut V1∪⋯∪VrV_1 \cup \dots \cup V_rV1​∪⋯∪Vr​, ∑ie(Vi)≤εn2\sum_i e(V_i) \le \varepsilon n^2∑i​e(Vi​)≤εn2 and ∣Vi∣=(1r±3ε)n|V_i| = (\frac1r \pm 3\sqrt\varepsilon)n∣Vi​∣=(r1​±3ε​)n (Lemma 3.3); a counting inequality for intersections (Lemma 2.8); e(G[Vi])≤ae(G[V_i]) \le ae(G[Vi​])≤a and minimum degree above (1−1r−3rε1/3)n(1 - \frac1r - 3r\varepsilon^{1/3})n(1−r1​−3rε1/3)n (Lemma 3.6); at most 2a2a2a vertices of each part have a neighbour in that part, and all others see every other part completely (Lemma 3.7); Perron entries xu≥1−20a2r2/nx_u \ge 1 - 20a^2r^2/nxu​≥1−20a2r2/n for a≥1a \ge 1a≥1 (Lemma 3.8); e(Gin)−e(Gout)≤ae(G_{in}) - e(G_{out}) \le ae(Gin​)−e(Gout​)≤a (Lemma 3.9); balancing two parts of a complete multipartite graph increases λ\lambdaλ (Lemma 2.7); and the maximum partition is balanced, ∣ni−nj∣≤1|n_i - n_j| \le 1∣ni​−nj​∣≤1 (Lemma 3.10).

Significance

The theorem settles the Cioabă–Desai–Tait conjecture: for every FFF whose extremal graphs are Turán graphs plus a bounded number of edges, the spectral extremal problem reduces to the edge extremal problem for large nnn. This recovers the earlier cases (friendship graphs, the graphs Hs,kH_{s,k}Hs,k​, intersecting cliques) at once, and it turns any future determination of Ex(n,F)\mathrm{Ex}(n,F)Ex(n,F) of this type into a spectral result with no further work.

The result is proved on paper; it has no machine-checked proof. Mathlib has Turán's theorem (extremalNumber_top, uniqueness of turanGraph) and the definition of extremalNumber, but no spectral extremal graph theory: no Perron–Frobenius theorem for graphs, no spectral Turán theorem, no stability theorem. The formalization would supply these, and the milestone statements are independently reusable: strict monotonicity of λ\lambdaλ (Lemma 2.3), the spectral comparison of complete multipartite graphs (Lemma 2.7) and spectral stability (Corollary 2.6) are standard tools of the area.

Difficulty

The natural first idea, comparing GGG with an extremal graph HHH by Rayleigh quotients, fails at the start: λ(G)≥λ(H)\lambda(G) \ge \lambda(H)λ(G)≥λ(H) gives only e(G)≥e(Tn,r)−o(n2)e(G) \ge e(T_{n,r}) - o(n^2)e(G)≥e(Tn,r​)−o(n2), far from ex(n,F)\mathrm{ex}(n,F)ex(n,F). Closing an additive gap of O(1)O(1)O(1) edges requires control of the Perron vector to within O(1/n)O(1/n)O(1/n) at every vertex and exact control of the part sizes. The second is the delicate step: an imbalance of one vertex between two parts costs Θ(1/n)\Theta(1/n)Θ(1/n) in λ\lambdaλ, while the aaa extra edges contribute only O(1/n2)O(1/n^2)O(1/n2) beyond the Turán graph, so the two effects must be compared at different scales. Further, the proof needs the deep spectral stability theorem of Nikiforov (Lemma 2.5), whose own proof is long.

Formalization scope

Graphs on nnn vertices are SimpleGraph (Fin n), matching Mathlib's extremalNumber n F; FFF is a graph on any finite type. λ(G)\lambda(G)λ(G) is the largest eigenvalue of G.adjMatrix ℝ (index 000 of Mathlib's decreasingly sorted eigenvalues₀), not an absolute value and not a norm. "FFF-free" is F.Free G (no copy of FFF, not necessarily induced). "Sufficiently large nnn" is ∃ N, ∀ n ≥ N with NNN chosen after F,r,aF, r, aF,r,a and before GGG; "sufficiently small ε\varepsilonε" is ∃ ε₀ > 0, ∀ ε ∈ (0, ε₀). Partitions V1∪⋯∪VrV_1 \cup \dots \cup V_rV1​∪⋯∪Vr​ are labellings Fin n → Fin r whose parts may be empty; the Section 3 lemmas hold for every partition maximising the number of crossing edges. Lemma 3.8 carries the extra hypothesis a≥1a \ge 1a≥1, because as printed it is false for a=0a = 0a=0 (for F=Kr+1F = K_{r+1}F=Kr+1​ and r∤nr \nmid nr∤n the Perron vector of Tn,rT_{n,r}Tn,r​ has entries below 111); the goal does not assume it.

Trivializing formalizations are ruled out: λ\lambdaλ is not defined from the edge count (which would make spectral and edge extremality the same), the hypothesis on FFF does not contain the conclusion and is satisfiable (a sorry-free check for F=Kr+1F = K_{r+1}F=Kr+1​, a=0a = 0a=0 was compiled), the conclusion is e(G)=ex(n,F)e(G) = \mathrm{ex}(n,F)e(G)=ex(n,F) and not a weaker bound, and the threshold is not chosen after GGG.

A complete development needs the Perron–Frobenius theorem for irreducible nonnegative symmetric matrices, the Rayleigh quotient characterisation of λ\lambdaλ, the spectrum of complete multipartite graphs, Nikiforov's spectral stability lemma, and max-cut partition arguments. All of these are reusable beyond this mission, and proofs of any milestone, of the cited Lemmas 2.1, 2.2 and 2.5, or of Nikiforov's spectral Turán theorem are welcome.

Selected references

  • J. Wang, L. Kang, Y. Xue, On a conjecture of spectral extremal problems, J. Combin. Theory Ser. B, 2023; arXiv:2203.10831v1 (2022). https://arxiv.org/abs/2203.10831
  • S. Cioabă, D. N. Desai, M. Tait, The spectral radius of graphs with no odd wheels, European J. Combin. 99 (2022) 103420.
  • S. Cioabă, L. H. Feng, M. Tait, X. D. Zhang, The maximum spectral radius of graphs without friendship subgraphs, Electron. J. Combin. 27(4) (2020) P4.22.
  • G. Chen, R. J. Gould, F. Pfender, B. Wei, Extremal graphs for intersecting cliques, J. Combin. Theory Ser. B 89 (2003) 159–171.
  • V. Nikiforov, Bounds on graph eigenvalues II, Linear Algebra Appl. 427 (2007) 183–189.
  • V. Nikiforov, Stability for large forbidden subgraphs, J. Graph Theory 62(4) (2009) 362–368.
  • D. N. Desai, L. Kang, Y. Li, Z. Ni, M. Tait, J. Wang, Spectral extremal graphs for intersecting cliques, arXiv:2108.03587v2 (2021). https://arxiv.org/abs/2108.03587
18 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
CombinatoricsLinear OptimizationOperations Research·Captain: mikedeng1

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

Motivation

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

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

Setting

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

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

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

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

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

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

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

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

Formalization targets

Goal: Theorem 2.13

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

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

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

Milestones

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

Further result

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

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

Significance

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

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

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

Difficulty

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

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

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

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

Formalization scope

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

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

Selected references

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

Approximating Clique-Width and Branch-Width: Well-Linked Sets Certify Clique-WidthResearch Paper

Motivation

Clique-width is a graph parameter introduced by Courcelle and Olariu (Discrete Appl. Math. 101 (2000)) that measures how far a graph is from being built by a few labelled operations. Every problem expressible in monadic second-order logic with quantification over vertices and vertex sets (MSO1_11​) can be solved in linear time on graphs given together with a decomposition of bounded clique-width (Courcelle, Makowsky and Rotics, Theory Comput. Syst. 33 (2000)). Bounded clique-width is more general than bounded tree-width: complete graphs have unbounded tree-width but clique-width 222.

For fixed kkk there was, before this paper, no polynomial-time algorithm that either decides that a graph has clique-width at least k+1k+1k+1 or outputs a decomposition of clique-width bounded by a function of kkk; the best known algorithm, by Johansson (2001), gave width 2klog⁡n2k\log n2klogn. Oum and Seymour (J. Combin. Theory Ser. B 96 (2006)) closed this gap with approximation 23k+2−12^{3k+2}-123k+2−1, through rank-width and a factor-3 approximation for the branch-width of symmetric submodular functions.

Timeline:

  • 1991: Robertson and Seymour introduce branch-width of graphs and hypergraphs (J. Combin. Theory Ser. B 52).
  • 2000: Courcelle and Olariu define clique-width; Courcelle, Makowsky and Rotics solve MSO1_11​ problems on graphs given with a kkk-expression.
  • 2001: Johansson gives a 2klog⁡n2k\log n2klogn approximation.
  • 2006: Oum and Seymour define rank-width, prove rwd(G)≤cwd(G)≤2rwd(G)+1−1\mathrm{rwd}(G) \le \mathrm{cwd}(G) \le 2^{\mathrm{rwd}(G)+1}-1rwd(G)≤cwd(G)≤2rwd(G)+1−1, and give an O(n9log⁡n)O(n^9 \log n)O(n9logn) algorithm that outputs a (23k+2−1)(2^{3k+2}-1)(23k+2−1)-expression or certifies clique-width above kkk.

Setting

All graphs are finite and simple. For a finite set VVV, a function f:2V→Zf : 2^V \to \mathbb{Z}f:2V→Z is submodular if f(X)+f(Y)≥f(X∩Y)+f(X∪Y)f(X)+f(Y) \ge f(X\cap Y)+f(X\cup Y)f(X)+f(Y)≥f(X∩Y)+f(X∪Y) and symmetric if f(X)=f(V∖X)f(X) = f(V\setminus X)f(X)=f(V∖X).

A branch-decomposition of fff is a pair (T,L)(T, L)(T,L) where TTT is a tree with at least two vertices and all degrees at most 333, and LLL is a bijection from VVV onto the leaves of TTT. Removing an edge eee of TTT splits the leaves in two; the width of eee is fff of the set of elements of VVV on one side. The width of (T,L)(T, L)(T,L) is the largest edge width, and the branch-width bw(f)\mathrm{bw}(f)bw(f) is the least width of a branch-decomposition, with bw(f)=f(∅)\mathrm{bw}(f) = f(\emptyset)bw(f)=f(∅) when ∣V∣≤1|V| \le 1∣V∣≤1.

A set W⊆VW \subseteq VW⊆V is well-linked with respect to fff if for every partition (X,Y)(X, Y)(X,Y) of WWW and every ZZZ with X⊆Z⊆V∖YX \subseteq Z \subseteq V\setminus YX⊆Z⊆V∖Y, f(Z)≥min⁡(∣X∣,∣Y∣)f(Z) \ge \min(|X|, |Y|)f(Z)≥min(∣X∣,∣Y∣).

Let A(G)A(G)A(G) be the adjacency matrix of GGG over GF(2)\mathrm{GF}(2)GF(2). For disjoint X,Y⊆V(G)X, Y \subseteq V(G)X,Y⊆V(G), cutrkG∗(X,Y)\mathrm{cutrk}^*_G(X, Y)cutrkG∗​(X,Y) is the rank of the submatrix of A(G)A(G)A(G) with rows XXX and columns YYY, and the cut-rank function is cutrkG(X)=cutrkG∗(X,V(G)∖X)\mathrm{cutrk}_G(X) = \mathrm{cutrk}^*_G(X, V(G)\setminus X)cutrkG​(X)=cutrkG∗​(X,V(G)∖X). The rank-width rwd(G)\mathrm{rwd}(G)rwd(G) is bw(cutrkG)\mathrm{bw}(\mathrm{cutrk}_G)bw(cutrkG​).

A kkk-expression is a term built from constants ⋅i\cdot_i⋅i​ (a vertex with label i∈{1,…,k}i \in \{1,\dots,k\}i∈{1,…,k}), the operators ηi,j\eta_{i,j}ηi,j​ (i≠ji \ne ji=j; add all edges between labels iii and jjj), ρi→j\rho_{i\to j}ρi→j​ (relabel iii into jjj) and disjoint union ⊕\oplus⊕. Its value is the labelled graph it produces; GGG has clique-width cwd(G)≤k\mathrm{cwd}(G) \le kcwd(G)≤k if some kkk-expression has value isomorphic to GGG.

An interpolation of fff is a function f∗f^*f∗ on disjoint pairs (X,Y)(X, Y)(X,Y) that agrees with fff on (X,V∖X)(X, V\setminus X)(X,V∖X), is monotone, submodular in the sense f∗(A,B)+f∗(C,D)≥f∗(A∩C,B∪D)+f∗(A∪C,B∩D)f^*(A,B)+f^*(C,D) \ge f^*(A\cap C, B\cup D) + f^*(A\cup C, B\cap D)f∗(A,B)+f∗(C,D)≥f∗(A∩C,B∪D)+f∗(A∪C,B∩D), and has f∗(∅,∅)=f(∅)f^*(\emptyset,\emptyset)=f(\emptyset)f∗(∅,∅)=f(∅).

Formalization targets

Goal: Theorem 1.1, certificate form

For a graph GGG with at least one vertex and an integer k≥1k \ge 1k≥1:

∃ W, ∣W∣=3k+1, W well-linked for cutrkG  ⟹  cwd(G)≥k+1,\exists\, W,\ |W| = 3k+1,\ W \text{ well-linked for } \mathrm{cutrk}_G \;\Longrightarrow\; \mathrm{cwd}(G) \ge k+1,∃W, ∣W∣=3k+1, W well-linked for cutrkG​⟹cwd(G)≥k+1, ∄ W, ∣W∣=3k+1, W well-linked for cutrkG  ⟹  cwd(G)≤23k+2−1.\nexists\, W,\ |W| = 3k+1,\ W \text{ well-linked for } \mathrm{cutrk}_G \;\Longrightarrow\; \mathrm{cwd}(G) \le 2^{3k+2}-1.∄W, ∣W∣=3k+1, W well-linked for cutrkG​⟹cwd(G)≤23k+2−1.

The same explicit condition decides which side of the approximation holds; this is what the paper's algorithm certifies.

Milestones

  1. Proposition 4.1: properties of an interpolation, including that X↦f∗(X,B)−f(∅)X \mapsto f^*(X, B) - f(\emptyset)X↦f∗(X,B)−f(∅) is a matroid rank function on V∖BV\setminus BV∖B when f({v})−f(∅)≤1f(\{v\}) - f(\emptyset) \le 1f({v})−f(∅)≤1.
  2. Proposition 4.2: fmin⁡(X,Y)=min⁡X⊆Z⊆V∖Yf(Z)f_{\min}(X,Y) = \min_{X\subseteq Z\subseteq V\setminus Y} f(Z)fmin​(X,Y)=minX⊆Z⊆V∖Y​f(Z) is an interpolation.
  3. Theorem 5.1: a well-linked set of size kkk forces bw(f)≥k/3\mathrm{bw}(f) \ge k/3bw(f)≥k/3 (for k≠1k \ne 1k=1).
  4. Theorem 5.2: no well-linked set of size kkk implies bw(f)≤k\mathrm{bw}(f) \le kbw(f)≤k, when f({v})≤1f(\{v\}) \le 1f({v})≤1.
  5. Proposition 6.1: rk M[X1,Y1]+rk M[X2,Y2]≥rk M[X1∪X2,Y1∩Y2]+rk M[X1∩X2,Y1∪Y2]\mathrm{rk}\,M[X_1,Y_1] + \mathrm{rk}\,M[X_2,Y_2] \ge \mathrm{rk}\,M[X_1\cup X_2, Y_1\cap Y_2] + \mathrm{rk}\,M[X_1\cap X_2, Y_1\cup Y_2]rkM[X1​,Y1​]+rkM[X2​,Y2​]≥rkM[X1​∪X2​,Y1​∩Y2​]+rkM[X1​∩X2​,Y1​∪Y2​].
  6. Corollary 6.2: submodularity of cutrkG∗\mathrm{cutrk}^*_GcutrkG∗​ and cutrkG\mathrm{cutrk}_GcutrkG​.
  7. Section 6 claim: cutrkG\mathrm{cutrk}_GcutrkG​ is symmetric submodular and cutrkG∗\mathrm{cutrk}^*_GcutrkG∗​ interpolates it.
  8. Proposition 6.3: rwd(G)≤cwd(G)≤2rwd(G)+1−1\mathrm{rwd}(G) \le \mathrm{cwd}(G) \le 2^{\mathrm{rwd}(G)+1}-1rwd(G)≤cwd(G)≤2rwd(G)+1−1.

Significance

The dichotomy turns clique-width, for which no exact polynomial algorithm is known even for fixed kkk, into a parameter that can be approximated with an explicit witness in each direction. Downstream, every algorithm for graphs of bounded clique-width that needs a kkk-expression as input becomes applicable to graphs given without one, at the cost of an exponential blow-up of the width.

The result is proved in the literature; this mission formalizes it. To our knowledge none of the objects involved — branch-width of set functions, rank-width, cut-rank, kkk-expressions, clique-width — has been formalized in Mathlib, and the submodularity of submatrix rank (Proposition 6.1) is absent from Mathlib's Matrix.rank API. The formal development would give reusable definitions of branch-decompositions of arbitrary integer set functions, of cut-rank, and of clique-width, and a machine-checked link between the combinatorial and the linear-algebraic width parameters.

Difficulty

The upper bound in Theorem 5.2 is the core. The natural approach, growing a branch-decomposition one leaf split at a time while keeping the width at most kkk, gets stuck at a leaf carrying a set BBB with f(B)=kf(B) = kf(B)=k: a split of BBB into two parts of fff-value below kkk has to be found, and it must be found from the failure of well-linkedness of a set that is not obviously related to BBB. The paper's device is the interpolation f∗f^*f∗, which attaches a matroid to BBB whose base has exactly f(B)f(B)f(B) elements. Formalizing this requires handling partial branch-decompositions, their extensions, and a maximality argument over trees, none of which exists in Mathlib.

Proposition 6.3's upper bound is a second, independent difficulty: a rank-decomposition must be converted into a kkk-expression by an induction over a rooted binary tree, with a relabelling argument bounding the number of labels by the number of distinct nonzero rows of a GF(2)\mathrm{GF}(2)GF(2) matrix of rank kkk. Its lower bound needs the tree structure of a kkk-expression to be read as a branch-decomposition.

Formalization scope

The ground set is a Fintype V with DecidableEq V; subsets are Finset V; set functions are Finset V → ℤ, as in the paper. A branch-decomposition is a tree T : SimpleGraph (Fin n) with n≥2n \ge 2n≥2, all neighbour sets of size at most 333, and an injective map LLL from VVV onto the vertices of degree 111; the side of an edge uwuwuw is found by reachability from uuu after deleting uwuwuw. Branch-width, rank-width and clique-width are never computed as minima: "bw(f)≤k\mathrm{bw}(f) \le kbw(f)≤k" is the predicate "∣V∣≤1|V| \le 1∣V∣≤1 and f(∅)≤kf(\emptyset) \le kf(∅)≤k, or a branch-decomposition of width at most kkk exists", lower bounds say that every branch-decomposition has a wide edge, and "cwd(G)≤k\mathrm{cwd}(G) \le kcwd(G)≤k" is "GGG has a kkk-expression". Labels {1,…,k}\{1,\dots,k\}{1,…,k} are Fin k. The value of a kkk-expression has as vertex type the occurrences of constants (a nested sum type), and ηi,j\eta_{i,j}ηi,j​ requires i≠ji \ne ji=j. Cut-rank uses Matrix.rank over ZMod 2 of submatrices of SimpleGraph.adjMatrix. An interpolation is a function on all pairs of subsets whose axioms are imposed on disjoint pairs only.

Running time is not formalized. The paper's Theorem 1.1 asserts an O(n9log⁡n)O(n^9\log n)O(n9logn) algorithm; there is no cost model on the page, and the goal states the certificate the algorithm returns instead. Without the running time, "cwd(G)≥k+1\mathrm{cwd}(G) \ge k+1cwd(G)≥k+1 or cwd(G)≤23k+2−1\mathrm{cwd}(G) \le 2^{3k+2}-1cwd(G)≤23k+2−1" holds for every graph, so that reading is ruled out as a formalization of the goal; so are well-linkedness with respect to anything other than cutrkG\mathrm{cutrk}_GcutrkG​, widths defined by an unguarded infimum (which is 000 on an empty family), kkk-expressions whose value is not the graph up to isomorphism or whose η\etaη may join equal labels, and Theorem 5.1 stated for k=1k = 1k=1.

Correction of Theorem 5.1. As printed, Theorem 5.1 fails for k=1k = 1k=1: a singleton is always well-linked, but the edgeless graph on two vertices has cut-rank identically 000 and branch-width 0<1/30 < 1/30<1/3. The milestone carries the hypothesis k≠1k \ne 1k=1; the goal uses the theorem only at size 3k+1≥43k+1 \ge 43k+1≥4.

The graph with no vertex is excluded from the goal and from the upper bound of Proposition 6.3, since it has no kkk-expression for any kkk. Contributions welcome: proofs of the milestones, lemmas on branch-decompositions (suppressing degree-2 vertices, extending partial decompositions), and submatrix-rank submodularity, which is reusable beyond this mission.

Selected references

  • S. Oum and P. Seymour, Approximating clique-width and branch-width, J. Combin. Theory Ser. B 96 (2006) 514–528. https://doi.org/10.1016/j.jctb.2005.10.006
  • B. Courcelle and S. Olariu, Upper bounds to the clique width of graphs, Discrete Appl. Math. 101 (2000) 77–114. https://doi.org/10.1016/S0166-218X(99)00184-5
  • B. Courcelle, J. A. Makowsky and U. Rotics, Linear time solvable optimization problems on graphs of bounded clique-width, Theory Comput. Syst. 33 (2000) 125–150. https://doi.org/10.1007/s002249910009
  • N. Robertson and P. D. Seymour, Graph minors. X. Obstructions to tree-decomposition, J. Combin. Theory Ser. B 52 (1991) 153–190. https://doi.org/10.1016/0095-8956(91)90061-N
14 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
PreviousPage 2 of 4Next

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