Conditional-probability toolkit: pushforward, products, full-measure events #
Category: 1-Mathlib (CSD-free Mathlib upstream candidates).
Four small lemmas about ProbabilityTheory.cond that Mathlib does not currently provide:
cond_map— conditioning commutes with pushforward:cond (f_*μ) S = f_* (cond μ (f⁻¹S)).cond_prod_prod— conditioning a product measure on a product event conditions the factors independently.cond_eq_self— conditioning a probability measure on a full-measure event does nothing.cond_finsetSum— Bayes for finite mixtures: conditioning a finite mixture is the posterior-weighted mixture of the conditionings,cond (∑ⱼ cⱼ•μⱼ) S = ∑ⱼ (cⱼ·μⱼ(S) / (∑ₖ cₖ•μₖ)(S)) • cond μⱼ S. The degenerate cases ride theℝ≥0∞conventions: zero-mass components drop out of both sides, and a zero-mass (or infinite-mass) mixture makes both sides the zero measure.
Provenance #
cond_map/cond_prod_prod/cond_eq_self extracted 2026-08-02 from
CsdLean4/RecordLayer/JoinLuders.lean (the degenerate-Lüders conditioning bookkeeping);
cond_finsetSum added 2026-08-03 for the outcome-conditioned mixed update
(CsdLean4/RecordLayer/MixedLuders.lean). Staged here for upstream. Naming and import
discipline track Mathlib idiom; intended target Mathlib.Probability.ConditionalProbability.
Conditioning commutes with pushforward: cond (f_*μ) S = f_* (cond μ (f⁻¹S)).
Conditioning a product on a product event conditions the factors independently.
Conditioning a probability measure on a full-measure event does nothing.
Bayes for finite mixtures: conditioning a finite mixture of finite measures on an
event is the posterior-weighted mixture of the conditioned components — the posterior of
component j being its prior weight cⱼ times its likelihood μⱼ S, normalised by the
mixture's total mass on S. Zero-mass components contribute zero to both sides, and a
zero-mass mixture makes both sides the zero measure, so no positivity hypothesis is
needed.