Dev.MonadicDependence.WeaklySparse

DEVVerification

Definition

A graph class \(\mathcal{C}\) is weakly sparse if there exists a bound \(k \in \mathbb{N}\) such that no graph from \(\mathcal{C}\) contains the biclique of order \(k\) (Definition Biclique) as a subgraph.

Review notes

Faithfulness to the source. Mählmann’s Def. 13.5 (p. 167) is a single sentence: a class \(\mathcal{C}\) is weakly sparse iff there is a bound \(k\) such that no graph in \(\mathcal{C}\) contains the biclique of order \(k\) as a subgraph. We reproduce this verbatim; no structural changes.

“Subgraph” convention. “Contains as a subgraph” is SimpleGraph.IsContained from Mathlib (scoped notation ), which is non-induced subgraph containment: existence of an injective graph homomorphism biclique k →g G. This matches Mählmann’s usage (p. 22 for “biclique”, p. 167 for the definition) — no induced-subgraph constraint.

Graph class boilerplate. The definition is quantified over a GraphClass (from Definition Preliminaries); see that entry for the discussion of why a graph class is a family of graphs with fixed structure, rather than a syntactic class. Each instantiation uses the [DecidableEq V] [Fintype V] typeclass constraints implicit in the GraphClass definition; these are needed for SimpleGraph.IsContained to unfold via finite case analysis when concretely needed.

Role in the DAG. Consumed by the target Lemma WeaklySparseMonDepIsNowhereDense (Lemma 13.7). Used twice in that proof: the \(r = 0\) case (cliques contain bicliques of half their order) and Step 3a (the biclique-as-subgraph alternative of the Ramsey dichotomy).

No separate “strongly sparse”. Mählmann does not introduce a strongly-sparse notion, and neither do we. Weak sparseness is a minimal-form forbidden-substructure condition used as a hypothesis throughout Chapter 13.

Dev/MonadicDependence/WeaklySparse/Contract.lean (full)

1import Mathlib.Combinatorics.SimpleGraph.Copy
2import Catalog.Sparsity.Preliminaries.Contract
3import Dev.MonadicDependence.Biclique.Contract
4
5namespace Dev.MonadicDependence.WeaklySparse
6
7open Catalog.Sparsity.Preliminaries
8open Dev.MonadicDependence.Biclique
9
10/-- A graph class `𝓒` is *weakly sparse* iff there exists a bound `k`
11such that no graph from `𝓒` contains the biclique of order `k`
12(`Dev.MonadicDependence.Biclique`) as a subgraph — Mählmann Def. 13.5,
13p. 167.
14
15"Contains as subgraph" is `SimpleGraph.IsContained` (Mathlib;
16non-induced): an injective graph homomorphism `biclique k →g G`. -/
17def IsWeaklySparse (C : GraphClass) : Prop :=
18 ∃ k : ℕ, ∀ {V : Type} [DecidableEq V] [Fintype V] (G : SimpleGraph V),
19 C G → ¬ (biclique k).IsContained G
20
21end Dev.MonadicDependence.WeaklySparse
22