Dev.MonadicDependence.MonadicDependence
Definition
A graph class \(\mathcal{C}\) is monadically dependent if for every radius \(r \geq 1\) there exists \(k \in \mathbb{N}\) such that \(\mathcal{C}\) excludes as induced subgraphs
- all flipped star \(r\)-crossings of order \(k\) (Definition StarCrossing), and
- all flipped clique \(r\)-crossings of order \(k\) (Definition CliqueCrossing), and
- all flipped half-graph \(r\)-crossings of order \(k\) (Definition HalfGraphCrossing), and
- the comparability grid of order \(k\) (Definition ComparabilityGrid).
Here “\(\mathcal{C}\) excludes as induced subgraphs …” means that no graph \(G \in \mathcal{C}\) contains any of the listed graphs as an induced subgraph.
Review notes
Theorem 2.3 as definition. Mählmann’s Theorem 2.3 (p. 9) proves a four-way equivalence for a graph class \(\mathcal{C}\):
- \(\mathcal{C}\) is monadically dependent (i.e. does not transduce the class of all graphs; model-theoretic),
- \(\mathcal{C}\) is flip-breakable (Definition 2.10; combinatorial),
- \(\mathcal{C}\) excludes the four patterns in this entry’s statement (forbidden induced subgraphs; combinatorial),
- the hereditary closure of \(\mathcal{C}\) does not efficiently interpret the class of all graphs (algorithmic).
Per the user’s direction, we take clause (3) verbatim as the definition of monadic dependence in this formalization. This avoids the model-theoretic notions (transductions, interpretations) needed for clauses (1) and (4), and the flip-breakability construction needed for clause (2). Equivalences with clauses (1), (2), (4) remain out of scope for this work.
Faithful coverage. All four components of clause (3) are included: the flipped star, clique, and half-graph \(r\)-crossings and the (unflipped) comparability grid. Mählmann explains (p. 15) why the comparability grid needs no flipped variant: any huge flipped comparability grid contains a still large unflipped comparability grid as an induced subgraph, so flipping does not add strength.
Unflipped crossings are included. Taking \(F = \emptyset\) in Definition Flip yields the identity flip, so an unflipped star / clique / half-graph \(r\)-crossing is a flipped \(X\) \(r\)-crossing via the trivial flip. In particular, a monadically dependent class excludes arbitrarily large unflipped star \(r\)-crossings as induced subgraphs, which is the specific consequence the proof of Lemma WeaklySparseMonDepIsNowhereDense (Lemma 13.7) relies on.
Edge case \(r = 0\). Mählmann’s clause (3) is stated for \(r \geq 1\) because the star / clique / half-graph \(r\)-crossing is only defined for \(r \geq 1\) (see Definition StarCrossing). We keep this convention. For the proof of Lemma 13.7, the missing \(r = 0\) case is handled separately (cliques of arbitrarily large order contain bicliques of half their order, which contradicts weak sparseness without needing monadic dependence).
Lean encoding: uniform quantification over the flip.
Rather than introducing three separate IsFlippedXCrossing
predicates and quantifying over them, the Lean definition inlines the
flip structure:
\[\forall\ F\ (\mathrm{Fsymm} : \texttt{Symmetric } F),\ \neg\
(\texttt{flip (XCrossing k r) layer } F\ \mathrm{Fsymm})
.\texttt{IsIndContained}\ G.\]
This is equivalent to Mählmann’s quantification over flipped
\(X\)-crossings (every flipped \(X\)-crossing of order \(k\) is of this
shape, and isomorphic graphs are equivalent modulo
IsIndContained) but avoids an extra layer of
indirection through IsFlippedXCrossing predicates. The
definition therefore does not import
StarCrossing.IsFlippedStarCrossing and its siblings.
\(r \geq 1\) as a hypothesis. The \(1 \leq r\)
hypothesis is threaded through the outer \(\forall r\) and is needed
because the three XCrossing k r definitions are only
meaningful for \(r \geq 1\). The clause is a single \(\forall r,
1 \leq r \to \exists k, \ldots\), matching the source’s “for every
\(r \geq 1\)”.
[DecidableEq V] [Fintype V] assumptions. These
come from the GraphClass interface; they let
IsIndContained reduce to a decidable property when the
ambient graph is finite. No separate hypothesis is carried by the
definition of monadic dependence itself.
Dev/MonadicDependence/MonadicDependence/Contract.lean (full)
| 1 | import Mathlib.Combinatorics.SimpleGraph.Copy |
| 2 | import Catalog.Sparsity.Preliminaries.Contract |
| 3 | import Dev.MonadicDependence.StarCrossing.Contract |
| 4 | import Dev.MonadicDependence.CliqueCrossing.Contract |
| 5 | import Dev.MonadicDependence.HalfGraphCrossing.Contract |
| 6 | import Dev.MonadicDependence.ComparabilityGrid.Contract |
| 7 | |
| 8 | set_option linter.dupNamespace false |
| 9 | |
| 10 | namespace Dev.MonadicDependence.MonadicDependence |
| 11 | |
| 12 | open Catalog.Sparsity.Preliminaries |
| 13 | open Dev.MonadicDependence.Flip |
| 14 | open Dev.MonadicDependence.StarCrossing |
| 15 | open Dev.MonadicDependence.CliqueCrossing |
| 16 | open Dev.MonadicDependence.HalfGraphCrossing |
| 17 | open Dev.MonadicDependence.ComparabilityGrid |
| 18 | |
| 19 | /-- A graph class `𝓒` is *monadically dependent* — Mählmann Thm 2.3 |
| 20 | clause (3), p. 9 — iff for every radius `r ≥ 1` there exists `k : ℕ` |
| 21 | such that every graph `G ∈ 𝓒` excludes (as an induced subgraph) all |
| 22 | four of the following patterns at order `k`: |
| 23 | |
| 24 | * every flip of the star `r`-crossing `starCrossing k r` via the layer |
| 25 | partition and some symmetric relation on layers, |
| 26 | * every flip of the clique `r`-crossing `cliqueCrossing k r`, |
| 27 | * every flip of the half-graph `r`-crossing `halfGraphCrossing k r`, and |
| 28 | * the comparability grid `comparabilityGrid k` (no flips — by |
| 29 | Mählmann p. 15, every "flipped comparability grid" contains a |
| 30 | non-flipped one as an induced subgraph, so the flipped variant is |
| 31 | redundant here). -/ |
| 32 | def IsMonadicallyDependent (C : GraphClass) : Prop := |
| 33 | ∀ r : ℕ, 1 ≤ r → ∃ k : ℕ, |
| 34 | ∀ {V : Type} [DecidableEq V] [Fintype V] (G : SimpleGraph V), |
| 35 | C G → |
| 36 | (∀ (F : Fin (r + 2) → Fin (r + 2) → Prop) (Fsymm : Symmetric F), |
| 37 | ¬ (flip (starCrossing k r) layer F Fsymm).IsIndContained G) ∧ |
| 38 | (∀ (F : Fin (r + 2) → Fin (r + 2) → Prop) (Fsymm : Symmetric F), |
| 39 | ¬ (flip (cliqueCrossing k r) layer F Fsymm).IsIndContained G) ∧ |
| 40 | (∀ (F : Fin (r + 2) → Fin (r + 2) → Prop) (Fsymm : Symmetric F), |
| 41 | ¬ (flip (halfGraphCrossing k r) layer F Fsymm).IsIndContained G) ∧ |
| 42 | ¬ (comparabilityGrid k).IsIndContained G |
| 43 | |
| 44 | end Dev.MonadicDependence.MonadicDependence |
| 45 |