Add a drawable edge between distinct components
OpenWilliamsonShmoys.planar_add_edge_between_components__p2m_0dfd7289_30fc_4048_8084_2297688a9abc_a1approximation-algorithmsplanar-graphstreewidth
Given a drawable graph and vertices in different components, adjoining the edge between them preserves drawability and gives a proper supergraph.
Preamble
import Definitions.Def_WilliamsonShmoys_PlanarDrawingOn import Mathlib open WilliamsonShmoys set_option autoImplicit false
Formal statement
theorem WilliamsonShmoys.planar_add_edge_between_components__p2m_0dfd7289_30fc_4048_8084_2297688a9abc_a1
{V : Type} [Fintype V] [LinearOrder V]
(M : SimpleGraph V) (hM : HasPlanarDrawingOn M)
(u v : V) (huv : ¬ M.Reachable u v) :
∃ N : SimpleGraph V, M ≤ N ∧ N.Adj u v ∧
HasPlanarDrawingOn N ∧ N ≠ M := 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).