Skip to content

Add roadmap: Dense graph limits and graphons (Lovász LNGL Part 3) - #53

Open
cameronfreer wants to merge 46 commits into
TauCetiProject:mainfrom
cameronfreer:roadmap/dense-graph-limits
Open

Add roadmap: Dense graph limits and graphons (Lovász LNGL Part 3)#53
cameronfreer wants to merge 46 commits into
TauCetiProject:mainfrom
cameronfreer:roadmap/dense-graph-limits

Conversation

@cameronfreer

@cameronfreer cameronfreer commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a roadmap for a Tau Ceti library entry on dense graph limits and graphons, after Part 3 of Lovász, Large Networks and Graph Limits (LNGL). The spine is Graphon → homDensity → cutNorm → cutDist → GraphonSpace → counting → regularity → compactness → separation → convergence, culminating in the equivalence of cut-distance convergence with convergence of all homomorphism densities. It connects graphons and cut distance to Mathlib's existing finite-graph ecosystem (Szemerédi regularity, partition / equitabilise infrastructure, triangle counting/removal, Turán, the binomial random graph G(V,p), measurable simple graphs) rather than rebuilding it.

Two prior Lean formalizations are pinned migration sources (API warnings and proof routes, not the mathematical specification): math-commons/graphons (strict-function carrier, coupling cutDist, sorry-free modulo four audited classical axioms) and cameronfreer/graphon (AEEqFun carrier, measure-preserving-map cutDist, no custom axioms with concentrated sorrys). The roadmap is the intended sorry-free / axiom-free synthesis both can upstream into.

The roadmap follows the existing TauCetiRoadmap format:

  • narrative README.md (conventions, layer plan, consumed-Mathlib inventory, acceptance gates, provenance, references)
  • Suggested.lean with compiled sorry-signatures
  • root README.md index entry
  • root TauCetiRoadmap.lean import

Suggested.lean pins the prototype types as sorry-signatures that build green against the pinned Mathlib (lake build, verified locally; sorry is allowed in this human-owned roadmap library). Several structural predicates (IsCoupling; the Layer-8 IsIsoInvariant / IsMultiplicative / IsNormalized / IsReflectionPositive) are defined outright; theorem-scale endpoints remain sorry-targets. It fixes the load-bearing choices so contributors don't oscillate. The cut norm acts on kernels (so a difference U − W is well-typed), with a concrete set form cutNormSet and a signed-form factor sandwich. cutDist is coupling-primary and cross-carrier, with its triangle inequality — hence the GraphonSpace metric quotient — on arbitrary probability carriers (Janson, Graphons, cut norm and distance, Lemma 6.5). The constant-graphon and sampling targets share the unitInterval convention with SimpleGraph.binomialRandom. The Layer-6a separation is carrier-free in both directions (Janson, Thm 8.10) — the forward via the coupling counting lemma, the hard converse pinned cross-carrier with no standard-Borel / atomless hypotheses and the same-carrier forms as specializations — over SimpleGraph (Fin n). Layer 2 is block-average based: Frieze–Kannan weak regularity consumes equitabilise / Finpartition infrastructure and builds the analytic graphon energy ‖E[W|P⊗P]‖² as the norm of the block-average step graphon (Mathlib's finite Finpartition.energy is a proof template, not an input), with Szemerédi's strong lemma a related comparison point. And the injective sampling density t₀ is normalized by the falling factorial (n)_k (Nat.descFactorial), never Nat.choose.

Roadmap shape

The roadmap organizes the development into ten layers (0–9):

  1. finite-graph and measure scaffolding
  2. core objects and basic API — the symmetric-kernel -module, Graphon, homDensity, cutNorm (with the set form and the signed/factor-sandwich forms), the coupling-primary cross-carrier cutDist with its arbitrary-carrier triangle inequality (Janson, Lemma 6.5), and the GraphonSpace quotient — a genuine metric quotient over any probability carrier, no standard-Borel hypothesis (with GraphonSpaceI and a MetricSpace instance whose distance computes as cutDist)
  3. counting (with the coupling-form counting_lemma_coupling and the homDensityOnSpace descent), Frieze–Kannan weak regularity (weak_regularity_frieze_kannan) built on the block-average stepGraphonAvg and its energy Pythagoras, and total boundedness
  4. the AE / AEEqFun view, with the named invariance lemmas and the L⁰→strict representative bridge
  5. completeness and compactness — the Lovász–Szegedy compactness theorem (CompactSpace / CompleteSpace GraphonSpaceI)
  6. agreement of the coupling and measure-preserving-map cut distances over standard Borel carriers, atoms allowed (cutDistPullback + cutDist_eq_cutDistPullback, via the measure-preserving map from (I, volume) onto any standard Borel probability space — Janson, Thm A.9)
  7. separation / inverse countingcarrier-free in both directions (Janson, Thm 8.10): the forward via the coupling counting lemma, the hard converse the analytic summit, pinned cross-carrier with the same-carrier form its specialization and the proof route owned by the representation-on-[0,1] reduction (exists_graphon_unitInterval_cutDist_eq_zero; Janson, Thm 7.1) — and the convergence equivalence (tendsto_graphonSpace_iff_forall_homDensity), with quotient-level graphonSpace_ext_homDensity
  8. applications and validation — finite-graph compatibility (finiteGraphGraphon, 0 < m), Goodman, Mantel, Sidorenko-C₄, and computed-value gates (t(K₂,W_{K₄})=3/4, t(K₃,W_{C₅})=0)
  9. quantum graphs and reflection positivity — injectively labeled graphs with label-retaining gluing (LabeledGraph.glue : LabeledGraph k → LabeledGraph k → LabeledGraph k, so gluing iterates and the gluing algebra is expressible; forgetLabels for the underlying unlabeled graph), finite connection matrices with Matrix.PosSemidef, and Lovász–Szegedy representability as the four-condition iff IsIsoInvariant / IsMultiplicative / IsNormalized / IsReflectionPositive over the canonical (I, volume) carrier (Lovász–Szegedy, Limits of dense graph sequences, Thm 2.2), with the [0,1] range a derived corollary (graphParam_mem_Icc_of_representability_axioms), never a hypothesis
  10. sampling and exchangeable arrays — sampleGraph, the injective density t₀ with the hom-vs-injective closeness and unbiasedness anchors, and the Aldous–Hoover representation

It also records the five pinned design conventions (carrier, cut-distance, finite-graph, carrier-generality, and vocabulary / object-kind choices) — with the rationale for the two load-bearing ones (coupling-primary cutDist, the strict carrier) inlined in the roadmap itself — the entry-point-checked consumed-Mathlib inventory, the reusable infrastructure to build (the (I, volume) transport targets: the measure-preserving map from (I, volume) onto any standard Borel probability space, whose target may have atoms; the atomless mod-null equivalence; and the representation-on-[0,1] reduction; plus dyadic martingale -convergence lemmas), the acceptance gates, and a reviewer checklist.

Files changed

README.md                                     (root index entry, #14)
TauCetiRoadmap.lean                           (root import)
TauCetiRoadmap/DenseGraphLimits/README.md
TauCetiRoadmap/DenseGraphLimits/Suggested.lean

Verification

  • lake build green; expected sorry warnings only.

Authorship

Authored by Michael R. Douglas and Cameron Freer, with the assistance of GPT Pro, Claude Code (Opus 4.8 and Fable 5), Codex (GPT 5.5 and 5.6 Sol), Gemini, lean4-skills, and lean-lsp-mcp.

@cameronfreer
cameronfreer requested a review from a team as a code owner July 3, 2026 02:49
mrdouglasny and others added 21 commits July 6, 2026 06:46
Math-first layer plan (objects/API, counting, regularity, the L0 view,
compactness, coupling-map agreement, separation, applications,
representability, sampling); conventions pinned (strict carrier with one
quotient, coupling-primary cut distance, simple Sym2 graphs); repo/axiom
provenance kept secondary. README-only entry (cf. OneParameterSemigroups).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Cameron Freer <cameronfreer@gmail.com>
Co-authored-by: Michael R Douglas <mdouglas@cmsa.fas.harvard.edu>
…e it in

Split the inline prototype signatures into a compiled Targets.lean and import it from
TauCetiRoadmap.lean. The signatures fold in the review corrections: Graphon.const (p : I) with
homDensity_const = (p : ℝ) ^ e(F); coupling-primary cross-carrier cutDist + triangle; GraphonSpace
as a Quotient; the counting lemma on the kernel difference U - W; the AE-invariance trio (Layer 3);
a mod-null both-ways transport target to (I, volume); separation (Layer 6a); and sampleGraph_const
recovering Mathlib's binomialRandom / G(V,p). Elaborates against Mathlib as sorry-signatures; weak
regularity and the 6b convergence equivalence stay README prose to avoid premature API choices.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per review: GraphonSpace / graphonSetoid now require [StandardBorelSpace Ω] (where the gluing
triangle makes cutDist = 0 a genuine equivalence); the separation theorem adds [NoAtoms μ]
(separation over atomless standard Borel, the roadmap convention); overlay takes an explicit
IsCoupling hypothesis; the AE-bridge docstring says "AE / AEEqFun view" not "L⁰ view"; and
sampleGraph carries an IsProbabilityMeasure instance.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reposition the roadmap to connect graphons and cut distance to Mathlib's existing finite-graph
regularity/extremal/probabilistic ecosystem, and sync the prose to the new Targets.lean:

- math-first title; enriched, path-checked "What Mathlib already has" inventory (Szemeredi
  regularity, triangle removal, Turan, measurable simple graphs, G(V,p), Levy-Prokhorov /
  Portmanteau / Tight weak convergence, kernel comp-product / disintegration, Finpartition /
  PreVariation); "the one missing piece" -> "Reusable infrastructure to build here"
- inline prototype signatures replaced by a pointer to Targets.lean
- layer prose synced: cross-carrier cutDist / IsCoupling / overlay, GraphonSpace over standard
  Borel + GraphonSpaceI, AE view + invariance trio, Layer 6 split into 6a/6b, mod-null transport,
  sampleGraph <-> binomialRandom, Frieze-Kannan vs Szemeredi, Finpartition adapter
- no-wrapper note, per-layer acceptance lines, reviewer checklist; shortened coordination note;
  (I, volume) aligned throughout; the four mathematical choices kept intact

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- "homomorphism counts" -> "the graph-homomorphism API (SimpleGraph.Hom) and copy-counting"
  (don't claim a non-injective hom-count API we haven't pinned)
- "MeasureTheory.Measure.NoAtoms" -> "NoAtoms (MeasureTheory/Measure/Typeclasses/NoAtoms)"
  (NoAtoms is the class; cite the actual file)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Split the Mathlib "consume" inventory so the reusable Frieze–Kannan input is the
energy machinery (Finpartition.energy, the increment lemmas, equitabilise); list
szemeredi_regularity separately as related ecosystem — the strong (tower-bound)
lemma, a comparison point, not an input theorem to or the source of weak
regularity. Layer-2 prose updated to match.

Addresses M. Douglas's review of the dense graph limits roadmap (with a Gemini
adjudication pass): seeded by the review, drafted by Claude (Opus 4.8),
human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the single cutDist_eq_zero_iff_forall_homDensity_eq (which quantified F
over {V : Type} = universe 0, the lone universe-restricted statement) with an
unconditional forward (forall_homDensity_eq_of_cutDist_eq_zero) and a converse
under [StandardBorelSpace][NoAtoms] (cutDist_eq_zero_of_forall_homDensity_eq),
both quantifying finite graphs over SimpleGraph (Fin n).

Addresses M. Douglas's review of the dense graph limits roadmap (with a Gemini
adjudication pass): seeded by the review, drafted by Claude (Opus 4.8),
human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The README uses step graphons in the Layer-2 acceptance gates and as the
Frieze–Kannan output, but Targets.lean had no compiled object. Add a minimal
stepGraphon — a graphon constant on the rectangles of a measurable Finpartition
(⊤ : Set Ω), subtype-indexed values, concrete symmetry — plus stepGraphon_apply
exposing the constant-on-rectangles value.

Addresses M. Douglas's review of the dense graph limits roadmap (with a Gemini
adjudication pass): seeded by the review, drafted by Claude (Opus 4.8),
human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Layer 9 pins sampleGraph but lacked the injective estimator. Add homDensityFin
and injHomDensity (via Nat.card, no decidability on the target graph), with the
denominator the falling factorial m.descFactorial k — not Nat.choose m k, which
would bias the estimator by k!. Add the hom-vs-injective closeness bound (0 < m)
and the unbiasedness anchor injHomDensity_integral_sampleGraph (card V ≤ m), the
identity that pins (n)_k. README conventions + Layer-9 prose record the rule.

Addresses M. Douglas's review of the dense graph limits roadmap (with a Gemini
adjudication pass): seeded by the review, drafted by Claude (Opus 4.8),
human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add cheap computed-value acceptance backstops (t(K₂,W_K4)=3/4, t(K₃,W_C5)=0, the
Erdős–Rényi p^e(F) numerics) and reviewer-checklist items. Sync the file-header
and the "Compiled there" paragraph to the new declarations (stepGraphon, the 6a
split over Fin n, the Layer-9 injective density), and note set-form/signed cut
norm and the L⁰→strict representative as prose-only cleanup targets.

Addresses M. Douglas's review of the dense graph limits roadmap (with a Gemini
adjudication pass): seeded by the review, drafted by Claude (Opus 4.8),
human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add cutNormSet — the concrete textbook set form, sup over measurable S,T of
|∫_{S×T} K| — that cutNorm is pinned against (cutNorm_eq_cutNormSet), the bridge
to Mathlib's rectangle/energy regularity. Add cutNormSigned (the [-1,1]
test-function form) and the standard factor sandwich
cutNorm ≤ cutNormSigned ≤ 4·cutNorm.

Cleanup follow-up to M. Douglas's review (S3, non-blocking): drafted by Claude
(Opus 4.8), human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add exists_graphon_repr: every a.e. class on μ ⊗ μ that is a.e. [0,1]-valued and
a.e. symmetric is realized by a strict Graphon representative — the lossy reverse
of toAEEqFun, needed to consume AEEqFun-native results. Sync the README
"Compiled there" list to record S3/S4 as now pinned.

Cleanup follow-up to M. Douglas's review (S4, non-blocking): drafted by Claude
(Opus 4.8), human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…hree-agent review)

- PolishSpace.measurableEquiv -> PolishSpace.Equiv.measurableEquiv (inventory) and
  PolishSpace.measurableEquivOfNotCountable (the atomless mod-null-transport input, Layer 5)
- szemeredi_regularity is root-namespace (drop the SimpleGraph. prefix)
- weak-convergence: Tight -> IsTightMeasureSet (exact decl)

Verified against Mathlib v4.31.0-rc1. Path-only; no math/type changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Douglas's 5c3d9de fixed the consume-inventory bullet, but a second `Tight` remained
in the Layer-9 sampling paragraph; `IsTightMeasureSet` is the exact Mathlib decl
(Measure/Tight.lean, verified against v4.31.0-rc1). Path-only, no math/type change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nd-2)

Addresses the two substantive points from M. Douglas's follow-up review, plus the
three prose-promise-closing API items. Changes are interleaved across both files,
so they land as one review-response commit; lake build is green (sorry-targets only).

Substantive:
- Cross-carrier Layer-6a separation. The forward now matches the coupling-primary
  public equality cutDist μ₁ μ₂ U W = 0: forall_homDensity_eq_of_cutDist_eq_zero
  (cross-carrier, no StandardBorelSpace/NoAtoms — the easy counting direction),
  proved via the new counting_lemma_coupling; the same-carrier statement is now a
  corollary (forall_homDensity_eq_of_cutDistSame_eq_zero). The converse stays
  same-carrier under [StandardBorelSpace][NoAtoms]. Also pins
  isProbabilityMeasure_of_isCoupling so the [IsProbabilityMeasure π] hypothesis on
  the coupling lemma reads as documented API.
- Analytic graphon partition energy. Mathlib's Finpartition.energy is the finite
  edge-density energy, not the kernel energy the measurable-Finpartition FK route
  needs; reword so equitabilise/Finpartition are reusable infrastructure and finite
  energy is a proof template, and BUILD graphonPartitionEnergy (‖E[W|P⊗P]‖²) with
  _mono/_nonneg/_le_one (the bounded monotone potential). The quantitative
  L²-Pythagoras increment is flagged as the deferred FK driver.

Prose-promise-closers:
- GraphonSpaceI := GraphonSpace I (volume) (was referenced, never defined).
- MetricSpace (GraphonSpace Ω μ) instance (so Layer-4/6b are statable).
- homDensityOnSpace + _mk, Fin-indexed (the descent of t(F,·) to the quotient).

Deferred (follow-up ergonomics): stepGraphonAvg, an IsCoupling structure refactor,
the cross-carrier converse, and the quantitative L²-Pythagoras energy increment.

Addresses M. Douglas's round-2 review: seeded by the review, drafted by Claude
(Opus 4.8), human-edited and directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… (round-2 polish)

Follow-up polish to the round-2 review response (lake build green):
- dist_graphonSpace_mk_mk: the GraphonSpace metric computes as cutDist on
  representatives — pins how users actually calculate with the quotient metric.
- homDensityOnSpace is now a real Quotient.lift (well-defined by the cross-carrier
  forward separation), with homDensityOnSpace_mk by rfl — one fewer opaque placeholder.
- isCoupling_prod: the product coupling witnesses that cutDist's infimum is taken over
  a nonempty class.

Addresses M. Douglas's round-2 polish suggestions: drafted by Claude (Opus 4.8),
human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…onverse (follow-up)

Folds in the deferred round-2 items (lake build green, sorry-targets only):
- stepGraphonAvg + stepGraphonAvg_apply: the block-averaged step graphon (E[W|P⊗P] as a
  step function), the Frieze–Kannan output.
- Analytic energy stack: l2sq (+ l2sq_nonneg), graphonPartitionEnergy_eq (energy = l2sq of
  stepGraphonAvg), and the quantitative L²-Pythagoras graphonPartitionEnergy_increment;
  _mono and _nonneg are now real corollaries of it.
- Cross-carrier separation: cutDist_eq_zero_of_forall_homDensity_eq_cross (converse) and the
  assembled cutDist_eq_zero_iff_forall_homDensity_eq_cross.

An IsCoupling structure/class is deliberately NOT introduced — a coupling of given marginals
is not canonical, so a typeclass would resolve to an arbitrary one; the Prop +
isProbabilityMeasure_of_isCoupling is the right pattern.

Addresses M. Douglas's round-2 follow-up items: drafted by Claude (Opus 4.8),
human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…6a checklist item

- Layer 2: the weak-regularity output is the block-averaged stepGraphonAvg (= E[W|P⊗P]);
  stepGraphon stays the general constant-on-rectangles object.
- Reviewer checklist: the 6a forward is cross-carrier with minimal hypotheses, plus a converse
  under atomless standard-Borel hypotheses (both same-carrier and cross-carrier now pinned).

Roadmap-prose polish from M. Douglas's review: drafted by Claude (Opus 4.8), human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…pling↔map, convergence)

Round-3 review response (lake build green, sorry-targets only).

Endpoint signatures (Targets.lean; GraphonSpaceI is now an abbrev so the instance-based
targets resolve through it):
- weak_regularity_frieze_kannan (Layer 2; 4^⌈1/ε²⌉ complexity bound, ∃ P hP over stepGraphonAvg)
- CompactSpace / CompleteSpace GraphonSpaceI (Layer 4; completeness by inferInstance from compactness)
- cutDistPullback + cutDist_eq_cutDistPullback (Layer 5 coupling↔map; m.p. maps from (I,volume))
- tendsto_graphonSpace_iff_forall_homDensity + continuous_homDensityOnSpace (Layer 6b culmination)
- finiteGraphGraphon + homDensity_finiteGraphGraphon (Layer 7 compatibility gate; carries 0 < m)
- graphonSpace_ext_homDensity (quotient-level separation)

Wording:
- Layer 2 reframed as block-average based (stepGraphonAvg / finite rectangle averages); the
  AE/conditional-expectation interface is introduced at Layer 3 — resolves the Layer 2/3 tension.
- IsCoupling documented as a named Prop (not a structure/typeclass); carrier convention softened
  (a.e. equality is not raw equality); zero-measure block set-average note; "entry points checked".
- Root index title -> "Dense graph limits and graphons".

Addresses the round-3 review: drafted by Claude (Opus 4.8), human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…GraphGraphon

Round-3 follow-up polish (lake build green):
- stepGraphonAvg / graphonPartitionEnergy_eq / graphonPartitionEnergy_increment docstrings now
  lead with block averages (stepGraphonAvg over rectangles), noting the conditional-expectation
  identification is a Layer-3 relation — matching the Layer 2/3 boundary the review pushed for.
- Worked-examples: W_G is finiteGraphGraphon G (now pinned), a step graphon of the finite graph.

Drafted by Claude (Opus 4.8), human-directed by me.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…TauCetiProject#55)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kim-em
kim-em force-pushed the roadmap/dense-graph-limits branch from 388b5e7 to 8e46621 Compare July 6, 2026 06:48
cameronfreer and others added 4 commits July 6, 2026 11:33
… note to Suggested.lean

Follow-up to TauCetiProject#55's Suggested.lean adoption: add the standard opening note (README.md is the
definitive roadmap document, Suggested.lean is not exhaustive) that the mechanical rename
skipped — matching the note TauCetiProject#55 added to the roadmaps that lacked it — and rename the README
section heading to "Suggested signatures". Docs only; lake build green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…m/cutDist API (review nits)

Two review nits (lean-lsp verified, lake build green):
- overlay → overlayDiff: it is the overlaid DIFFERENCE kernel (U−W transported along the coupling)
  whose cut norm controls the density gap (counting_lemma_coupling), not a neutral overlay of the
  two graphons. Renamed the def, the counting_lemma_coupling usage, and the README references, and
  sharpened the docstring.
- Pin the basic seminorm / metric API that was previously implicit: cutNorm_nonneg / _zero / _neg /
  _add_le / _smul, and cutDist_nonneg / _comm / _self (triangle and the quotient metric were already
  pinned). Synced the README "Compiled there" list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…utDistSame_self

Per review: pin the basic API directly on cutDist (cutDist μ μ U U = 0), matching the
README's cutDist_nonneg / _comm / _self wording, rather than stating it via cutDistSame.
cutDistSame_self is the named same-carrier specialization (a defeq corollary). lake build green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread TauCetiRoadmap/DenseGraphLimits/README.md Outdated
Comment thread TauCetiRoadmap/DenseGraphLimits/README.md Outdated
Comment thread TauCetiRoadmap/DenseGraphLimits/Suggested.lean
cameronfreer and others added 4 commits July 7, 2026 17:46
…ection positivity over Fin n (kim-em round 2)

Two review comments from kim-em:
- IsIsoInvariant / IsMultiplicative / IsNormalized were `def … : Prop := sorry` — a named
  proposition with no content, so three of the representability hypotheses asserted nothing
  (the failure mode the guide forbids). All three now carry real bodies: agreement along ≃g;
  multiplicativity over ⊕g with the disjoint union reindexed to Fin (n₁+n₂) along
  finSumFinEquiv; f 1 ⊥ = 1.
- IsReflectionPositive quantified over {ι : Type*} in every universe, against the roadmap's
  Fin-representative convention. The generality is not load-bearing (any finite ι reindexes to
  Fin (Fintype.card ι) with PSD preserved), so it now quantifies over Fin n families;
  connectionMatrix itself stays polymorphic.
Synced the Layer-8a prose and added a checklist item barring `Prop := sorry` predicates.

lake build green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…hta regularity formalization

Provenance: record the earliest community pointer in this direction — Mauricio Collares, in the
October 2021 Zulip thread on the Dillies-Mehta Szemerédi-regularity formalization, flagged the
graphon / cut-norm-compactness sequel (quoting the message, linking it, and noting it pointed to
§5 of Lovász-Szegedy's "Szemerédi's Lemma for the Analyst"). References: add that Lovász-Szegedy
paper (weak regularity + compactness, Layers 2/4) and the Dillies-Mehta ITP 2022 paper whose
Mathlib regularity / triangle-removal development this roadmap consumes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…n "earliest" to "an early"

The live Zulip URL needs a login for non-web-public views and can rot; the
leanprover-community archive link is durable and readable unauthenticated — keep both.
"Earliest community pointer" is hard to prove globally; "An early community pointer" claims
only what we checked.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cameronfreer and others added 7 commits July 10, 2026 02:09
… roadmap

The graph-regularity roadmap (in review) declares this roadmap the owner of
graphons / cut norm / Frieze-Kannan and consumes them via finite adapters, but
the boundary was one-directional: nothing here acknowledged the companion or
warned implementors that Layer-2/Layer-9 objects have a downstream consumer.

- Szemeredi bullet: strong graph regularity and arity-3 hypergraph-complex
  regularity are out of scope here (the companion roadmap's subject), which
  consumes cutNorm / stepGraphon / weak_regularity_frieze_kannan without
  redefining them - so those names and shapes are load-bearing downstream.
- Layer 9: the companion's plain-graph densities are slated to refactor onto
  homDensityFin / injHomDensity once this roadmap lands.

Prose-only cross-reference (no path link, no layer number pinned) so nothing
here depends on the unmerged sibling.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Backtick cutNorm alongside the other consumed declaration names, and say
"planned downstream consumer" -- the graph-regularity roadmap is still in
review and its adapters are prose-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The pinned signatures over-hypothesized the carrier. Janson (arXiv:1009.2376)
proves the coupling theory in far greater generality, so the targets now match:

- cutDist_triangle: drop StandardBorelSpace on all three carriers. Janson
  Lemma 6.5 proves the coupling triangle for arbitrary probability spaces
  (step-graphon approximation reduces gluing to the finite case - no
  disintegration, hence no regularity needed).
- graphonSetoid / GraphonSpace / MetricSpace instance / dist_graphonSpace_mk_mk
  / homDensityOnSpace(_mk): drop StandardBorelSpace - the quotient metric only
  needs the carrier-free triangle.
- cutDist_eq_cutDistPullback: drop NoAtoms (keep StandardBorelSpace). Every
  standard Borel probability space - atoms allowed - receives a m.p. map from
  (I, volume) (Janson Thm A.9), so any coupling is realized by a pair of maps
  from I (Thm 6.9). New target exists_measurePreserving_from_unitInterval pins
  that input, separate from the atomless mod-null equivalence (Thm A.7), which
  stays as the stronger Layer-4/5 transport.
- Inverse counting: the cross-carrier converse is now the primary, pinned with
  NO carrier hypotheses (Janson Thm 8.10, after Borgs-Chayes-Lovasz); the
  same-carrier converse becomes its specialization with a real body, mirroring
  the forward direction. The separation iff is likewise hypothesis-free.

README synced (conventions, why-these-choices, Layers 1/5/6a, reusable
infrastructure, compiled-there list, upstream list, reviewer checklist) and
Janson added to References with the theorem numbers used.

lake env lean green (sorry warnings only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…s a corollary

LNGL Thm 5.54 is the finite weighted-graph representation with connection-rank
bounds (Freedman-Lovasz-Schrijver), not graphon representability. The correct
source is Lovasz-Szegedy, "Limits of dense graph sequences" (arXiv:math/0408173),
Thm 2.2: f = t(.,W) iff f is normalized, multiplicative and reflection positive.

That theorem also shows explicit [0,1]-boundedness is redundant, so
lovasz_szegedy_representability is now a four-condition iff (IsIsoInvariant
stays explicit because GraphParam is representation-sensitive; L-S bake
iso-invariance into their notion of graph parameter), and the range bound is
pinned as the derived corollary graphParam_mem_Icc_of_isReflectionPositive.

README Layer 8b, compiled-there list, and reviewer checklist synced; L-S 2006
added to References. lake env lean green (sorry warnings only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…abels

glue returned only Sigma m, SimpleGraph (Fin m) -- enough for one
connection-matrix entry, but not for the promised gluing algebra: it blocked
iterated gluing and any associativity/commutativity statement. Now

- LabeledGraph.glue : LabeledGraph k -> LabeledGraph k -> LabeledGraph k (the
  identified labeled vertices keep their labels, still distinct -- this is
  Lovasz-Szegedy's product of k-labeled graphs);
- LabeledGraph.forgetLabels returns the underlying unlabeled graph (real body);
- connectionMatrix_apply pins the entry as f on
  ((A i).glue (A j)).forgetLabels.

README Layer 8a, compiled-there list, and reviewer checklist synced.
lake env lean green (sorry warnings only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eses

graphParam_mem_Icc_of_isReflectionPositive consumed all four representability
axioms, so the name misleadingly suggested reflection positivity alone
suffices. Now graphParam_mem_Icc_of_representability_axioms, with a docstring
note pinning the naming rationale.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nson Thm 7.1)

The hypothesis-free separation converse claimed a route through (I, volume)
representatives, but exists_measurePreserving_from_unitInterval only handles
standard Borel carriers -- the arbitrary-carrier reduction was unowned. New
target exists_graphon_unitInterval_cutDist_eq_zero: every graphon on an
arbitrary probability carrier is at cut distance zero from a graphon on
(I, volume) (Janson Thm 7.1, via the countably generated sub-sigma-algebra of
Lemma 7.3 and the atomless transport). The converse docstring, Layer-6a prose,
compiled-there list, and the Janson reference now route through it; the
cross-carrier theorem remains the public summit.

lake env lean green (sorry warnings only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
cameronfreer added a commit to cameronfreer/TauCetiRoadmap that referenced this pull request Jul 10, 2026
… at the handoff

Audit findings against the pinned toolchain and the graphon roadmap's current
state (PR TauCetiProject#53):

- The consume section now carries the "Entry points checked" note, after
  verifying every cited name at the pin: SimpleGraph.Copy / copyCount /
  labelledCopyCount / Free, szemeredi_regularity (+ SzemerediRegularity.bound,
  signature as quoted), IsUniform / nonUniforms / nonuniformWitness,
  equitabilise + exists_equipartition_card_eq (in Regularity/Equitabilise.lean,
  covered by the cited file list), edgeDensity, and the Energy/Chunk/Increment
  files. The "no hypergraph type in Mathlib" claim also checks out.
- Layer 3 now consumes the block-averaged stepGraphonAvg by name (the actual
  Frieze-Kannan output in the graphon roadmap, whose Layer-2 public API is
  block-average based) alongside stepGraphon, and gains the energy bridge:
  Layer 1's finite weightedEnergy is the finite counterpart of the graphon
  roadmap's analytic graphonPartitionEnergy, with the compatibility through
  finiteGraphGraphon an adapter target -- so the two L2-of-block-average
  energies are bridged, not parallel developments. Layer 1 gets the forward
  pointer; the Layer-3 gate now also demands the bridge.

Nothing regularity-related has landed in TauCeti main (no Combinatorics/
directory), so no as-landed status notes apply. Suggested.lean builds green
(sorry warnings only) and complies with the Prop-placeholder ban (all Props
carry real bodies; sorry only on data defs and theorems).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@kim-em

kim-em commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

🤖 Codex says:

Thanks—the five earlier review threads are addressed in the current head, and I have resolved them. I think three specification gaps remain before approval:

  1. The Aldous–Hoover endpoint needs an explicit dependency and a graphon-specific target. The Exchangeability roadmap already assigns exchangeable arrays and Aldous–Hoover to its Layer 8, describing it as a substantial tower with its own prerequisites. This roadmap currently names the same development without citing that dependency. Please make DenseGraphLimits consume Exchangeability Layer 8, then pin what this roadmap builds on top of it: the bridge between graphon sampling and symmetric jointly exchangeable Bernoulli arrays or infinite exchangeable random graphs.

  2. Layer 9 does not pin the joint sampling architecture needed for its almost-sure claims. sampleGraph W n gives a marginal law for each n; an almost-sure convergence statement across n needs all the samples represented on one probability space, or it must instead be stated through per-n concentration bounds from which such a coupling and Borel–Cantelli argument are constructed. Please pin the intended object and theorem shapes, distinguish almost-sure convergence from convergence in probability or distribution, and name the concentration route. The weak-convergence stack currently cited does not by itself supply that specification. This can naturally be resolved together with the exchangeable-graph bridge above.

  3. Layer 8 still jumps from the reflection-positivity predicates to the full representability theorem. Layer 8a defines labeled graphs, gluing, connection matrices, and the four structural predicates, but saying the gluing algebra’s laws are “expressible” does not make their theory a target. Please pin a concrete intermediate proof spine. For example, the cited Lovász–Szegedy route passes from connection-matrix positivity to positivity of the finite fully-labelled matrices, through the Möbius transform f† ≥ 0, then constructs random finite graph laws and uses concentration/Borel–Cantelli to obtain a convergent graph sequence before producing its graphon representation. A quantum-graph or moment-algebra route would instead need its own basic algebra and intermediate results pinned. Whichever route is intended, its dependencies—including any use of Layer 9—need to appear in the roadmap’s ordering rather than being hidden inside the headline theorem.

cameronfreer/graphon is now sorry-free with no custom axioms (the three
sorries previously listed - Rokhlin common extension, algebraic
determination, the determination theorem - are closed; issue TauCetiProject#70 closed
2026-07-02 via the Cai-Govorov descent, the first sampling lemma proved
2026-07-08). Pin the reviewed commit (6eccca5), expand the per-layer
supply lines to the newly landed sampling / exchangeable-graph-law /
mixture-representation / extremality stack, and update the
migration-first vs discharge-target split accordingly (canonical-carrier
Layers 0-7 and 9 migration-first; cross-carrier Janson generality and
Layer 8b remain discharge work).

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
sampleGraph W n is a marginal law per n, so the almost-sure sampling
claims were unstateable as written. Pin the joint object and the two
convergence modes, deliberately distinct:

- infiniteSampleLaw W: the law of the infinite W-random graph on one
  probability space (iid positions + one uniform per pair), with the
  finite-marginal identification infiniteSampleLaw_map_restrictFin
  realizing G(n,W) for every n as restrictions of one object (Mathlib's
  MeasurableSpace (SimpleGraph V) covers V = N, no new sigma-algebra).

- In probability: sampleGraph_cutDist_tendsto_inProbability (second
  sampling lemma, LNGL 10.16), on the marginals, via the two-stage
  point-sampling (Azuma) + rounding (union bound over cuts)
  decomposition.

- Almost surely: infiniteSampleLaw_ae_tendsto_cutDist, on the joint
  space, via per-coordinate concentration
  (sampleGraph_injHomDensity_concentration, LNGL Prop 11.32 shape,
  summable tails), Borel-Cantelli per fixed F, countable intersection,
  and the Layer-6b convergence equivalence - not through the two-stage
  cut-distance lemma.

The weak-convergence stack previously cited for these targets is no
longer load-bearing here, and the graph-regularity density cross-
reference is rephrased as optional interoperability (matching that
roadmap's decoupling).

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
…om array-level Aldous-Hoover

The Layer-9 endpoint was one unpinned sentence naming exchangeable
arrays / Aldous-Hoover with no dependency story. Now pinned, decoupled:

- ExchangeableGraphLaw (consistent finite marginals under every label
  injection), sampleExchangeableLaw with its consistency theorem, the
  upperMass observable with the sampling anchor P(F <= G(k,W)) = t(F,W),
  IsDissociated with isDissociated_sampleExchangeableLaw, and the
  extremality target exists_graphon_of_isDissociated (dissociated laws
  are exactly the sample laws - the Layer-8b spine's key input).

- The infinite form InfiniteExchangeableGraphLaw with the compactness
  extension exchangeableGraphLawEquivInfinite, the Borel structure of
  the cut metric on GraphonSpaceI, and the summit
  graphonMixtureLawEquiv : ProbabilityMeasure GraphonSpaceI ~=
  InfiniteExchangeableGraphLaw with its Dirac anchor - uniqueness on
  the graphon quotient, never among raw kernel representatives. Named
  the Diaconis-Janson graphon-mixture representation, a graph-level
  Aldous-Hoover consequence; deliberately not labeled "Aldous-Hoover".

- The array-level Aldous-Hoover representation stays the Exchangeability
  roadmap's Layer 8 as independent parallel theory - the prior
  formalization proves the graph-level correspondence with no array
  input - joined by one named future interface (exchangeable graph laws
  = symmetric irreflexive jointly exchangeable Boolean-array laws),
  described rather than sorry-pinned until that array API exists.

Diaconis-Janson (2008) added to References.

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
…h Layer 9's graph-law layer

Layer 8b jumped from the reflection-positivity predicates to the full
representability theorem. The route is now a chain of named targets:

- graphParamMobius (f-dagger, a real definition: the supergraph Mobius
  transform), graphParamMobius_nonneg (reflection positivity makes the
  fully-labelled blocks PSD; the Mobius congruence preserves it), and
  graphParamMobius_sum_eq_one (telescoping + multiplicativity/
  normalization) - f-dagger is a probability mass at every level.

- paramExchangeableLaw (the random graph law L_f with masses f-dagger),
  paramExchangeableLaw_upperMass (Mobius inversion: upperMass L_f = f),
  isDissociated_paramExchangeableLaw (multiplicativity dissociates).

- Layer 9's extremality exists_graphon_of_isDissociated then yields
  L_f = sampleExchangeableLaw W, and the sampling anchor closes
  f F = t(F, W).

Layer 8b consumes Layer 9's graph-law representation/extremality
infrastructure only - not the graphon-sampling concentration theorems
(no representing graphon exists while the spine runs; a classical
random-graphs route would additionally need an f-dagger-specific
variance or simultaneous-selection lemma). The Ordering section now
states the real build order Layer 8a -> Layer 9 graph-law layer ->
Layer 8b, and the module docstring lists the new pins.

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
…on bridges

Two specification bridges the representation subsection still lacked:

- graphonMixtureLawEquiv_upperMass: for every mixing measure P, the
  represented law's upper mass at F is the P-average of the hom-density,
  upperMass F = integral of t(F, .) dP on the quotient. Upper masses
  determine each finite marginal by Mobius inversion, so the
  correspondence is pinned beyond its Dirac fibers - an arbitrary
  permuting Equiv can no longer satisfy the spec (precedent:
  infiniteMixtureLawEquiv_law_map_restrictFin).

- infiniteSampleLaw_eq_extension: the explicit joint sampler IS the
  compactness extension of the sampling marginals - certifying the
  sampler's exchangeability and connecting the sampling, graph-law, and
  mixture subsections (precedent: map_sampleInfinite).

Also: the array interface gets a proposed identifier
(graphLawArrayLawEquiv) and is called a documented future interface; the
Suggested-signature inventory and the reviewer checklist gain the
Layer-9 and Layer-8b targets; Provenance now says the library is
parameterized over a fixed standard-Borel carrier (what remains is
primarily this roadmap's coupling-based cross-carrier generality).

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
- The weak-convergence Mathlib stack now supports the mixture
  existence/representation side of Layer 9 (measures on GraphonSpaceI,
  the compactness extension); the sampling-convergence targets
  explicitly do not consume it.

- The build-here list gains the Layer-9 sampling stack, the exchangeable
  graph laws and their mixture representation, and the Layer-8 gluing
  algebra and representability spine, pointing at the per-layer sections
  and the Suggested-signatures inventory for the full lists - so the
  checklist's "all non-Mathlib objects listed under build here" holds.

- Provenance: "Already formalized over a fixed standard-Borel carrier,
  making the canonical specializations migration-first"; cross-carrier
  generality named as discharge work alongside the remaining headline
  discharge target, Layer 8b.

Designed by Cameron Freer, implemented by Fable 5 high, reviewed by GPT 5.6 Sol xhigh
@cameronfreer

cameronfreer commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator Author

🤖 Fable 5 (directed by Cameron and reviewed by GPT 5.6 Sol) says:

Thanks — the three gaps are addressed across the six new commits (plus a merge of main), with one deliberate deviation on gap 1 explained below. (Independently useful context: cameronfreer/graphon has advanced substantially and is now sorry-free with no custom axioms; the provenance section is refreshed and pinned at commit 6eccca5, which supplies proved routes for the Layer-9 stack and part of the Layer-8 algebraic substrate.)

1. The Aldous–Hoover endpoint — pinned, but decoupled rather than made a dependency. Layer 9 now ends at a fully pinned graph-level target: ExchangeableGraphLaw (consistent finite marginals under every label injection), sampleExchangeableLaw with the anchor upperMass_sampleExchangeableLaw : P(F ≤ G(k,W)) = t(F,W), IsDissociated with the extremality target exists_graphon_of_isDissociated, the infinite form + compactness extension, and the summit graphonMixtureLawEquiv : ProbabilityMeasure GraphonSpaceI ≃ InfiniteExchangeableGraphLaw — uniqueness explicitly on the graphon quotient, never among raw kernel representatives. The correspondence is pinned beyond its Dirac fibers: alongside the Dirac anchor, the general mixture-coordinate law graphonMixtureLawEquiv_upperMass gives, for every mixing measure P, upperMass F = ∫ t(F,·) dP on the quotient — upper masses determine each finite marginal by Möbius inversion, so an arbitrary permuting Equiv cannot satisfy it (the precedent is the library's infiniteMixtureLawEquiv_law_map_restrictFin). The roadmap names this the Diaconis–Janson graphon-mixture representation (a graph-level Aldous–Hoover consequence), deliberately not "Aldous–Hoover". The reason we did not make DenseGraphLimits consume Exchangeability Layer 8: the prior formalization proves the graph-level correspondence (infiniteMixtureLawEquiv, InfiniteRepresentation.lean) by compactness extension plus the mixture representation, with no array-level input — a dependency edge would overstate the proof dependency. Instead the array-level theory is declared independent parallel work, joined by the bridge you asked for, recorded as a documented future interface — proposed identifier graphLawArrayLawEquiv, equating exchangeable graph laws with symmetric, irreflexive, jointly exchangeable Boolean-array laws — prose-only until the Exchangeability roadmap's array API exists (per the roadmap guide's rule for conditions that cannot yet be stated). Diaconis–Janson (2008) added to References.

2. Joint sampling architecture — pinned. infiniteSampleLaw W is the law of the infinite W-random graph on one probability space (i.i.d. positions + one uniform per pair; Mathlib's MeasurableSpace (SimpleGraph V) covers V = ℕ), with infiniteSampleLaw_map_restrictFin identifying every G(n,W) as a restriction of this single object, and infiniteSampleLaw_eq_extension identifying the explicit sampler with the compactness extension of the sampling marginals — which certifies the sampler's exchangeability and welds the sampling, graph-law, and mixture subsections into one architecture. The two convergence modes are now distinct pinned theorems with distinct named routes: in probability (sampleGraph_cutDist_tendsto_inProbability, LNGL 10.16, on the marginals, via the two-stage point-sampling/Azuma + rounding/union-bound decomposition) and almost surely (infiniteSampleLaw_ae_tendsto_cutDist, on the joint space, via the per-coordinate concentration bound sampleGraph_injHomDensity_concentration — LNGL Prop 11.32 shape, summable tails — Borel–Cantelli per fixed F, countable intersection, and the Layer-6b convergence equivalence). Neither proof consumes the other, and the weak-convergence stack previously cited here is no longer load-bearing for these targets.

3. The Layer-8b spine — pinned as a chain of named targets, and the dependency on Layer 9 is now explicit in the ordering. The route: reflection positivity → graphParamMobius_nonneg (f† ≥ 0, via PSD fully-labelled blocks and the Möbius congruence) and graphParamMobius_sum_eq_one (∑ f† = 1) → the random graph law paramExchangeableLaw (L_f) → paramExchangeableLaw_upperMass (upperMass L_f = f) → isDissociated_paramExchangeableLaw → Layer 9's exists_graphon_of_isDissociated gives L_f = sampleExchangeableLaw W → the sampling anchor closes f F = t(F,W). Note the precise scope of the Layer-9 dependency: the spine consumes the graph-law representation/extremality infrastructure only, not the graphon-sampling concentration theorems — while the spine runs, no representing graphon exists yet, so the classical random-graphs-plus-convergent-subsequence route would additionally need an f†-specific variance or simultaneous-selection lemma; the extremality route needs none. The Ordering section now reads Layer 8a → Layer 9's graph-law layer → Layer 8b.

lake build is green on the new head (Suggested.lean imports only Mathlib; the new declarations are the pins listed above, with graphParamMobius, upperMass, IsDissociated, restrictFin, and the structures ExchangeableGraphLaw and InfiniteExchangeableGraphLaw given real bodies).

Directed by Cameron Freer, written by Fable 5 high, reviewed by GPT 5.6 Sol xhigh.

@cameronfreer

Copy link
Copy Markdown
Collaborator Author

Thanks—the five earlier review threads are addressed in the current head, and I have resolved them. I think three specification gaps remain before approval:

Thanks for this review. As noted in the longer reply, my cameronfreer/graphon repo is now farther along, and it contains a lot of new relevant details.

Also I think it makes more sense for this roadmap to target the graphon-specific variant of Aldous-Hoover, while the jointly (or separately) exchangeable array versions could be later extensions to the Exchangeability roadmap and eventually meet up with this one somehow.

The other two points were more straightforward.

cameronfreer added a commit to cameronfreer/TauCetiRoadmap that referenced this pull request Jul 31, 2026
… at the handoff

Audit findings against the pinned toolchain and the graphon roadmap's current
state (PR TauCetiProject#53):

- The consume section now carries the "Entry points checked" note, after
  verifying every cited name at the pin: SimpleGraph.Copy / copyCount /
  labelledCopyCount / Free, szemeredi_regularity (+ SzemerediRegularity.bound,
  signature as quoted), IsUniform / nonUniforms / nonuniformWitness,
  equitabilise + exists_equipartition_card_eq (in Regularity/Equitabilise.lean,
  covered by the cited file list), edgeDensity, and the Energy/Chunk/Increment
  files. The "no hypergraph type in Mathlib" claim also checks out.
- Layer 3 now consumes the block-averaged stepGraphonAvg by name (the actual
  Frieze-Kannan output in the graphon roadmap, whose Layer-2 public API is
  block-average based) alongside stepGraphon, and gains the energy bridge:
  Layer 1's finite weightedEnergy is the finite counterpart of the graphon
  roadmap's analytic graphonPartitionEnergy, with the compatibility through
  finiteGraphGraphon an adapter target -- so the two L2-of-block-average
  energies are bridged, not parallel developments. Layer 1 gets the forward
  pointer; the Layer-3 gate now also demands the bridge.

Nothing regularity-related has landed in TauCeti main (no Combinatorics/
directory), so no as-landed status notes apply. Suggested.lean builds green
(sorry warnings only) and complies with the Prop-placeholder ban (all Props
carry real bodies; sorry only on data defs and theorems).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants