Documentation

LeanPool.FullyDynamicMatching.FD1D.KernelBridge

Kernel Bridge #

Finite-law and finite-kernel measure bridges #

This file proves that the measure representations in MeasureBridge commute with the project's finite pushforward and one-step kernel operations.

theorem FD1D.FiniteLaw.measure_ext_of_singletons {α : Type u_1} [Finite α] [MeasurableSpace α] {μ ν : MeasureTheory.Measure α} (h : ∀ (x : α), μ {x} = ν {x}) :
μ = ν

Measures on a finite measurable-singleton space are determined by point masses.

def FD1D.FiniteLaw.product {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] (μ : FiniteLaw α) (ν : FiniteLaw β) :
FiniteLaw (α × β)

The independent product of two finite laws.

Equations
  • μ.product ν = { mass := fun (p : α × β) => μ.mass p.1 * ν.mass p.2, mass_nonneg := ⋯, sum_mass := ⋯ }
Instances For
    @[simp]
    theorem FD1D.FiniteLaw.mass_product {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] (μ : FiniteLaw α) (ν : FiniteLaw β) (x : α) (y : β) :
    (μ.product ν).mass (x, y) = μ.mass x * ν.mass y
    @[simp]

    Finite-law products become ordinary product measures.

    @[simp]

    Converting a finite-law pushforward to a measure is ordinary measure pushforward.

    A finite kernel's measure-valued row has the prescribed transition mass.

    theorem FD1D.FiniteKernel.integral_toKernel {α : Type u_1} [Fintype α] [MeasurableSpace α] [MeasurableSingletonClass α] (K : FiniteKernel α) (x : α) (f : α → ℝ) :
    ∫ (y : α), f y ∂K.toKernel x = ∑ y : α, K.trans x y * f y

    Integrating one finite-kernel row agrees with its elementary weighted sum.

    @[simp]

    Mathlib kernel composition realizes the project's finite-law step.