Graphons #
A graphon on a probability space (Ω, μ) is a [0, 1]-valued symmetric kernel: an
everywhere-defined W : Ω → Ω → ℝ that is symmetric, jointly measurable, and takes values in
[0, 1]. It is the limit object of the dense graph limit theory.
A graphon is a kernel with a range constraint, not a new carrier. Graphon extends
SymmKernel, so symmetry and measurability are inherited rather than restated, and every
kernel-level construction applies to a graphon through Graphon.toSymmKernel. That projection is
what lets the cut norm — defined on kernels, so that a difference U - W of graphons is in its
domain — be applied to graphons without a second definition.
Graphons carry no algebra. They are deliberately not an AddCommGroup or a Module: the
[0, 1] constraint is not preserved by addition, negation, or scaling, so U - W is a kernel and
not a graphon. This is exactly why the roadmap puts the cut norm on SymmKernel and the range
constraint here.
The measure is a genuine parameter here. Unlike SymmKernel, whose measure is a phantom
argument, Graphon requires [IsProbabilityMeasure μ]: the analytic theory built on graphons —
homomorphism densities, the cut metric, sampling — integrates against μ and needs total mass one.
Main definitions #
TauCeti.DenseGraphLimits.Graphon— the[0, 1]-valued symmetric kernel, with aFunLikecoercion, extensionality by the underlying function, and thetoSymmKernelprojection.TauCeti.DenseGraphLimits.Graphon.const— the constant graphon with valuep : I.TauCeti.DenseGraphLimits.Graphon.clampSymm— turn a measurable real-valued kernel into a graphon by averaging with its transpose and clamping to[0, 1].
Main results #
Graphon.symm,Graphon.measurable— symmetry and joint measurability, inherited from the kernel;Graphon.nonneg,Graphon.le_one— the pointwise range constraint, in eliminator form;Graphon.const_apply— the constant graphon evaluates to its parameter.Graphon.clampSymm_apply_of_symm_of_mem— symmetrizing and clamping leaves a symmetric value already in[0, 1]unchanged.
References #
- Roadmap:
TauCetiRoadmap/DenseGraphLimits/README.md, Layer 1 — the graphon carrier and the constant graphon. The signature followsTauCetiRoadmap/DenseGraphLimits/Suggested.lean. Homomorphism densities, the cut norm and cut distance, theGraphonSpacequotient and its a.e.-identification, and the step graphon of a finite graph are separate targets and are not built here. - S. Janson, Graphons, cut norm and distance, couplings and rearrangements, NYJM Monographs 4 (2013).
- L. Lovász, Large Networks and Graph Limits, AMS Colloquium Publications 60 (2012), §7.
A graphon: a [0, 1]-valued symmetric kernel on a probability space.
Extends SymmKernel, so symmetry, measurability and boundedness come from there; the only new
field is the pointwise range constraint.
- meas' : Measurable (Function.uncurry self.toFun)
A graphon takes values in
[0, 1]. Stated viaGraphon.nonnegandGraphon.le_one.
Instances For
A graphon acts as its underlying function Ω → Ω → ℝ.
Equations
- TauCeti.DenseGraphLimits.Graphon.instFunLike = { coe := fun (W : TauCeti.DenseGraphLimits.Graphon Ω μ) => ⇑W.toSymmKernel, coe_injective := ⋯ }
Constructing a graphon does not change the underlying function of its symmetric kernel.
Projecting a graphon to its kernel does not change the underlying function.
Two graphons agreeing pointwise are equal: the range constraint is a proposition, so the underlying function determines the graphon.
A graphon is symmetric, inherited from the underlying kernel.
A graphon is jointly measurable, inherited from the underlying kernel.
A graphon takes values in [0, 1].
A graphon is nonnegative.
A graphon is bounded above by 1.
Average a measurable real-valued kernel with its transpose and clamp the result to [0, 1].
This is the common strict-representative construction: averaging enforces pointwise symmetry, and
clamping enforces the graphon range without changing values that were already symmetric and in
[0, 1].
Equations
Instances For
Evaluating clampSymm gives the averaged and clamped kernel.
Symmetrizing and clamping does not change a value that is symmetric and already in [0, 1].
The constant graphon with value p.
The parameter is taken in unitInterval, the same convention Mathlib's
SimpleGraph.binomialRandom uses for G(V, p), so that the later sampling compatibility statement
needs no translation.
Equations
- TauCeti.DenseGraphLimits.Graphon.const μ p = { toFun := fun (x x_1 : Ω) => ↑p, symm' := ⋯, meas' := ⋯, bdd' := ⋯, mem01' := ⋯ }
Instances For
The constant graphon evaluates to its parameter at every pair of points.