Dev.MonadicDependence.MonadicDependence

DEVVerification

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

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}\):

  1. \(\mathcal{C}\) is monadically dependent (i.e. does not transduce the class of all graphs; model-theoretic),
  2. \(\mathcal{C}\) is flip-breakable (Definition 2.10; combinatorial),
  3. \(\mathcal{C}\) excludes the four patterns in this entry’s statement (forbidden induced subgraphs; combinatorial),
  4. 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)

1import Mathlib.Combinatorics.SimpleGraph.Copy
2import Catalog.Sparsity.Preliminaries.Contract
3import Dev.MonadicDependence.StarCrossing.Contract
4import Dev.MonadicDependence.CliqueCrossing.Contract
5import Dev.MonadicDependence.HalfGraphCrossing.Contract
6import Dev.MonadicDependence.ComparabilityGrid.Contract
7
8set_option linter.dupNamespace false
9
10namespace Dev.MonadicDependence.MonadicDependence
11
12open Catalog.Sparsity.Preliminaries
13open Dev.MonadicDependence.Flip
14open Dev.MonadicDependence.StarCrossing
15open Dev.MonadicDependence.CliqueCrossing
16open Dev.MonadicDependence.HalfGraphCrossing
17open Dev.MonadicDependence.ComparabilityGrid
18
19/-- A graph class `𝓒` is *monadically dependent* — Mählmann Thm 2.3
20clause (3), p. 9 — iff for every radius `r ≥ 1` there exists `k : ℕ`
21such that every graph `G ∈ 𝓒` excludes (as an induced subgraph) all
22four 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). -/
32def 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
44end Dev.MonadicDependence.MonadicDependence
45