Menger's theorem for vertex-disjoint paths in simple graphs #
Let G be a simple graph on a finite vertex type V. This file proves the vertex forms of
Menger's theorem for G, with path witnesses in SimpleGraph.Walk and separators given by
deleting vertices.
- Local form. For distinct nonadjacent vertices
sandt, the largest number ofs–tpaths pairwise sharing no vertex other thansandtequals the least number of vertices, other thansandt, whose deletion separatessfromt. Deletion of a setXof vertices is expressed through the subgraphG.induce (↑X)ᶜinduced on the remaining vertices. - Adjacent vertices. No set of vertices other than
sandtseparates adjacent verticessandt, so the edges(s, t)is deleted as well and counted separately: for somek, there arek + 1such paths, one of them the edge itself, andkvertices whose deletion together with that of the edge separatessfromt. - Vertex-capacitated form. With a capacity
c v : ℕon every vertex, a packing is a family ofs–tpaths, repetitions allowed, in which every vertexvother thansandtlies on at mostc vmembers. The largest packing has as many members as the least weight∑ v ∈ X, c vof a separatorX. - Set-to-set form. For vertex sets
AandB, possibly overlapping, anA–Bpath runs from a vertex ofAto a vertex ofBand has no other vertex inAorB. The largest number of pairwise vertex-disjointA–Bpaths equals the least number of vertices meeting every walk from a vertex ofAto a vertex ofB; such a separator may meetAandB, and a vertex ofA ∩ Bis a path of length zero. The vertex-capacitated version counts every vertex, endpoints included, against its capacity.
Each form comes with weak duality, which needs no finiteness, and a witness form giving a path
family and a separator of equal size. The local form and the set-to-set form also have predicate
forms; the predicate form of the local form holds for arbitrary vertices s and t.
Main definitions #
SimpleGraph.Walk.InternallyDisjoint: two walks fromstotsharing no vertex other thansandt.
Main results #
SimpleGraph.card_le_card_of_not_reachable_induce: weak duality for internally disjoint walks.SimpleGraph.exists_paths_vertexSeparator_card_eq: Menger's theorem for internally vertex-disjoint paths, in witness form.SimpleGraph.forall_reachable_induce_iff_exists_paths: its predicate form:tstays reachable fromsafter deleting any fewer thankvertices other thansandtexactly when there arekinternally vertex-disjoints–tpaths.SimpleGraph.card_le_card_add_one_of_not_reachable_induce_deleteEdgesandSimpleGraph.exists_paths_vertexSeparator_card_add_one_eq: the form for adjacent vertices.SimpleGraph.card_le_sum_of_not_reachable_induceandSimpleGraph.exists_paths_vertexSeparator_sum_eq: the vertex-capacitated form.SimpleGraph.card_le_card_of_forall_exists_mem_support,SimpleGraph.exists_paths_setSeparator_card_eqandSimpleGraph.forall_exists_walk_iff_exists_paths: the set-to-set form.SimpleGraph.card_le_sum_of_forall_exists_mem_supportandSimpleGraph.exists_paths_setSeparator_sum_eq: the vertex-capacitated set-to-set form.
Implementation notes #
Apart from the form for adjacent vertices, every statement is transported from the corresponding
theorem for directed walks of an arrow family (TauCeti.exists_paths_vertexSeparator_card_eq and
its companions) applied to the adjacency arrow family SimpleGraph.AdjHom G. Its directed walks
are the walks of G with the same vertex sequences (SimpleGraph.Walk.arrowWalkEquiv), and
reachability after deleting X is reachability avoiding X
(SimpleGraph.reachable_induce_compl_iff). The form for adjacent vertices applies the nonadjacent
form to the graph G.deleteEdges {s(s, t)}; a path from s to t traversing the edge s(s, t)
is that edge (SimpleGraph.Walk.IsPath.eq_adj_toWalk_of_mem_edges).
References #
- K. Menger, Zur allgemeinen Kurventheorie, Fund. Math. 10 (1927).
- R. Diestel, Graph Theory, 5th ed., Graduate Texts in Mathematics 173, Springer, 2017, Section 3.3.
Internally disjoint walks #
Two walks from s to t are internally disjoint when they share no vertex other than s
and t.
Instances For
Two distinct internally disjoint paths form a cycle when one is traversed in reverse.
The two arcs obtained by splitting a cycle at a vertex are internally disjoint walks with the same endpoints.
Paths between two vertices #
Weak duality for vertex-capacitated packings. A family of s–t walks in which every
vertex v other than s and t lies on at most c v members has at most ∑ v ∈ X, c v
members, for every set X of vertices other than s and t whose deletion separates s from
t.
Vertex-capacitated Menger's theorem. Let s and t be distinct nonadjacent vertices of a
simple graph on a finite vertex type, and let c v be a capacity on every vertex. Some family of
k paths from s to t, in which every vertex v other than s and t lies on at most c v
members, and some set X of vertices other than s and t, whose deletion separates s from
t, satisfy ∑ v ∈ X, c v = k. By SimpleGraph.card_le_sum_of_not_reachable_induce, the family is
then largest and the separator of least weight.
Weak duality for internally vertex-disjoint walks. A family of s–t walks pairwise
sharing no vertex other than s and t has at most #X members, for every set X of vertices
other than s and t whose deletion separates s from t.
Menger's theorem for internally vertex-disjoint paths. Let s and t be distinct
nonadjacent vertices of a simple graph on a finite vertex type. Some family of k distinct paths
from s to t, pairwise sharing no vertex other than s and t, and some set of k vertices
other than s and t, whose deletion separates s from t, exist. By
SimpleGraph.card_le_card_of_not_reachable_induce, the family is then largest and the separator
smallest.
Menger's theorem for internally vertex-disjoint paths, predicate form. Let s and t be
vertices of a simple graph on a finite vertex type. Then t stays reachable
from s after deleting any fewer than k vertices other than s and t exactly when there are
k paths from s to t pairwise sharing no vertex other than s and t.
Paths between adjacent vertices #
Weak duality for internally vertex-disjoint paths between possibly adjacent vertices. Let
X be a set of vertices other than s and t whose deletion, together with that of the edge
s(s, t), separates s from t. A family of distinct paths from s to t, pairwise sharing no
vertex other than s and t, has at most #X + 1 members.
Menger's theorem for internally vertex-disjoint paths between adjacent vertices. Let s and
t be adjacent vertices of a simple graph on a finite vertex type. For some k, there are a
family of k + 1 distinct paths from s to t, pairwise sharing no vertex other than s and
t, whose last member is the path consisting of the edge s(s, t), and a set of k vertices
other than s and t whose deletion, together with that of the edge s(s, t), separates s from
t. By SimpleGraph.card_le_card_add_one_of_not_reachable_induce_deleteEdges, the family is then
largest and the separator smallest.
Paths between two vertex sets #
Weak duality for vertex-capacitated set-to-set packings. A family of walks, each from a
vertex of A to a vertex of B, in which every vertex v lies on at most c v members, has at
most ∑ v ∈ X, c v members, for every set X of vertices meeting every walk from a vertex of A
to a vertex of B.
Vertex-capacitated Menger's theorem between vertex sets. Let A and B be sets of vertices
of a simple graph on a finite vertex type, and let c v be a capacity on every vertex. Some family
of k paths, the i-th from a i ∈ A to b i ∈ B with its other vertices in neither A nor
B, in which every vertex v lies on at most c v members, and some set X of vertices meeting
every walk from a vertex of A to a vertex of B satisfy ∑ v ∈ X, c v = k. By
SimpleGraph.card_le_sum_of_forall_exists_mem_support, the family is then largest and the
separator of least weight.
Weak duality for vertex-disjoint set-to-set walks. A family of pairwise vertex-disjoint
walks, each from a vertex of A to a vertex of B, has at most #X members, for every set X of
vertices meeting every walk from a vertex of A to a vertex of B.
Menger's theorem for vertex-disjoint paths between vertex sets. Let A and B be sets of
vertices of a simple graph on a finite vertex type. Some family of k pairwise vertex-disjoint
paths, the i-th from a i ∈ A to b i ∈ B with its other vertices in neither A nor B, and
some set of k vertices meeting every walk from a vertex of A to a vertex of B exist. By
SimpleGraph.card_le_card_of_forall_exists_mem_support, the family is then largest and the
separator smallest.
Menger's theorem for vertex-disjoint paths between vertex sets, predicate form. Let A and
B be sets of vertices of a simple graph on a finite vertex type. For every set X of fewer than
k vertices, some walk from a vertex of A to a vertex of B avoids X, exactly when there are
k pairwise vertex-disjoint paths, each from a vertex of A to a vertex of B with its other
vertices in neither A nor B.