Documentation

TauCeti.Combinatorics.DenseGraphLimits.Graphon.Basic

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 #

Main results #

References #

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.

Instances For
    @[instance_reducible]

    A graphon acts as its underlying function Ω → Ω → ℝ.

    Equations
    @[simp]
    theorem TauCeti.DenseGraphLimits.Graphon.coe_mk {Ω : Type u_1} [MeasurableSpace Ω] {μ : MeasureTheory.Measure Ω} [MeasureTheory.IsProbabilityMeasure μ] (K : SymmKernel Ω μ) (hmem : ∀ (x y : Ω), K.toFun x y ∈ Set.Icc 0 1) :
    ⇑{ toSymmKernel := K, mem01' := hmem } = ⇑K

    Constructing a graphon does not change the underlying function of its symmetric kernel.

    @[simp]

    Projecting a graphon to its kernel does not change the underlying function.

    theorem TauCeti.DenseGraphLimits.Graphon.ext {Ω : Type u_1} [MeasurableSpace Ω] {μ : MeasureTheory.Measure Ω} [MeasureTheory.IsProbabilityMeasure μ] {W W' : Graphon Ω μ} (h : ∀ (x y : Ω), W x y = W' x y) :
    W = W'

    Two graphons agreeing pointwise are equal: the range constraint is a proposition, so the underlying function determines the graphon.

    theorem TauCeti.DenseGraphLimits.Graphon.ext_iff {Ω : Type u_1} [MeasurableSpace Ω] {μ : MeasureTheory.Measure Ω} [MeasureTheory.IsProbabilityMeasure μ] {W W' : Graphon Ω μ} :
    W = W' ↔ ∀ (x y : Ω), W x y = W' x y
    theorem TauCeti.DenseGraphLimits.Graphon.symm {Ω : Type u_1} [MeasurableSpace Ω] {μ : MeasureTheory.Measure Ω} [MeasureTheory.IsProbabilityMeasure μ] (W : Graphon Ω μ) (x y : Ω) :
    W x y = W y x

    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
      @[simp]
      theorem TauCeti.DenseGraphLimits.Graphon.clampSymm_apply {Ω : Type u_1} [MeasurableSpace Ω] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (f : Ω → Ω → ℝ) (hf : Measurable (Function.uncurry f)) (x y : Ω) :
      (clampSymm μ f hf) x y = max 0 (min 1 ((f x y + f y x) / 2))

      Evaluating clampSymm gives the averaged and clamped kernel.

      theorem TauCeti.DenseGraphLimits.Graphon.clampSymm_apply_of_symm_of_mem {Ω : Type u_1} [MeasurableSpace Ω] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (f : Ω → Ω → ℝ) (hf : Measurable (Function.uncurry f)) {x y : Ω} (hsymm : f x y = f y x) (hmem : f x y ∈ Set.Icc 0 1) :
      (clampSymm μ f hf) x y = f x y

      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
      Instances For
        @[simp]

        The constant graphon evaluates to its parameter at every pair of points.