Contractability API #
This file records basic lemmas for Contractable processes. The definitions live in
TauCeti.Probability.Exchangeability.Basic.
The main result is Exchangeable.contractable: every exchangeable sequence with a.e. measurable
coordinates is contractable. The file also provides
Exchangeable.blockLaw_eq_prefixLaw_of_injective (the injective-selection analogue) and
Contractable.measurePreserving_reindex / Contractable.measurePreserving_shift (a contractable
path law is invariant under strictly monotone time-reindexing, in particular the shift), plus the
converse characterization contractable_iff_forall_map_reindex_pathLaw.
These declarations are adapted from the cameronfreer/exchangeability Layer 0 sources pinned
at e0532e59ceff23edab44dda9ab0655debbc9cc22, with Tau Ceti API names and hypotheses; the
combinatorial core, StrictMono.exists_strictMono_nat_extending_fin, now lives in
TauCeti.Data.Fin.StrictMono. Contractable.pairLaw_eq is adapted
from DeFinetti/ViaMartingale/FutureRectangles.lean (contractable_dist_eq) in the same repo,
reproved via the reindexing route below rather than the reference's rectangle π-system.
A contractable process has the same finite-dimensional block law as the corresponding prefix law along any strictly increasing finite index map.
The one-coordinate specialization of contractability.
The two-coordinate specialization of contractability.
Finite blocks of a contractable process are identically distributed. For a contractable
process X, any two strictly increasing finite coordinate selections have the same joint law.
Coordinates of a contractable process are identically distributed. For a contractable
process X, any two a.e. measurable coordinates X i and X j have the same law.
Integrability of an observable is a coordinate-free property. For a contractable process,
integrability of f ∘ X i for one coordinate i gives it for every coordinate j.
Membership in L^p is a coordinate-free property of an observable. For a contractable
process, MemLp (f ∘ X i) p for one coordinate i gives it for every coordinate j.
Increasing pairs of a contractable process are identically distributed. For a
contractable process X, if the four selected coordinates are a.e. measurable and i < j,
k < l, then (X i, X j) has the same joint law as (X k, X l).
Contractability is preserved by passing to a strictly increasing subsequence.
An exchangeable sequence has the prefix law along any injective finite selection:
blockLaw μ X k = prefixLaw μ X n for injective k : Fin n → ℕ.
Every exchangeable sequence with a.e. measurable coordinates is contractable: along any
strictly increasing finite selection k, blockLaw μ X k = prefixLaw μ X m. One direction of the
de Finetti–Ryll-Nardzewski equivalence.
A contractable process's path law is invariant under strictly monotone time-reindexing: for
StrictMono φ, the reindexing x ↦ x ∘ φ preserves pathLaw μ X.
Contractability is equivalent to invariance of the path law under every strictly increasing
time-reindexing ℕ → ℕ. This is the path-law form of spreadability/contractability.
Contractability is equivalent to preservation of the path law by every strictly increasing
time-reindexing ℕ → ℕ.
A strictly monotone reindexing leaves the path law alone. Reading a contractable process
along φ gives the same path law as reading it along the identity.
A contractable process has a shift-invariant path law: shift preserves pathLaw μ X.
Pair-law equality from contractability. For a contractable process, a strictly increasing
tail selection g, and two head indices j, k below the tail start g 0, the joint law of the
head coordinate X j with the tail (X (g 0), X (g 1), …) equals the joint law of X k with
the same tail:
μ.map (fun ω ↦ (X j ω, fun n ↦ X (g n) ω)) = μ.map (fun ω ↦ (X k ω, fun n ↦ X (g n) ω)).