Dev.MonadicDependence.SubdividedBicliqueRamsey

DEVVerification

Lemma

For every \(r \in \mathbb{N}\) there is a function \(U_r \colon \mathbb{N} \to \mathbb{N}\), monotone and unbounded in \(n\) and depending only on \(r\), such that the following holds.

Let \(G\) be a graph and \(n \in \mathbb{N}\). If \(G\) contains an \(r\)-subdivided biclique of order \(n\) (Definition Subdivision, Definition Biclique) as a subgraph, then at least one of the following holds:

  • \(G\) contains the biclique of order \(U_r(n)\) as a subgraph, or
  • there exists \(r' \in [r]\) such that \(G\) contains an \(r'\)-subdivided biclique of order \(U_r(n)\) as an induced subgraph.

Review notes

Faithfulness. The thesis proves Lemma 13.8 in a fairly compact style, defining the coloring by atomic types only implicitly (“by \((*)\)”) and reasoning by repeated halvings of \(I\) and \(J\) each time a semi-induced biclique would be exposed. Our proof.tex spells these steps out and makes explicit the induction on the shortest-path length \(r'\). No step changes Mählmann’s argument; we only expose the implicit coloring and the fact that each “large biclique” alternative short-circuits the proof.

Bound shape. Mählmann uses \(U\)-notation: the output size is some \(U_r(n)\), monotone and unbounded in \(n\). Iterated halvings preserve this property, so the final bound is still of the form \(U_r(n)\). A Lean formalization will need to pick a concrete bound; we leave this as a Phase 2/3 design choice.

Typo in the thesis. The last case of the proof of Lemma 13.7 writes “\(r'\)-subdivided cliques are the same as star \(r'\)-crossings”; it should read “\(r'\)-subdivided bicliques are the same as star \(r'\)-crossings”. Our statement of Lemma 13.8 uses “biclique” throughout to match the actual geometry. See Lemma WeaklySparseMonDepIsNowhereDense’s review.tex for the corresponding note on the Lemma 13.7 proof.

Lean encoding: containment relations. The two alternatives use Mathlib’s two different containment relations:

  • “contains the biclique of order \(U_r(n)\) as a subgraph” is (biclique (U n)).IsContained G (non-induced subgraph);
  • “contains an \(r'\)-subdivided biclique of order \(U_r(n)\) as an induced subgraph” is (subdividedBiclique (U n) r’).IsIndContained G.

The distinction is load-bearing: the induced-subgraph alternative is what feeds the IsFlippedStarCrossing exclusion from monadic dependence in Lemma 13.7’s Step 3b, and a subgraph witness would not suffice there.

\(U\)-notation packaging. Same shape as Lemma BipartiteRamsey: an existentially packaged \((U, \texttt{Monotone}, \text{unbounded})\).

Statement constraints on the ambient graph \(G\). The containment hypothesis (subdividedBiclique n r).IsContained G is stated over arbitrary \(V\) with [DecidableEq V] [Fintype V], matching the assumption shape used in GraphClass (and hence in IsNowhereDense / IsMonadicallyDependent / IsWeaklySparse). This lets the statement compose directly with these class-level predicates in the proof of Lemma 13.7.

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

1import Mathlib.Combinatorics.SimpleGraph.Copy
2import Mathlib.Order.Monotone.Basic
3import Catalog.Sparsity.Preliminaries.Contract
4import Dev.MonadicDependence.Biclique.Contract
5import Dev.MonadicDependence.Subdivision.Contract
6
7namespace Dev.MonadicDependence.SubdividedBicliqueRamsey
8
9open Dev.MonadicDependence.Biclique
10open Dev.MonadicDependence.Subdivision
11
12/-- Mählmann Lemma 13.8. For every `r : ℕ` there is a monotone,
13unbounded function `U : ℕ → ℕ` (depending only on `r`) such that for
14every graph `G` and every `n`, if `G` contains the `r`-subdivided
15biclique of order `n` as a subgraph, then at least one of:
16
17* `G` contains the biclique of order `U n` as a subgraph, or
18* there exists `r' ∈ [r]` (i.e. `1 ≤ r' ≤ r`) such that `G` contains
19 the `r'`-subdivided biclique of order `U n` as an induced subgraph. -/
20axiom subdividedBicliqueRamsey (r : ℕ) :
21 ∃ U : ℕ → ℕ, Monotone U ∧ (∀ N : ℕ, ∃ n : ℕ, N ≤ U n) ∧
22 ∀ {V : Type} [DecidableEq V] [Fintype V]
23 (G : SimpleGraph V) (n : ℕ),
24 (subdividedBiclique n r).IsContained G →
25 (biclique (U n)).IsContained G ∨
26 ∃ r' : ℕ, 1 ≤ r' ∧ r' ≤ r ∧
27 (subdividedBiclique (U n) r').IsIndContained G
28
29end Dev.MonadicDependence.SubdividedBicliqueRamsey
30