Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412
ASTIS mathematical exposition

Constructing a finite fixed-weight mixture of kernels

AutoSamplingTheory.TechnicalLemmas.Probability.KernelMixture.finiteMixture · def · Teaching coverage

Statement

Let I be a finite index type, A and B measurable spaces, w:I→[0,∞) fixed nonnegative real weights, and Kᵢ kernels from A to B. Assume every Kᵢ is an s-finite kernel. The construction first multiplies each output measure of Kᵢ by the constant density wᵢ, then adds these finitely many kernels. Denote the result by M_w. No sum-to-one condition is needed to define it; the next theorem identifies its value at each input as the weighted sum of component measures.

\[M_w:=\sum_{i\in I}K_i.\operatorname{withDensity}\bigl((a,b)\mapsto c_i\bigr),\qquad c_i=\iota(w_i)\in[0,\infty].\]

All objects and hypotheses

  • Implicit section variables {ι α β : Type*}.
  • [Fintype ι]: there are finitely many component indices; this does not make α or β a finite state space.
  • [MeasurableSpace α] and [MeasurableSpace β].
  • w : ι → ℝ≥0, fixed independently of input and output states.
  • κ : ι → Kernel α β.
  • [∀ i, IsSFiniteKernel (κ i)], a uniform-kernel decomposition contract for each component, required by the chosen withDensity API.
  • No normalization, strict positivity, Markovness, target measure μ, nonempty-space, Standard-Borel or topological assumption.

Notation and interpretation

Measurable space and kernel

A measurable space is a set with a specified sigma-algebra of events. A kernel K from A to B assigns to each input a a measure K(a,·) on B, and a↦K(a,E) is measurable whenever E is measurable. A kernel need not assign probability measures unless Markovness is separately assumed.

\[K:A\to\mathcal M(B),\qquad a\mapsto K(a,E)\text{ measurable for every measurable }E\subseteq B.\]
Measure evolved by a kernel; invariance

Write μK for the measure obtained by starting with μ and applying K. Lean writes μ.bind K or K ∘ₘ μ. Invariance says that this evolved measure is exactly μ. If μ is a probability law this means a stationary initial distribution, but the definitions and these theorems also allow arbitrary measures.

\[(\mu K)(E)=\int_A K(a,E)\,\mu(da),\qquad \mu K=\mu.\]
Composition and powers

Lean's L ∘ₖ K applies K first and L second. The multiplicative identity is the identity kernel a↦δ_a, and powers are repeated composition. All integrals here are nonnegative extended-real (lower Lebesgue) integrals; no signed or Bochner integrability is silently assumed.

\[(L\circ_{\!k}K)(a,E)=\int L(b,E)\,K(a,db),\quad K^0(a,\cdot)=\delta_a,\quad K^{n+1}=K^n\circ_{\!k}K.\]
Markov and s-finite kernels

Markov means every output measure has total mass one. An s-finite kernel is a countable sum of finite kernels, where each finite kernel has a finite uniform bound on its total mass across inputs. Markovness supplies this s-finiteness automatically. S-finite is not the same hypothesis as sigma-finite, and is not merely a pointwise finiteness assertion.

\[K(a,B)=1\ \forall a\quad\text{(Markov)};\qquad K=\sum_{n=0}^{\infty}K_n,\quad \forall n\ \exists C_n<\infty\ \forall a,\ K_n(a,B)\le C_n\quad\text{(s-finite)}.\]
Nonnegative weights

ℝ≥0 consists of finite nonnegative real numbers; ℝ≥0∞ also allows infinity and is the codomain of measure values. The coercion wᵢ↦cᵢ puts finite weights into extended nonnegative arithmetic. Zero weights are permitted, including when component masses are infinite; this arithmetic uses 0·∞=0.

\[w_i\in[0,\infty),\qquad c_i=\iota(w_i)\in[0,\infty].\]
Measurable equivalence and pushforward

A measurable equivalence e is a bijection whose forward and inverse maps are both measurable. Its pushforward measure records the original mass of inverse images. This is transport of measures, not a density transformation with an implicit Jacobian.

\[(e_*\mu)(E)=\mu(e^{-1}(E)),\qquad (e^{-1})_*(e_*\mu)=\mu.\]

Construction and meaning

1. Embed the weights into the range of measure values

A measure takes extended nonnegative real values. Regard the finite nonnegative real weight wᵢ as the extended value cᵢ. For each i, the proposed density is the constant function (a,b)↦cᵢ, so it is measurable on the product measurable space.

\[c_i=\iota(w_i),\qquad f_i(a,b)=c_i,\qquad f_i\text{ measurable}.\]
Corresponding Lean step

(fun _ _ => (w i : ℝ≥0∞))

measurable_const is used explicitly in finiteMixture_apply to certify the genuine-density branch; the definition itself passes the density to the totalized API.

2. Form one constant-density kernel for each component

For each i, invoke the existing withDensity construction. At a fixed input a, its intended measure is obtained by integrating the constant cᵢ against Kᵢ(a,·). The s-finite component hypothesis guarantees that the imported construction yields a measurable kernel. Because fᵢ is measurable, the API's nonmeasurable zero fallback is not used; the next evaluation theorem proves this explicitly.

\[L_i:=K_i.\operatorname{withDensity}(f_i),\qquad L_i(a,E)=\int_E c_i\,K_i(a,db)=c_iK_i(a,E).\]
Corresponding Lean step

(κ i).withDensity (fun _ _ => (w i : ℝ≥0∞))

The displayed pointwise interpretation is justified by finiteMixture_apply and its Mathlib helpers, not by an additional theorem proof inside this definition.

3. Add the finitely many kernels

Use the additive structure on kernels to take the finite sum of the Lᵢ. Finite sums of measures remain measures, and the existing kernel sum structure preserves the required input measurability. This defines M_w. If I is empty the sum is the zero kernel.

\[M_w=\sum_{i\in I}L_i.\]
Corresponding Lean step

∑ i, (κ i).withDensity (fun _ _ => (w i : ℝ≥0∞))

These are construction steps, not an invariance or normalization proof.

Lean statement · finiteMixture

This declaration returns a kernel, not a proposition. Fintype supplies the finite summation range. Each κ i is a component kernel. The bracketed family of IsSFiniteKernel assumptions lets Lean construct every withDensity component. The two underscores in fun _ _ mean the density ignores both current and next state. noncomputable indicates an abstract mathematical construction, not an executable sampling implementation.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

noncomputable def finiteMixture (w : ι → ℝ≥0) (κ : ι → Kernel α β)
    [∀ i, IsSFiniteKernel (κ i)] : Kernel α β

Exact module and namespace context

Lean construction · finiteMixture

The displayed body is the definition itself. withDensity weights each component by a constant, and ∑ adds the resulting kernels. The statement does not assert that these masses add to one; that is proved separately only when normalized weights and Markov components are supplied.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

noncomputable def finiteMixture (w : ι → ℝ≥0) (κ : ι → Kernel α β)
    [∀ i, IsSFiniteKernel (κ i)] : Kernel α β :=
  ∑ i, (κ i).withDensity (fun _ _ => (w i : ℝ≥0∞))

/-- Pointwise measure law of the finite mixture. Constant uncurry densities are
measurable, so the totalized `withDensity` zero fallback is never used. -/

Exact module and namespace context

Scope and omitted-condition boundaries

  • This definition alone claims neither Markovness nor invariance.
  • S-finiteness is the selected Mathlib implementation's contract; this is not a claim that every conceivable finite-mixture definition mathematically needs it.
  • State-dependent weights, signed weights and computational sampling code are not provided.
  • Empty I yields the zero kernel; the later hypothesis ∑ᵢwᵢ=1 cannot hold for empty I.
  • Source-neutral construction; no numbered primary textbook theorem is assigned.

Source and reuse

ASTIS parents called

    Mathlib API called (external library)

    • ProbabilityTheory.Kernel.withDensity
    • ProbabilityTheory.IsSFiniteKernel
    • ProbabilityTheory.Kernel.instAddCommMonoid
    • Finset.sum

    Mathematical sources

    • ASTIS mixture construction — Directly inspected definition.
    • Mathlib withDensity construction — Inspected s-finite assumption and measurable/nonmeasurable branches.
    • Finite-kernel additive structure — Existing sum infrastructure.
    • Focused tests (consumer evidence) — Tests preserve the arbitrary-target contract; remove a zero-weight Bool component at the measure level; and use a private Bool family consisting of the identity and heatBathSnd. The latter is Markov, invariant, and reusable in invariant_pow. The identity weight may be zero, so the tests do not establish positive holding probability or aperiodicity.

    ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.