Complete a graph to a prescribed feasible edge count
ProvedWilliamsonShmoys.graph_edge_completion__p2m_f3a63840_9387_418b_904c_fbe2e8408361_a1approximation-algorithmsplanar-graphstreewidth
For a finite linearly ordered vertex type, if a graph has at most m edges and m does not exceed the number of possible unordered vertex pairs, then it has a supergraph on the same vertices with exactly m edges.
Preamble
import Mathlib set_option autoImplicit false
Formal statement
theorem WilliamsonShmoys.graph_edge_completion__p2m_f3a63840_9387_418b_904c_fbe2e8408361_a1
{V : Type} [Fintype V] [LinearOrder V]
(K : SimpleGraph V) (m : Nat) :
letI : (G : SimpleGraph V) → DecidableRel G.Adj := fun G => Classical.decRel G.Adj
K.edgeFinset.card ≤ m →
m ≤ Fintype.card V * (Fintype.card V - 1) / 2 →
∃ H : SimpleGraph V, K ≤ H ∧ H.edgeFinset.card = 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).