Add a planar edge between components
OpenWilliamsonShmoys.planar_add_edge_between_components__p2m_1532c25a_65bb_404f_a90f_83fae1a22778_a1approximation-algorithmsplanar-graphstreewidth
If two vertices of a graph with a crossing-free drawing lie in distinct components, one can add an edge between them and obtain a crossing-free drawing of the enlarged graph. This isolates the topological work; a proof route is to place the disconnected components in planar regions and route a new arc through their complementary face regions, then verify the drawing axioms for the new edge and retain the old arcs.
Preamble
import Definitions.Def_WilliamsonShmoys_PlanarDrawingOn import Mathlib open WilliamsonShmoys set_option autoImplicit false
Formal statement
theorem WilliamsonShmoys.planar_add_edge_between_components__p2m_1532c25a_65bb_404f_a90f_83fae1a22778_a1 {V : Type} [Fintype V] [LinearOrder V] (G : SimpleGraph V) (hG : HasPlanarDrawingOn G) (u v : V) (hnotReachable : ¬ G.Reachable u v) : ∃ H : SimpleGraph V, G < H ∧ H.Adj u v ∧ HasPlanarDrawingOn H := 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).