Block Injection for Disjoint-Block Averaging #
This file defines the block injection map used in the disjoint-block averaging argument for de Finetti's theorem via contractability. The block injection allows us to select one element from each of m disjoint blocks, while preserving strict monotonicity (required for contractability).
Main definitions #
blockInjection m n j: Forj : Fin m → Fin n, maps:i < mtoi * n + j(i)(selects element j(i) from block i)i ≥ mtoi + (m * n - m)(shifts the tail)
Main results #
blockInjection_strictMono: The block injection is strictly monotone when n > 0.blockInjectionEmb: Embedding version of block injection.
Mathematical context #
The disjoint-block averaging argument (Kallenberg's "first proof") works as follows:
- Partition
ℕinto m blocks of size n each:[0, n), [n, 2n), ..., [(m-1)n, mn) - For each choice function
j : Fin m → Fin n, the block injection selects one element from each block while being strictly monotone - Average over all n^m such choices to get block averages
- As n → ∞, block averages converge to conditional expectations
This approach avoids permutations entirely, using only strictly monotone injections, which is exactly what contractability requires.
References #
- Kallenberg (2005), Probabilistic Symmetries and Invariance Principles, Chapter 1
Block Injection Definition #
Block injection: for i < m, select element j(i) from block i;
for i ≥ m, shift by m * n - m to avoid collision.
The result is strictly monotone when n > 0, making it suitable for
contractability arguments.
Equations
Instances For
Strict Monotonicity #
Block injection is strictly monotone when block size n > 0.
Block injection is an embedding (strictly monotone implies injective).
Equations
- Exchangeability.DeFinetti.blockInjectionEmb m n hn j = { toFun := Exchangeability.DeFinetti.blockInjection m n j, inj' := ⋯ }
Instances For
Reindexing by Block Injection #
Reindex a sequence by block injection.
Given ω : ℕ → α, j : Fin m → Fin n, produces the sequence
where position i has value ω (blockInjection m n j i).
Equations
- Exchangeability.DeFinetti.reindexBlock m n j ω i = ω (Exchangeability.DeFinetti.blockInjection m n j i)
Instances For
Reindexing by block injection is measurable.
Block Injection Properties for First m Coordinates #
The first m values under block injection hit positions in disjoint blocks.
Shift-Invariance of Reindexing #
For mSI-sets, reindexing by blockInjection preserves membership because:
- For i ≥ m: blockInjection(i) = i + (m*n - m) (constant shift)
- mSI-sets are determined by the tail (coordinates ≥ any M)
- Therefore membership is preserved
Reindexing by blockInjection preserves membership in shift-invariant sets.
The key insight is that blockInjection is eventually a constant shift: for i ≥ m, blockInjection(i) = i + (m*n - m).
For shift-invariant sets s (where shift⁻¹(s) = s), membership is determined by the eventual behavior of the sequence. Since blockInjection only permutes finitely many coordinates and then shifts, it preserves membership in s.