The edge connectivity of a simple graph #
Mathlib's SimpleGraph.IsEdgeConnected G k says that G stays preconnected after deleting any
set of fewer than k edges. This file introduces the numerical invariant
G.edgeConnectivity : ℕ∞, the supremum of the natural thresholds at which G is edge-connected,
and bounds it by vertex degrees. As for multigraphs, a graph on at most one vertex has edge
connectivity ⊤. It also lifts walks and trails in G with toSubgraph ≤ K to reachability in
edge-deleted subgraphs of K.coe, showing without finiteness assumptions that every closed trail
(and in particular every cycle) traces a 2-edge-connected subgraph.
The supremum definition and the degree bounds follow the proposal
mathlib4#42494, and the invariant
matches the multigraph Graph.edgeConnectivity on Graph.ofSimpleGraph.
Main definitions #
SimpleGraph.edgeConnectivity G: the supremum inℕ∞of the natural thresholdskat whichGisk-edge-connected.
Main results #
SimpleGraph.isEdgeConnected_iff_le_edgeConnectivity: the invariant records exactly the thresholds inℕ∞at whichGis edge-connected.SimpleGraph.edgeConnectivity_le_degree,SimpleGraph.edgeConnectivity_le_minDegree: on at least two vertices, edge connectivity is at most every degree, hence at most the minimum degree.SimpleGraph.edgeConnectivity_eq_top_iff: on a finite vertex type, edge connectivity is⊤exactly when there is at most one vertex.SimpleGraph.Walk.reachable_deleteEdges_coe,SimpleGraph.Walk.IsTrail.reachable_deleteEdges_coe_or_reachable_deleteEdges_coe: lifting walks and trails inGwithtoSubgraph ≤ Kto reachability in edge-deleted subgraphs ofK.coe.SimpleGraph.Walk.IsTrail.isEdgeConnected_two_toSubgraph,SimpleGraph.Walk.IsCycle.isEdgeConnected_two_toSubgraph: the subgraph traced by a closed trail (in particular, a cycle) is2-edge-connected.
The edge connectivity of a simple graph: the supremum in ℕ∞ of the natural thresholds k at
which it is k-edge-connected. It is ⊤ when there is at most one vertex.
Instances For
Edge connectivity records exactly the thresholds at which the graph is edge-connected.
Edge connectivity is monotone in the graph.
A graph on at most one vertex has edge connectivity ⊤.
Degree bounds #
On at least two vertices, edge connectivity is at most the degree of every vertex of finite degree.
On a finite vertex type with at least two vertices, a k-edge-connected graph has minimum
degree at least k.
On a finite vertex type with at least two vertices, edge connectivity is at most the minimum degree.
On a finite vertex type, edge connectivity is ⊤ exactly when there is at most one vertex.
Subgraph walks and cycle connectivity #
If a walk p in G has p.toSubgraph ≤ K and uses none of the underlying edges of
s : Set (Sym2 K.verts), then its endpoints are reachable in K.coe.deleteEdges s.
Along a trail p : G.Walk u v with p.toSubgraph ≤ K, deleting any single edge f of K.coe
leaves every vertex on p reachable from u or from v in K.coe.deleteEdges {f}.
The subgraph traced by any closed trail in a simple graph is 2-edge-connected, with no
finiteness assumption.
The subgraph traced by any cycle in a simple graph is 2-edge-connected, with no finiteness
assumption.