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

Swap the coordinate order of a joint image law

AutoSamplingTheory.lawMapProdSwap · theorem · Teaching coverage

Statement

Let Ω,E,F be measurable spaces and P any measure on Ω. For measurable X:Ω→E and Y:Ω→F, pushing the joint law (X,Y)#P through coordinate swap gives the joint law (Y,X)#P.

\[\operatorname{swap}_\#((X,Y)_\#P)=(Y,X)_\#P.\]

All objects and hypotheses

  • Ω,E,F are arbitrary measurable spaces and P is any measure on Ω.
  • X:Ω→E and Y:Ω→F are both measurable, not merely assumed equal in law.

Notation and interpretation

Pushforward law

P is an arbitrary measure unless explicitly declared finite or a probability. The word law here abbreviates a pushforward measure; probability-language interpretations require normalization separately. Mathlib totalizes map to zero when X is not a.e. measurable; unqualified map-congruence and some law-space adapters intentionally retain that generality.

\[(X_\#\mu)(A)=\mu(X^{-1}A)\quad\text{when the measurable pushforward interpretation applies}\]

Mathematical proof

1. Compose the measurable maps

The pair map is measurable because both coordinates are. The projection or swap is measurable for product sigma-algebras, so consecutive pushforwards compose.

\[T_\#((X,Y)_\#P)=(T\circ(X,Y))_\#P.\]
Corresponding Lean step

Measure.map_map measurable_swap (hX.prod hY)

2. Evaluate the composite

The selected projection or swap of a pair gives precisely the displayed target map, pointwise on Ω.

\[\operatorname{swap}(X\omega,Y\omega)=(Y\omega,X\omega).\]
Corresponding Lean step

rfl

Lean statement · lawMapProdSwap

The two ordinary measurability hypotheses ensure this is genuine pushforward composition. The result identifies a measure, not a density.

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.

theorem lawMapProdSwap {Ω E F : Type*} [MeasurableSpace Ω]
    [MeasurableSpace E] [MeasurableSpace F]
    {P : Measure Ω} {X : Ω → E} {Y : Ω → F}
    (hX : Measurable X) (hY : Measurable Y) :
    Measure.map Prod.swap (Measure.map (fun ω => (X ω, Y ω)) P) =
      Measure.map (fun ω => (Y ω, X ω)) P

Exact module and namespace context

Lean proof · lawMapProdSwap

One rewrite composes the maps; the remaining equality follows directly from how a pair's projection or swap is defined.

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.

theorem lawMapProdSwap {Ω E F : Type*} [MeasurableSpace Ω]
    [MeasurableSpace E] [MeasurableSpace F]
    {P : Measure Ω} {X : Ω → E} {Y : Ω → F}
    (hX : Measurable X) (hY : Measurable Y) :
    Measure.map Prod.swap (Measure.map (fun ω => (X ω, Y ω)) P) =
      Measure.map (fun ω => (Y ω, X ω)) P := by
  rw [Measure.map_map measurable_swap (hX.prod hY)]
  rfl

/-- Mathlib orientation bridge between `condDistrib` and `condExpKernel`.

For the SALD conditional drift, instantiate `Y` with `X_k^eta` and `X` with
`hat X_s`: the conditional distribution of `X_k^eta` given `hat X_s` agrees
almost everywhere with the conditional-expectation kernel mapped by `X_k^eta`.
This is a local theorem from Mathlib's conditional-kernel backend, not a weak
Fokker--Planck or KL differentiability result.
-/

Exact module and namespace context

Scope and omitted-condition boundaries

  • P is an arbitrary measure unless explicitly declared finite or a probability. The word law here abbreviates a pushforward measure; probability-language interpretations require normalization separately.
  • Only orientation/marginal bookkeeping; no independence, conditional kernel, process or density construction.

Source and reuse

ASTIS parents called

    Mathlib API called (external library)

    • MeasureTheory.Measure.map_map
    • measurable_swap
    • Measurable.prod

    Mathematical sources

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