Sparsity Lectures
Main results: NDSubpolynomialDensity, NDSubpolynomialWcol, UQWEquivND
1Overview
All Entries
- def Admissibility
- thm ChernoffBound
- def ColoringNumbers
- thm MulticolorRamsey
- def Preliminaries
- thm Ramsey
- def ShallowMinor
- def ShallowTopologicalMinor
- lem StrongColoringBoundByAdm
- def UniformQuasiWideness
- lem AdmBoundByTopGrad
- lem BipartiteRamsey
- lem ColoringNumberEquivalence
- lem ColoringNumberOrdering
- lem Densification
- lem EvenStepReduction
- lem IterativeBipartiteRamsey
- def NowhereDense
- lem OddStepReduction
- lem ShallowMinorComposition
- thm UQWEquivND
- lem UQWImpliesND
- lem NDImpliesUQW
- thm NDSubpolynomialDensity
- thm NDSubpolynomialWcol
2 Main Results
Preliminaries
A graph class is a predicate on finite simple graphs, where the vertex type may vary.
| 1 | import Mathlib.Combinatorics.SimpleGraph.Basic |
| 2 | |
| 3 | namespace Catalog.Sparsity.Preliminaries |
| 4 | |
| 5 | /-- A graph class is a predicate on finite simple graphs, where the vertex type |
| 6 | may vary. -/ |
| 7 | abbrev GraphClass := |
| 8 | ∀ {V : Type}, [DecidableEq V] → [Fintype V] → SimpleGraph V → Prop |
| 9 | |
| 10 | end Catalog.Sparsity.Preliminaries |
| 11 |
A graph \(H\) is a minor of \(G\), written \(H \preccurlyeq G\), if there is a minor model \(\varphi\) of \(H\) in \(G\): a map \(\varphi\) which assigns to every vertex \(v \in V(H)\) a connected subgraph \(\varphi(v) \subseteq G\) and to every edge \(e \in E(H)\) an edge \(\varphi(e) \in E(G)\) such that:
- if \(u, v \in V(H)\) with \(u \neq v\) then \(V(\varphi(v)) \cap V(\varphi(u)) = \emptyset\), and
- if \(e = uv \in E(H)\) then \(\varphi(e) = u'v' \in E(G)\) for vertices \(u' \in V(\varphi(u))\) and \(v' \in V(\varphi(v))\).
The set \(\varphi(v)\) is the branch set of \(v\).
The radius of a connected graph \(G\) is \(\operatorname{rad}(G) = \min_{u \in V(G)} \max_{v \in V(G)} \operatorname{dist}(u, v)\).
Let \(H\), \(G\) be graphs and let \(d \in \mathbb{N}\). The graph \(H\) is a depth-\(d\) minor of \(G\), written \(H \preccurlyeq_d G\), if there is a minor model \(\varphi\) of \(H\) in \(G\) such that the branch set \(\varphi(v)\) has radius at most \(d\) for all \(v \in V(H)\).
For a graph \(G\) and \(d \in \mathbb{N}\): \[\nabla_d(G) := \sup \left\{ \frac{|E(H)|}{|V(H)|} : H \preccurlyeq_d G \right\}, \qquad \omega_d(G) := \sup \left\{ t : K_t \preccurlyeq_d G \right\}.\] For a graph class \(\mathcal{C}\) and \(d \in \mathbb{N}\): \[\nabla_d(\mathcal{C}) := \sup_{G \in \mathcal{C}} \nabla_d(G), \qquad \omega_d(\mathcal{C}) := \sup_{G \in \mathcal{C}} \omega_d(G).\]
| 1 | import Mathlib.Combinatorics.SimpleGraph.Walk.Basic |
| 2 | import Mathlib.Combinatorics.SimpleGraph.Paths |
| 3 | |
| 4 | namespace Catalog.Sparsity.ShallowMinor |
| 5 | |
| 6 | /-- A depth-`d` minor model of `H` in `G`. |
| 7 | |
| 8 | For each vertex of `H` we choose a branch set in `G` together with a fixed |
| 9 | center. Every vertex of the branch set is connected to the center by a path of |
| 10 | length at most `d` that stays inside the branch set; distinct branch sets are |
| 11 | disjoint; and every edge of `H` is witnessed by an edge of `G` between the |
| 12 | corresponding branch sets. (Defs 1.10, 2.2-2.4) -/ |
| 13 | structure ShallowMinorModel {V W : Type} (H : SimpleGraph W) (G : SimpleGraph V) |
| 14 | (d : ℕ) where |
| 15 | branchSet : W → Set V |
| 16 | center : W → V |
| 17 | center_mem : ∀ v, center v ∈ branchSet v |
| 18 | branchDisjoint : ∀ u v, u ≠ v → Disjoint (branchSet u) (branchSet v) |
| 19 | branchRadius : ∀ v x, x ∈ branchSet v → |
| 20 | ∃ p : G.Walk (center v) x, p.IsPath ∧ p.length ≤ d ∧ |
| 21 | ∀ w ∈ p.support, w ∈ branchSet v |
| 22 | branchEdge : ∀ u v, H.Adj u v → |
| 23 | ∃ x ∈ branchSet u, ∃ y ∈ branchSet v, G.Adj x y |
| 24 | |
| 25 | /-- `H` is a depth-`d` minor of `G`. -/ |
| 26 | def IsShallowMinor {V W : Type} (H : SimpleGraph W) (G : SimpleGraph V) |
| 27 | (d : ℕ) : Prop := |
| 28 | Nonempty (ShallowMinorModel H G d) |
| 29 | |
| 30 | end Catalog.Sparsity.ShallowMinor |
| 31 |
Let \(\nabla_d\) and \(\omega_d\) be as in Definition ShallowMinor.
A class \(\mathcal{C}\) of graphs has bounded expansion if \[\nabla_d(\mathcal{C}) < +\infty \qquad \text{for every } d \in \mathbb{N}.\] Equivalently, there is a function \(f \colon \mathbb{N} \to \mathbb{N}\) such that for all \(d \in \mathbb{N}\) and \(G \in \mathcal{C}\), we have \(\nabla_d(G) \leq f(d)\).
A class \(\mathcal{C}\) of graphs is nowhere dense if \[\omega_d(\mathcal{C}) < +\infty \qquad \text{for every } d \in \mathbb{N}.\] Equivalently, there is a function \(t \colon \mathbb{N} \to \mathbb{N}\) such that for all \(d \in \mathbb{N}\) and \(G \in \mathcal{C}\), we have \(\omega_d(G) \leq t(d)\).
A class that is not nowhere dense is called somewhere dense. Every bounded expansion class is nowhere dense.
| 1 | import Catalog.Sparsity.ShallowMinor.Contract |
| 2 | import Catalog.Sparsity.Preliminaries.Contract |
| 3 | |
| 4 | open Catalog.Sparsity.ShallowMinor |
| 5 | open Catalog.Sparsity.Preliminaries |
| 6 | |
| 7 | namespace Catalog.Sparsity.NowhereDense |
| 8 | |
| 9 | /-- A uniform excluded-clique bound on depth-`d` minors of graphs in `C`. |
| 10 | The parameter `t` is the allowed clique size, so the excluded graph is |
| 11 | `K_{t+1}`. -/ |
| 12 | def HasShallowCliqueBound (C : GraphClass) (d t : ℕ) : Prop := |
| 13 | ∀ {V : Type} [DecidableEq V] [Fintype V] (G : SimpleGraph V), |
| 14 | C G → ¬IsShallowMinor (SimpleGraph.completeGraph (Fin (t + 1))) G d |
| 15 | |
| 16 | /-- A class `C` of graphs is nowhere dense if for every depth `d` there is a |
| 17 | bound `t` such that no graph in `C` contains `K_{t+1}` as a depth-`d` |
| 18 | minor. (Def 2.6) -/ |
| 19 | def IsNowhereDense (C : GraphClass) : Prop := |
| 20 | ∀ d : ℕ, ∃ t : ℕ, HasShallowCliqueBound C d t |
| 21 | |
| 22 | end Catalog.Sparsity.NowhereDense |
| 23 |
NDSubpolynomialDensity
Let \(\nabla_d\) and the depth-\(d\) reduct \(\mathcal{C} \nabla r\) be as in Definition ShallowMinor. Let nowhere dense be as in Definition NowhereDense.
Suppose \(\mathcal{C}\) is a nowhere dense class of graphs. Then for every \(r \in \mathbb{N}\) and every \(\varepsilon > 0\) there exists a constant \(N = N(r, \varepsilon)\) such that for every graph \(G \in \mathcal{C} \nabla r\) with \(n \geq N\) vertices, \(G\) has less than \(n^{1+\varepsilon}\) edges.
Equivalently, there is a function \(f \colon \mathbb{N} \times \mathbb{R}_{>0} \to \mathbb{N}\) such that for all \(r \in \mathbb{N}\), \(\varepsilon > 0\), and \(G \in \mathcal{C}\): \[\nabla_r(G) \leq f(r, \varepsilon) \cdot |V(G)|^{\varepsilon}.\]
| 1 | import Catalog.Sparsity.Preliminaries.Contract |
| 2 | import Catalog.Sparsity.ShallowMinor.Contract |
| 3 | import Catalog.Sparsity.NowhereDense.Contract |
| 4 | import Mathlib.Combinatorics.SimpleGraph.Finite |
| 5 | import Mathlib.Analysis.SpecialFunctions.Pow.Real |
| 6 | |
| 7 | open Catalog.Sparsity.ShallowMinor |
| 8 | open Catalog.Sparsity.NowhereDense |
| 9 | open Catalog.Sparsity.Preliminaries |
| 10 | |
| 11 | namespace Catalog.Sparsity.NDSubpolynomialDensity |
| 12 | |
| 13 | /-- Theorem 3.1/ch1: Nowhere dense classes have subpolynomial edge density. |
| 14 | |
| 15 | For every ND class C, r ∈ ℕ, ε > 0, every graph H that is a depth-r |
| 16 | shallow minor of some graph in C and has n ≥ N vertices has fewer than |
| 17 | n^{1+ε} edges. -/ |
| 18 | axiom nd_subpolynomial_density (C : GraphClass) (hC : IsNowhereDense C) |
| 19 | (r : ℕ) (ε : ℝ) (hε : 0 < ε) : |
| 20 | ∃ N : ℕ, ∀ {V : Type} [DecidableEq V] [Fintype V] |
| 21 | (H : SimpleGraph V) [DecidableRel H.Adj], |
| 22 | (∃ (W : Type) (_ : DecidableEq W) (_ : Fintype W) (G : SimpleGraph W), |
| 23 | C G ∧ IsShallowMinor H G r) → |
| 24 | N ≤ Fintype.card V → |
| 25 | (H.edgeFinset.card : ℝ) < (Fintype.card V : ℝ) ^ (1 + ε) |
| 26 | |
| 27 | end Catalog.Sparsity.NDSubpolynomialDensity |
| 28 |
NDSubpolynomialWcol
Let \(G\) be a graph, let \(\sigma\) be a vertex ordering of \(G\), and let \(r \in \mathbb{N}\). For vertices \(u, v \in V(G)\) with \(u \leq_\sigma v\):
- \(u\) is strongly \(r\)-reachable from \(v\) if there is a path of length at most \(r\) from \(u\) to \(v\) whose every internal vertex \(w\) satisfies \(v <_\sigma w\).
- \(u\) is weakly \(r\)-reachable from \(v\) if there is a path of length at most \(r\) from \(u\) to \(v\) whose every internal vertex \(w\) satisfies \(u <_\sigma w\).
The sets of vertices strongly (resp. weakly) \(r\)-reachable from \(v\) are denoted \(\operatorname{SReach}_r[G, \sigma, v]\) (resp. \(\operatorname{WReach}_r[G, \sigma, v]\)).
The weak and strong \(r\)-coloring numbers of \(\sigma\) are then \[\begin{aligned} \operatorname{wcol}_r(G, \sigma) &\coloneqq \max_{v \in V(G)} |\operatorname{WReach}_r[G, \sigma, v]|, \\ \operatorname{scol}_r(G, \sigma) &\coloneqq \max_{v \in V(G)} |\operatorname{SReach}_r[G, \sigma, v]|. \end{aligned}\]
| 1 | import Mathlib.Combinatorics.SimpleGraph.Walk.Basic |
| 2 | import Mathlib.Combinatorics.SimpleGraph.Paths |
| 3 | import Mathlib.Data.Set.Card |
| 4 | |
| 5 | namespace Catalog.Sparsity.ColoringNumbers |
| 6 | |
| 7 | variable {V : Type*} [DecidableEq V] [Fintype V] [LinearOrder V] |
| 8 | |
| 9 | /-- The set of vertices strongly r-reachable from `v` with respect to the |
| 10 | linear order on `V`. A vertex `u ≤ v` is in `SReach G r v` when there |
| 11 | exists a path of length ≤ r from `v` to `u` whose internal vertices |
| 12 | are all strictly greater than `v`. (Def 2.1) -/ |
| 13 | def SReach (G : SimpleGraph V) (r : ℕ) (v : V) : Set V := |
| 14 | {u | u ≤ v ∧ ∃ p : G.Walk v u, p.IsPath ∧ p.length ≤ r ∧ |
| 15 | ∀ i : ℕ, 0 < i → i < p.length → v < p.getVert i} |
| 16 | |
| 17 | /-- The set of vertices weakly r-reachable from `v` with respect to the |
| 18 | linear order on `V`. A vertex `u ≤ v` is in `WReach G r v` when there |
| 19 | exists a path of length ≤ r from `v` to `u` whose internal vertices |
| 20 | are all strictly greater than `u`. (Def 2.1) -/ |
| 21 | def WReach (G : SimpleGraph V) (r : ℕ) (v : V) : Set V := |
| 22 | {u | u ≤ v ∧ ∃ p : G.Walk v u, p.IsPath ∧ p.length ≤ r ∧ |
| 23 | ∀ i : ℕ, 0 < i → i < p.length → u < p.getVert i} |
| 24 | |
| 25 | open Classical in |
| 26 | /-- The weak r-coloring number of `G` (per ordering): the maximum over |
| 27 | all vertices of the cardinality of the weak r-reachability set. (Def 2.3) -/ |
| 28 | noncomputable def wcol (G : SimpleGraph V) (r : ℕ) : ℕ := |
| 29 | Finset.sup Finset.univ (fun v => (WReach G r v).ncard) |
| 30 | |
| 31 | open Classical in |
| 32 | /-- The strong r-coloring number of `G` (per ordering): the maximum over |
| 33 | all vertices of the cardinality of the strong r-reachability set. (Def 2.3) -/ |
| 34 | noncomputable def scol (G : SimpleGraph V) (r : ℕ) : ℕ := |
| 35 | Finset.sup Finset.univ (fun v => (SReach G r v).ncard) |
| 36 | |
| 37 | end Catalog.Sparsity.ColoringNumbers |
| 38 |
Let \(\operatorname{wcol}_r\) be as in Definition ColoringNumbers and nowhere dense as in Definition NowhereDense.
Let \(\mathcal{C}\) be a nowhere dense class of graphs. Then there is a function \(f \colon \mathbb{N} \times \mathbb{R}_{>0} \to \mathbb{N}\) such that \[\operatorname{wcol}_r(G) \leq f(r, \varepsilon) \cdot |V(G)|^\varepsilon\] for all \(r \in \mathbb{N}\), \(\varepsilon > 0\), and \(G \in \mathcal{C}\).
| 1 | import Catalog.Sparsity.Preliminaries.Contract |
| 2 | import Catalog.Sparsity.ColoringNumbers.Contract |
| 3 | import Catalog.Sparsity.NowhereDense.Contract |
| 4 | import Mathlib.Analysis.SpecialFunctions.Pow.Real |
| 5 | |
| 6 | open Catalog.Sparsity.ColoringNumbers |
| 7 | open Catalog.Sparsity.NowhereDense |
| 8 | open Catalog.Sparsity.Preliminaries |
| 9 | |
| 10 | namespace Catalog.Sparsity.NDSubpolynomialWcol |
| 11 | |
| 12 | /-- Theorem 3.4/ch2: Nowhere dense classes have subpolynomial weak coloring |
| 13 | number. |
| 14 | |
| 15 | For any ND class C, r ∈ ℕ, ε > 0, there exists a constant f such that |
| 16 | every G ∈ C admits an ordering with wcol_r(G,σ) ≤ f · |V(G)|^ε. -/ |
| 17 | axiom nd_subpolynomial_wcol (C : GraphClass) (hC : IsNowhereDense C) |
| 18 | (r : ℕ) (ε : ℝ) (hε : 0 < ε) : |
| 19 | ∃ f : ℝ, 0 < f ∧ ∀ {V : Type} [DecidableEq V] [Fintype V] |
| 20 | (G : SimpleGraph V), |
| 21 | C G → ∃ (ord : LinearOrder V), |
| 22 | letI := ord; (↑(wcol G r) : ℝ) ≤ f * (Fintype.card V : ℝ) ^ ε |
| 23 | |
| 24 | end Catalog.Sparsity.NDSubpolynomialWcol |
| 25 |
UQWEquivND
A vertex subset \(A \subseteq V(G)\) in a graph \(G\) is distance-\(r\) independent if any two different vertices \(a, b \in A\) are at distance larger than \(r\).
For a graph \(G\) and \(S \subseteq V(G)\), the graph \(G - S\) is obtained by removing all vertices of \(S\) and their incident edges. The vertex set remains \(V(G)\); vertices of \(S\) become isolated with no adjacencies.
A class of graphs \(\mathcal{C}\) is called uniformly quasi-wide if for every \(r \in \mathbb{N}\) there exists a function \(N_r \colon \mathbb{N} \to \mathbb{N}\) and a constant \(s_r \in \mathbb{N}\) such that for all \(m \in \mathbb{N}\), \(G \in \mathcal{C}\), and \(A \subseteq V(G)\) with \(|A| \geq N_r(m)\), there exists \(S \subseteq V(G)\) with \(|S| \leq s_r\) and \(B \subseteq A \setminus S\) with \(|B| \geq m\) such that \(B\) is distance-\(r\) independent in \(G - S\).
| 1 | import Mathlib.Combinatorics.SimpleGraph.Walk.Basic |
| 2 | import Catalog.Sparsity.Preliminaries.Contract |
| 3 | |
| 4 | open Catalog.Sparsity.Preliminaries |
| 5 | |
| 6 | namespace Catalog.Sparsity.UniformQuasiWideness |
| 7 | |
| 8 | /-- A set `A` of vertices is distance-`r` independent in `G` when every two |
| 9 | distinct vertices in `A` have no walk of length ≤ `r` between them. -/ |
| 10 | def DistIndependent {V : Type} (G : SimpleGraph V) (r : ℕ) (A : Set V) : Prop := |
| 11 | A.Pairwise (fun u v => ∀ (p : G.Walk u v), r < p.length) |
| 12 | |
| 13 | /-- `deleteVerts G S` removes all edges incident to vertices in `S`, keeping |
| 14 | the vertex type `V` unchanged. This models `G - S`. -/ |
| 15 | def deleteVerts {V : Type} (G : SimpleGraph V) (S : Set V) : SimpleGraph V where |
| 16 | Adj u v := G.Adj u v ∧ u ∉ S ∧ v ∉ S |
| 17 | symm _ _ h := ⟨h.1.symm, h.2.2, h.2.1⟩ |
| 18 | loopless := ⟨fun v h => G.loopless.irrefl v h.1⟩ |
| 19 | |
| 20 | /-- A class `C` of graphs is uniformly quasi-wide if for every radius `r` |
| 21 | there exist a threshold function `N` and a separator size bound `s` such |
| 22 | that in every graph `G ∈ C`, every vertex set `A` of size at least `N(m)` |
| 23 | contains a subset `B` of size at least `m` that is distance-`r` independent |
| 24 | after removing at most `s` vertices. (Def 3.1) -/ |
| 25 | def UniformlyQuasiWide (C : GraphClass) : Prop := |
| 26 | ∀ r : ℕ, ∃ (N : ℕ → ℕ) (s : ℕ), |
| 27 | ∀ (m : ℕ) {V : Type} [DecidableEq V] [Fintype V] (G : SimpleGraph V), |
| 28 | C G → ∀ (A : Finset V), N m ≤ A.card → |
| 29 | ∃ (S : Finset V) (B : Finset V), |
| 30 | S.card ≤ s ∧ |
| 31 | ↑B ⊆ ↑A \ ↑S ∧ |
| 32 | m ≤ B.card ∧ |
| 33 | DistIndependent (deleteVerts G ↑S) r ↑B |
| 34 | |
| 35 | end Catalog.Sparsity.UniformQuasiWideness |
| 36 |
A class \(\mathcal{C}\) of graphs is uniformly quasi-wide (Definition UniformQuasiWideness) if and only if it is nowhere dense (Definition NowhereDense).
| 1 | import Catalog.Sparsity.Preliminaries.Contract |
| 2 | import Catalog.Sparsity.NowhereDense.Contract |
| 3 | import Catalog.Sparsity.UniformQuasiWideness.Contract |
| 4 | |
| 5 | namespace Catalog.Sparsity.UQWEquivND |
| 6 | |
| 7 | open Catalog.Sparsity.Preliminaries Catalog.Sparsity.NowhereDense Catalog.Sparsity.UniformQuasiWideness |
| 8 | |
| 9 | /-- Theorem 3.2: a class of graphs is uniformly quasi-wide if and only if it is |
| 10 | nowhere dense. -/ |
| 11 | axiom uqw_iff_nd (C : GraphClass) : |
| 12 | UniformlyQuasiWide C ↔ IsNowhereDense C |
| 13 | |
| 14 | end Catalog.Sparsity.UQWEquivND |
| 15 |