Change of variables in the source of a composition-product #
Pulling a kernel back along a measurable map in its source, and pushing the resulting composition-product forward by that same map, is the same as moving the map onto the measure:
(μ ⊗ₘ κ.comap e he).map (Prod.map e id) = μ.map e ⊗ₘ κ
with the composition-level corollary (κ.comap e he) ∘ₘ μ = κ ∘ₘ μ.map e obtained by taking the
second marginal.
Mathlib has Kernel.comap and Measure.compProd but not their interaction. The statement is
proved on measurable rectangles, where both sides are the same integral after a change of
variables.
e need only be measurable #
An earlier private version of the first identity in Graphon.RelStepKernel asked for a measurable
equivalence. Nothing in the argument uses an inverse: the preimage step is definitional for
Prod.map e id, and setLIntegral_map needs only measurability. Consumers that want to cancel
the pushforward — to conclude equality of the arguments rather than of the images — need
MeasurableEmbedding e, but that is their hypothesis to carry, not this one's; surjectivity is
never used on either side.
Change of variables for ⊗ₘ in the source. Pushing μ ⊗ₘ κ.comap e forward by
e × id is μ.map e ⊗ₘ κ.
Change of variables for ∘ₘ in the source, the second marginal of
Measure.map_prodMap_compProd_comap.