Documentation

LeanPool.ACMax.Counting.Moats

Two-cluster moat kills and the thin-twin averaging row #

The moat family of two-cluster cut certificates: a low-degree tie-block S₁ whose closed neighbourhood forms a zeroed moat F, so that algConn_le_two_of_two_clusters fires algConn G ≤ 2 with no diameter, census or cell hypotheses. Each vertex of S₁ keeps an external degree budget of 2, so the boundary hits the two-cluster tie ∂₁ ≤ 2|S₁| and the excess ledger Σ_v (deg v − 3) = n − 8 (total_excess_eq) caps the bulk boundary.

Main results #

The thin-twin averaging row #

The averaging engine producing a thin twin (bounded 1-ball excess E₁(t) = sphereExc G t 1). The double-counting swap twin_E1_sum_swap holds for any root set T; combined with total_excess_eq and a multiplicity cap |N(v) ∩ T| ≤ K it gives ∑_{t∈T} E₁(t) ≤ K·(n − 8) and the averaging existence thin_twin_exists_of_multcap. The cap K stays explicit (a heavy vertex's multiplicity is unbounded); the clean instances are thin_twin_exists_deg5 (K = 5 when Δ ≤ 5) and thin_twin_exists_iso_of_multcap (on isoTwins G).

theorem ACMax.total_excess_eq {n : ℕ} (hn : 8 ≤ n) (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (v : Fin n), 3 ≤ G.degree v) :
∑ v : Fin n, (G.degree v - 3) = n - 8

The excess ledger. On the m = 2(n−2), δ ≥ 3 census (n ≥ 8) the total degree excess is Σ_v (deg v − 3) = n − 8: the handshake Σ deg = 2·2(n−2) = 4n − 8 minus the base 3n.

The M-moat kill #

Instantiates algConn_le_two_of_two_clusters with the tie-block S₁ = {u, p} (an M-edge) against the bulk, moat F = (N(u) ∪ N(p)) ∖ {u,p}: ∂₁ = 4, |F| ≤ 4, so medge_moat_fires gives algConn G ≤ 2 for every n ≥ 12.

theorem ACMax.medge_moat_fires {n : ℕ} [Nonempty (Fin n)] (hn : 12 ≤ n) (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (v : Fin n), 3 ≤ G.degree v) (u p : Fin n) (hM : G.Adj u p) (hu : G.degree u = 3) (hp : G.degree p = 3) :

QM1 — the M-moat certificate. A graph on Fin n (n ≥ 12) with 2(n−2) edges, minimum degree ≥ 3, and one degree-3–degree-3 edge u–p has algConn G ≤ 2.

Instantiate the two-cluster law with the tie-block S₁ = {u, p} against the bulk S₂ = ({u, p} ∪ F)ᶜ, where F = (N(u) ∪ N(p)) ∖ {u, p} is the moat. Boundary counts: ∂₁ ≤ 4, and (using that each moat vertex is adjacent to u or p, and the excess ledger Σ_v (deg v − 3) = n − 8) ∂₂ ≤ 2·|S₂|; the Fiedler cut condition then holds since |F| ≤ 4 and n ≥ 12.

The star-moat kill #

The e(M) = 0 generalization: the star tie-block S₁ = insert h K (a hub h with |K| = deg h − 2 degree-3 twins), each S₁-vertex keeping external budget 2, so crediting the hub's excess back gives star_moat_fires at 9·deg h ≤ n + 15 (z1_star_moat_fires: a degree-4 hub with two twins at n ≥ 21). The twins need not be pairwise non-adjacent — an internal edge only shrinks the boundary slices.

theorem ACMax.star_moat_fires {n : ℕ} [Nonempty (Fin n)] (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (v : Fin n), 3 ≤ G.degree v) (h : Fin n) (K : Finset (Fin n)) (hKsub : K ⊆ G.neighborFinset h) (hKdeg : ∀ t ∈ K, G.degree t = 3) (hKcard : K.card = G.degree h - 2) (hfire : 9 * G.degree h ≤ n + 15) :

MZ1 — the star-moat certificate. A graph on Fin n with 2(n−2) edges, minimum degree ≥ 3, a hub h and a twin set K ⊆ N(h) of degree-3 vertices with |K| = deg h − 2 has algConn G ≤ 2 whenever 9·deg h ≤ n + 15.

Instantiate the two-cluster law with the tie-block S₁ = insert h K against the bulk S₂ = (S₁ ∪ F)ᶜ, F = (⋃_{x ∈ S₁} N(x)) ∖ S₁ the moat: each slice N(x) ∖ S₁ has ≤ 2 elements (hub loses K, twins lose the hub), so ∂₁ ≤ 2|S₁| and |F| ≤ 2|S₁|, and the hub-credited excess ledger gives ∂₂ ≤ 2|S₂|; the Fiedler cut condition closes by ring.

The master-cycle kill #

A cycle c : ZMod k → Fin n (injective, cyclic adjacency) with degree-sum tie Σ deg ≤ 4·k is a tie-block: each cycle vertex has two on-cycle neighbours so external slice ≤ deg − 2, giving ∂₁ ≤ Σ(deg − 2) ≤ 2k; crediting the cycle excess back, master_cycle_fires fires at n ≥ 3·Σ(deg − 1) − 8 (specializing to C_k, the (3,4,5)-triangle at n ≥ 19, and alternating rows).

theorem ACMax.master_cycle_fires {n : ℕ} [Nonempty (Fin n)] {k : ℕ} [NeZero k] (hk : 3 ≤ k) (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (v : Fin n), 3 ≤ G.degree v) (c : ZMod k → Fin n) (hcinj : Function.Injective c) (hadj : ∀ (i : ZMod k), G.Adj (c i) (c (i + 1))) (hsum : ∑ i : ZMod k, G.degree (c i) ≤ 4 * k) (hn : 3 * ∑ i : ZMod k, (G.degree (c i) - 1) ≤ n + 8) :

W1 — the master-cycle certificate. A graph on Fin n with 2(n−2) edges, minimum degree ≥ 3, and an injective c : ZMod k → Fin n (k ≥ 3) forming a cycle (c i ~ c (i+1) cyclically) whose degree sum satisfies the tie Σ deg (c i) ≤ 4·k has algConn G ≤ 2 whenever 3·Σ (deg (c i) − 1) ≤ n + 8.

Instantiate the two-cluster law with the tie-block S₁ = image c (the cycle) against the bulk S₂ = (S₁ ∪ F)ᶜ, F = (⋃_{x ∈ S₁} N(x)) ∖ S₁ the moat: each slice N(c i) ∖ S₁ has ≤ deg (c i) − 2 elements (the two cycle neighbours stay inside), so ∂₁ ≤ Σ(deg − 2) ≤ 2·k and |F| ≤ Σ(deg − 2), and the full excess ledger gives ∂₂ ≤ 2·|S₂|; the Fiedler cut condition closes by ring.

The decorated-edge moat kill #

The decorated-edge generalization of the star-moat certificate: the tie-block S₁ = {u, v} ∪ Ku ∪ Kv (an adjacent hub pair with |Ku| = deg u − 3, |Kv| = deg v − 3 twins), each S₁-vertex keeping external budget 2; crediting both hubs' excess back, deco_edge_moat_fires fires at 9·(deg u + deg v) ≤ n + 42 (z4c_fires: adjacent degree-4 hubs with one twin each at n ≥ 30).

theorem ACMax.deco_edge_moat_fires {n : ℕ} [Nonempty (Fin n)] (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (w : Fin n), 3 ≤ G.degree w) (u v : Fin n) (Ku Kv : Finset (Fin n)) (huv : G.Adj u v) (hKusub : Ku ⊆ G.neighborFinset u) (hKudeg : ∀ t ∈ Ku, G.degree t = 3) (hKucard : Ku.card = G.degree u - 3) (hKvsub : Kv ⊆ G.neighborFinset v) (hKvdeg : ∀ t ∈ Kv, G.degree t = 3) (hKvcard : Kv.card = G.degree v - 3) (huKv : u ∉ Kv) (hvKu : v ∉ Ku) (hKuKv : Disjoint Ku Kv) (hfire : 9 * (G.degree u + G.degree v) ≤ n + 42) :

W3 — the decorated-edge moat certificate. A graph on Fin n with 2(n−2) edges, minimum degree ≥ 3, adjacent hubs u, v, and twin sets Ku ⊆ N(u), Kv ⊆ N(v) of degree-3 vertices with |Ku| = deg u − 3, |Kv| = deg v − 3 (disjoint, and avoiding the opposite hub) has algConn G ≤ 2 whenever 9·(deg u + deg v) ≤ n + 42.

Instantiate the two-cluster law with the tie-block S₁ = {u, v} ∪ Ku ∪ Kv against the bulk S₂ = (S₁ ∪ F)ᶜ, F = (⋃_{x ∈ S₁} N(x)) ∖ S₁ the moat: each slice N(x) ∖ S₁ has ≤ 2 elements (each hub loses the other hub and its twins; each twin loses its hub), so ∂₁ ≤ 2|S₁| and |F| ≤ 2|S₁|, and the pair-credited excess ledger gives ∂₂ ≤ 2|S₂|; the Fiedler cut condition closes by ring.

theorem ACMax.z4c_fires {n : ℕ} [Nonempty (Fin n)] (hn : 30 ≤ n) (G : SimpleGraph (Fin n)) (hm : G.edgeFinset.card = 2 * (n - 2)) (h3 : ∀ (w : Fin n), 3 ≤ G.degree w) (u v tu tv : Fin n) (huv : G.Adj u v) (hdu : G.degree u = 4) (hdv : G.degree v = 4) (hutu : G.Adj u tu) (hvtv : G.Adj v tv) (hdtu : G.degree tu = 3) (hdtv : G.degree tv = 3) (htuv : tu ≠ tv) (hutv : u ≠ tv) (hvtu : v ≠ tu) :

Z4c — the adjacent degree-4 decorated edge. Adjacent degree-4 hubs u, v, each with a degree-3 neighbour (tu of u, tv of v, distinct and off the hubs), fire at every n ≥ 30 (9·(4 + 4) = 72 ≤ n + 42 ↔ n ≥ 30). The twins may be adjacent to each other.