Count edges covered by disjoint blocks exactly once
Openedge_partition_count__p2m_9c944e48_3248_4b41_826f_8af0b6f3bcab_a1approximation-algorithmsplanar-graphstreewidth
If pairwise disjoint finite vertex blocks cover the endpoints of every graph edge, summing, over blocks, the number of graph edges with both endpoints in that block counts every graph edge exactly once.
Preamble
import Definitions.Def_WilliamsonShmoys_PlanarDrawingOn import Mathlib open WilliamsonShmoys set_option autoImplicit false
Formal statement
theorem edge_partition_count__p2m_9c944e48_3248_4b41_826f_8af0b6f3bcab_a1
{V : Type} [Fintype V] [LinearOrder V]
(L : SimpleGraph V) (dL : DecidableRel L.Adj)
(C : Finset (Finset V))
(hdisj : ∀ s ∈ C, ∀ t ∈ C, s ≠ t → Disjoint s t)
(hpair : ∀ u v : V, L.Adj u v → ∃ s ∈ C, u ∈ s ∧ v ∈ s) :
(letI : DecidableRel L.Adj := dL;
(∑ s ∈ C, {e ∈ L.edgeFinset | e.toFinset ⊆ s}.card) = L.edgeFinset.card) := 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).