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.
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.
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.
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.
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 α β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. -/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.