Edge Connectivity #
This file defines k-edge-connectivity for simple graphs.
Main definitions #
SimpleGraph.IsEdgeReachable: Two vertices arek-edge-reachable if they remain reachable after removing strictly fewer thankedges.SimpleGraph.IsEdgeConnected: A graph isk-edge-connected if any two vertices arek-edge-reachable.
Two vertices are k-edge-reachable if they remain reachable after removing strictly fewer than
k edges.
Equations
- G.IsEdgeReachable k u v = ∀ ⦃s : Set (Sym2 V)⦄, s.encard < ↑k → (G.deleteEdges s).Reachable u v
Instances For
A graph is k-edge-connected if any two vertices are k-edge-reachable.
Equations
- G.IsEdgeConnected k = ∀ (u v : V), G.IsEdgeReachable k u v
Instances For
@[simp]
theorem
SimpleGraph.IsEdgeReachable.rfl
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
(u : V)
:
G.IsEdgeReachable k u u
theorem
SimpleGraph.IsEdgeReachable.symm
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
{u v : V}
(h : G.IsEdgeReachable k u v)
:
G.IsEdgeReachable k v u
theorem
SimpleGraph.IsEdgeReachable.trans
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
{u v w : V}
(h1 : G.IsEdgeReachable k u v)
(h2 : G.IsEdgeReachable k v w)
:
G.IsEdgeReachable k u w
theorem
SimpleGraph.IsEdgeReachable.mono
{V : Type u_1}
{G H : SimpleGraph V}
{k : ℕ}
{u v : V}
(hGH : G ≤ H)
(h : G.IsEdgeReachable k u v)
:
H.IsEdgeReachable k u v
theorem
SimpleGraph.IsEdgeReachable.anti
{V : Type u_1}
{G : SimpleGraph V}
{k l : ℕ}
{u v : V}
(hkl : k ≤ l)
(h : G.IsEdgeReachable l u v)
:
G.IsEdgeReachable k u v
@[simp]
theorem
SimpleGraph.IsEdgeReachable.zero
{V : Type u_1}
{G : SimpleGraph V}
{u v : V}
:
G.IsEdgeReachable 0 u v
@[simp]
@[simp]
@[simp]
theorem
SimpleGraph.isEdgeReachable_add_one
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
{u v : V}
:
G.IsEdgeReachable (k + 1) u v ↔ G.Reachable u v ∧ ∀ e ∈ G.edgeSet, (G.deleteEdges {e}).IsEdgeReachable k u v
theorem
SimpleGraph.isEdgeConnected_add_one
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
(hk : k ≠ 0)
:
A graph is 2-edge-connected iff it is preconnected and has no bridges.
theorem
SimpleGraph.isBridge_iff_adj_and_not_isEdgeConnected_two
{V : Type u_1}
{G : SimpleGraph V}
{u v : V}
:
An edge is a bridge iff its endpoints are adjacent and not 2-edge-reachable.
theorem
SimpleGraph.IsEdgeReachable.reachable
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
{u v : V}
(hk : k ≠ 0)
(huv : G.IsEdgeReachable k u v)
:
G.Reachable u v
theorem
SimpleGraph.IsEdgeConnected.preconnected
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
(hk : k ≠ 0)
(h : G.IsEdgeConnected k)
:
theorem
SimpleGraph.IsEdgeConnected.connected
{V : Type u_1}
{G : SimpleGraph V}
{k : ℕ}
[Nonempty V]
(hk : k ≠ 0)
(h : G.IsEdgeConnected k)
: