Documentation

Matroid.Graph.Connected.Minor

theorem Graph.ConnBetween.map {α : Type u_1} {α' : Type u_2} {β : Type u_3} {G : Graph α β} {x y : α} (f : αα') (h : G.ConnBetween x y) :
(Graph.map f G).ConnBetween (f x) (f y)
theorem Graph.Preconnected.map {α : Type u_1} {α' : Type u_2} {β : Type u_3} {G : Graph α β} (f : αα') (h : G.Preconnected) :
@[simp]
theorem Graph.Connected.map {α : Type u_1} {α' : Type u_2} {β : Type u_3} {G : Graph α β} (f : αα') (h : G.Connected) :

Pulling separators back along a map #

theorem Graph.IsSep.of_map {α : Type u_1} {α' : Type u_2} {β : Type u_3} {G : Graph α β} {f : αα'} {S : Set α'} (hS : (map f G).IsSep S) :
theorem Graph.IsSep.of_contract {α : Type u_1} {β : Type u_3} {G : Graph α β} {S : Set α} {C : Set β} {φ : αα} ( : (G.restrict C).connPartition.IsRepFun φ) (hS : G /[C, φ].IsSep S) :
G.IsSep (φ ⁻¹' S)

Connectivity bounds under contracting a single edge #

Endpoint separators from bad single-edge contractions #

If contracting a nonloop edge destroys ConnGE (n+1) (and the contracted graph still has at least n+2 vertices), then there is a separator in G of size at most n+1 containing both endpoints of the edge.

theorem Graph.exists_contract_connGE_three {α : Type u_1} {β : Type u_3} {G : Graph α β} [G.Finite] (hG : G.ConnGE 3) (hV : 5 G.vertexSet.encard) :
∃ (e : β) (x : α) (y : α) (h : G.IsLink e x y), G /(e, h).ConnGE 3