ProbabilityTheory.identDistrib_of_forall_identDistrib_cond
From the authors
Two random variables which are identically distributed conditionally on each atom of a countable measurable partition are identically distributed.
-
Ω : Type u_1mΩ : MeasurableSpace ΩA measurable space is a space equipped with a σ-algebra. -
𝓧 : Type u_2m𝓧 : MeasurableSpace 𝓧 -
ι : Type u_3Countable ιA typeαis countable if there exists an injective mapα → ℕ.mι : MeasurableSpace ιMeasurableSingletonClass ιA typeclass mixin forMeasurableSpaces such that each singleton is measurable.
-
P : MeasureTheory.Measure ΩA measure is defined to be an outer measure that is countably additive on measurable sets, with the additional assumption that the outer measure is the canonical extension of the restricted measure.MeasureTheory.IsFiniteMeasure PA measureμis called finite ifμ univ < ∞. -
g : Ω → ι -
X : Ω → 𝓧 -
Y : Ω → 𝓧
-
hg : Measurable gA functionfbetween measurable spaces is measurable if the preimage of every measurable set is measurable. -
hX : Measurable X -
hY : Measurable Y -
h : ∀ (i : ι), IdentDistrib X Y P[|g ⁻¹' {i}] P[|g ⁻¹' {i}]Two functions defined on two (possibly different) measure spaces are identically distributed if their image measures coincide.
IdentDistrib X Y P PMeasurableSpace : Type u_6 → Type u_6A measurable space is a space equipped with a σ-algebra.
Countable : Sort u → PropA type `α` is countable if there exists an injective map `α → ℕ`.
MeasurableSingletonClass : (α : Type u_6) → [MeasurableSpace α] → PropA typeclass mixin for `MeasurableSpace`s such that each singleton is measurable.
MeasureTheory.IsFiniteMeasure : {α : Type u_1} → {m0 : MeasurableSpace α} → MeasureTheory.Measure α → PropA measure `μ` is called finite if `μ univ < ∞`.
MeasureTheory.Measure : (α : Type u_5) → [MeasurableSpace α] → Type u_5A measure is defined to be an outer measure that is countably additive on measurable sets, with the additional assumption that the outer measure is the canonical extension of the restricted measure. The measure of a set `s`, denoted `μ s`, is an extended nonnegative real. The real-valued version is written `μ.real s`.
Measurable : {α : Type u_1} → {β : Type u_2} → [MeasurableSpace α] → [MeasurableSpace β] → (α → β) → PropA function `f` between measurable spaces is measurable if the preimage of every measurable set is measurable.
ProbabilityTheory.IdentDistrib : {α : Type u_1} →
{β : Type u_2} →
{γ : Type u_3} →
[inst : MeasurableSpace α] →
[inst_1 : MeasurableSpace β] →
[MeasurableSpace γ] →
(α → γ) →
(β → γ) →
autoParam (MeasureTheory.Measure α) ProbabilityTheory.IdentDistrib._auto_1 →
autoParam (MeasureTheory.Measure β) ProbabilityTheory.IdentDistrib._auto_3 → Pro…Two functions defined on two (possibly different) measure spaces are identically distributed if their image measures coincide. This only makes sense when the functions are ae measurable (as otherwise the image measures are not defined), so we require this as well in the definition.
ProbabilityTheory.cond : {Ω : Type u_1} → {m : MeasurableSpace Ω} → MeasureTheory.Measure Ω → Set Ω → MeasureTheory.Measure ΩThe conditional probability measure of measure `μ` on set `s` is `μ` restricted to `s` and scaled by the inverse of `μ s` (to make it a probability measure): `(μ s)⁻¹ • μ.restrict s`.
Set.preimage : {α : Type u} → {β : Type v} → (α → β) → Set β → Set αThe preimage of `s : Set β` by `f : α → β`, written `f ⁻¹' s`, is the set of `x : α` such that `f x ∈ s`.
Singleton.singleton : {α : outParam (Type u)} → {β : Type v} → [self : Singleton α β] → α → β`singleton x` is a collection with the single element `x` (notation: `{x}`).
Conventions for notations in identifiers:
* The recommended spelling of `{x}` in identifiers is `singleton`.Code
lemma identDistrib_of_forall_identDistrib_cond [IsFiniteMeasure P] {g : Ω → ι}
(hg : Measurable g) {X Y : Ω → 𝓧} (hX : Measurable X) (hY : Measurable Y)
(h : ∀ i, IdentDistrib X Y P[|g ⁻¹' {i}] P[|g ⁻¹' {i}]) :
IdentDistrib X Y P P where
aemeasurable_fstProof
hX.aemeasurable
aemeasurable_snd := hY.aemeasurable
map_eq := by
ext s hs
rw [Measure.map_apply hX hs, Measure.map_apply hY hs]
have h_union (t : Set Ω) : t = ⋃ i, t ∩ g ⁻¹' {i} := by ext; simp
have h_disj (t : Set Ω) : Pairwise (Function.onFun Disjoint fun i ↦ t ∩ g ⁻¹' {i}) := by
intro i j hij
rw [Function.onFun, Set.disjoint_left]
rintro x ⟨-, hi⟩ ⟨-, hj⟩
exact hij ((show g x = i from hi).symm.trans hj)
rw [h_union (X ⁻¹' s), h_union (Y ⁻¹' s),
measure_iUnion (h_disj _) fun i ↦ (hs.preimage hX).inter (hg (measurableSet_singleton i)),
measure_iUnion (h_disj _) fun i ↦ (hs.preimage hY).inter (hg (measurableSet_singleton i))]
refine tsum_congr fun i ↦ ?_
rw [Set.inter_comm, ← cond_mul_eq_inter (hg (measurableSet_singleton i)),
Set.inter_comm _ (g ⁻¹' {i}), ← cond_mul_eq_inter (hg (measurableSet_singleton i)),
← Measure.map_apply hX hs, ← Measure.map_apply hY hs, (h i).map_eq]Meaning last changed in v4.34.0-rc2-76-g565f652 (2026-09-10).
Self-contained, with its dependencies inlined and proofs replaced by sorry: download the raw file · open it in the Lean web editor.
Dependency graph
Nothing to draw. Its statement rests on no other declaration in this project, and names nothing from a package left unaudited — so the graph is this declaration alone. That is the answer, not a missing picture.
Audit surface: 0 project declarations, 12 external constants
✓ Proved: no sorry anywhere in its closure
This is the tool's own reading of one build's recorded axioms, and it is not robust against an author who wants it to pass. Checking meant to be relied on should go through Comparator, which replays the proof through the kernel from an export against an explicit list of permitted axioms.