Add a drawable edge between distinct components
DisprovedWilliamsonShmoys.planarDrawing_add_cross_component_edge__p2m_dddaee3a_0582_44d9_9566_a5dd1d115710_a1approximation-algorithmsplanar-graphstreewidth
Given a finite disconnected graph with a crossing-free drawing, find vertices in different connected components and add exactly the edge between them while retaining a crossing-free drawing.
Preamble
import Definitions.Def_WilliamsonShmoys_PlanarDrawingOn import Mathlib open WilliamsonShmoys
Formal statement
theorem WilliamsonShmoys.planarDrawing_add_cross_component_edge__p2m_dddaee3a_0582_44d9_9566_a5dd1d115710_a1
{V : Type} [Fintype V] [LinearOrder V]
(G : SimpleGraph V)
(hG : WilliamsonShmoys.HasPlanarDrawingOn G)
(hdisconnected : ¬ G.Connected) :
∃ u v : V, ¬ G.Reachable u v ∧
∃ H : SimpleGraph V,
G ≤ H ∧
H.edgeSet = G.edgeSet ∪ {Sym2.mk u v} ∧
WilliamsonShmoys.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).