Add an edge between nonreachable vertices
ProvedWilliamsonShmoys.add_nonreachable_edge_graph__p2m_28fcd582_d200_46af_bf00_d4c58429d202_a1approximation-algorithmsplanar-graphstreewidth
Adding exactly the edge {u,v} to G gives a supergraph in which u and v are reachable, while preserving an exact description of its canonically ordered edges.
Preamble
import Mathlib set_option autoImplicit false
Formal statement
theorem WilliamsonShmoys.add_nonreachable_edge_graph__p2m_28fcd582_d200_46af_bf00_d4c58429d202_a1
{V : Type} [Fintype V] [LinearOrder V]
(G : SimpleGraph V)
(u v : V)
(huv : u < v ∧ ¬ G.Reachable u v) :
∃ K : SimpleGraph V,
G ≤ K ∧ K.Reachable u v ∧
(∀ x y, x < y →
(K.Adj x y ↔ (G.Adj x y ∨ (x = u ∧ y = v)))) := by sorrySource
David P. Williamson and David B. Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011, author electronic manuscript, Section 10.2, proof of Theorem 10.11, pp. 270-272. https://doi.org/10.1017/CBO9780511921735. Bounded tree-width of the pieces: Robertson–Seymour (planar graphs of radius r have tree-width at most 3r+1) / Bodlaender (k-outerplanar graphs have tree-width at most 3k-1).