Extract Euler face data from a planar drawing
OpenWilliamsonShmoys.drawing_has_euler_face_data__p2m_55f47020_da90_4034_b4af_759a470f5d81_a2approximation-algorithmsplanar-graphstreewidth
For the connected graph’s crossing-free drawing, produce a finite face count and a boundary length for each face. The data satisfy Euler’s equation, count each edge twice among face boundaries, and give every facial walk length at least three. The drawing predicate supplies the arcs; a proof must turn them into a plane embedding and establish its facial-walk properties. Connectedness, simplicity, and the vertex lower bound exclude short exceptional walks.
Preamble
import Definitions.Def_WilliamsonShmoys_PlanarDrawingOn import Mathlib set_option autoImplicit false open WilliamsonShmoys
Formal statement
theorem WilliamsonShmoys.drawing_has_euler_face_data__p2m_55f47020_da90_4034_b4af_759a470f5d81_a2
{V : Type} [Fintype V] [LinearOrder V]
(G : SimpleGraph V)
(hG : WilliamsonShmoys.HasPlanarDrawingOn G)
(hconn : G.Connected)
(hcard : 3 ≤ Fintype.card V) :
letI : DecidableRel G.Adj := Classical.decRel G.Adj
∃ (faceCount : Nat) (boundaryLength : Fin faceCount → Nat),
faceCount + Fintype.card V = G.edgeFinset.card + 2 ∧
(∑ f : Fin faceCount, boundaryLength f) = 2 * G.edgeFinset.card ∧
∀ f, 3 ≤ boundaryLength f := 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).