Lax12.NowhereDenseClasses

Nowhere dense graph classes

concepts/Lax12/NowhereDenseClasses.lean · lax-12

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    In the paper

    Definition

    A graph H is a depth-r minor of a graph G if H can be obtained from G by deleting vertices and edges and contracting pairwise disjoint connected subgraphs of radius at most r. A graph class is nowhere dense if for every depth r there is a t such that no member has the complete graph on t vertices as a depth-r minor.

    The source lecture notes give these as Definitions 2.3 and 2.6 of Chapter 1 (2019/20 edition), writing Hr G for the depth-r minor relation. Nowhere denseness is stated there as ωr(C) < ∞ for every r, with the excluded-clique form used here spelled out immediately after as an equivalent.

    Lean source view on GitHub

    1import Lax12.GraphClasses
    2import Mathlib.Combinatorics.SimpleGraph.Walk.Basic
    3
    4/-!
    5---
    6title: Nowhere dense graph classes
    7type: definition
    8---
    9A graph *H* is a depth-*r* minor of a graph *G* if *H* can be obtained
    10from *G* by deleting vertices and edges and contracting pairwise
    11disjoint connected subgraphs of radius at most *r*. A graph class is
    12nowhere dense if for every depth *r* there is a *t* such that no member
    13has the complete graph on *t* vertices as a depth-*r* minor.
    14
    15The source lecture notes give these as Definitions 2.3 and 2.6 of
    16Chapter 1 (2019/20 edition), writing *H* ⪯_*r* *G* for the depth-*r*
    17minor relation. Nowhere denseness is stated there as ω_*r*(*C*) < ∞ for
    18every *r*, with the excluded-clique form used here spelled out
    19immediately after as an equivalent.
    20
    21# Formalization notes
    22
    23A depth-`r` minor is witnessed by a `ShallowMinorModel`: pairwise
    24disjoint branch sets, one per vertex of `H`, and an edge of `G` between
    25the branch sets of any two adjacent vertices of `H`. The radius
    26condition — every element of a branch set is reached from its center by
    27a walk of length at most `r` staying inside the branch set — subsumes
    28connectivity of the branch sets, so no separate connectivity field is
    29carried. `center_mem` is not derivable: it also rules out empty branch
    30sets, as the standard definition requires. `⊤ : SimpleGraph (Fin t)` is
    31mathlib's complete graph.
    32-/
    33
    34namespace Lax12.NowhereDenseClasses
    35
    36open Lax12.GraphClasses
    37
    38/-- A model of `H` as a depth-`r` minor of `G`: pairwise disjoint branch
    39sets, each spanned by walks of length at most `r` from a center vertex
    40(hence connected of radius at most `r`), with an edge of `G` between the
    41branch sets of any two adjacent vertices of `H`. -/
    42structure ShallowMinorModel {V W : Type*} (r : ℕ) (H : SimpleGraph W)
    43 (G : SimpleGraph V) where
    44 /-- The branch set of each vertex of `H`. -/
    45 branch : W → Set V
    46 /-- The center of each branch set. -/
    47 center : W → V
    48 /-- Centers lie in their branch sets (so branch sets are nonempty). -/
    49 center_mem : ∀ u, center u ∈ branch u
    50 /-- Distinct branch sets are disjoint. -/
    51 disjoint : ∀ u v, u ≠ v → Disjoint (branch u) (branch v)
    52 /-- Every vertex of a branch set is reached from the center by a walk
    53 of length at most `r` inside the branch set. -/
    54 radius_le : ∀ u, ∀ x ∈ branch u, ∃ w : G.Walk (center u) x,
    55 w.length ≤ r ∧ ∀ y ∈ w.support, y ∈ branch u
    56 /-- Adjacent vertices of `H` have adjacent branch sets. -/
    57 adj : ∀ u v, H.Adj u v → ∃ x ∈ branch u, ∃ y ∈ branch v, G.Adj x y
    58
    59/-- `H` is a minor of `G` at depth `r`. -/
    60def HasShallowMinor {V W : Type*} (G : SimpleGraph V) (r : ℕ)
    61 (H : SimpleGraph W) : Prop :=
    62 Nonempty (ShallowMinorModel r H G)
    63
    64/-- A graph class is nowhere dense if for every depth `r` some complete
    65graph is not a depth-`r` minor of any member. -/
    66def NowhereDense (C : GraphClass) : Prop :=
    67 ∀ r : ℕ, ∃ t : ℕ, ∀ (n : ℕ) (G : SimpleGraph (Fin n)), C n G →
    68 ¬ HasShallowMinor G r (⊤ : SimpleGraph (Fin t))
    69
    70end Lax12.NowhereDenseClasses
    71

    Formalization notes

    A depth-rr minor is witnessed by a ShallowMinorModelShallowMinorModel: pairwise disjoint branch sets, one per vertex of HH, and an edge of GG between the branch sets of any two adjacent vertices of HH. The radius condition — every element of a branch set is reached from its center by a walk of length at most rr staying inside the branch set — subsumes connectivity of the branch sets, so no separate connectivity field is carried. centermemcenter_mem is not derivable: it also rules out empty branch sets, as the standard definition requires. :SimpleGraph(Fint)⊤ : SimpleGraph (Fin t) is mathlib's complete graph.

    Community review

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.

    0 comments

    Loading discussion…