1. Alpha Mixing
Created: 2026-08-04 · Last updated: 2026-08-12
This note is the first in a series that will discuss the α mixing coefficient, or strong mixing coefficient. It's a convenient measure of dependence between random variables. My main reference the book E. Rio (2017).
Probability space.
To properly define the coefficient in Lean, we first introduce a probability space Ω with measure ℙ.
open MeasureTheory
open ProbabilityTheory
variable {Ω : Type*} [MeasureSpace Ω]
[IsProbabilityMeasure (ℙ : Measure Ω)]
The types of the elements of Ω are left unspecified: they could be real values or something more exotic.
Definition of α-mixing coefficient
The α-mixing coefficient between two σ-algebras 𝓐 and 𝓑 is defined by
\alpha(\mathcal{A} , \mathcal{B}) := 2\sup\{|\mathbb{P}(A \cap B) - \mathbb{P}(A)\mathbb{P}(B)| : (A,B) \in \mathcal{A} \times \mathcal{B}\}.
By default, the measure of a set, ℙ A say, is an extended non-negative real number ([0,∞], ℝ≥0∞ or ENNReal for short). Substractions on [0,∞] are not always well-defined. Thus, the slightly convoluted definition below: we cast everything to real numbers, take its absolute value, and then cast the result back up to ENNReal. The α-mixing coefficient is also ENNReal as the supremum of a possibly (as far as Lean knows) empty set.
noncomputable def αMixingCoeff
(𝓐 𝓑 : MeasurableSpace Ω) : ENNReal :=
2 * ⨆ (A : Set Ω) (B : Set Ω)
(_ : 𝓐.MeasurableSet' A) (_ : 𝓑.MeasurableSet' B),
ENNReal.ofReal
|Measure.real ℙ (A ∩ B) -
Measure.real ℙ A * Measure.real ℙ B|
The α-mixing coefficient measures the dependence between 𝓐 and 𝓑. For instance, α(𝓐, 𝓑) is zero iff 𝓐 and 𝓑 are independent.
example {𝓐 𝓑 : MeasurableSpace Ω} :
αMixingCoeff 𝓐 𝓑 = 0 ↔ Indep 𝓐 𝓑 := Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ αMixingCoeff 𝓐 𝓑 = 0 ↔ Indep 𝓐 𝓑 ℙ
Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ 2 *
⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| =
0 ↔
Indep 𝓐 𝓑 ℙ
Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ 2 *
⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| =
0 ↔
∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2
simp only [mul_eq_zero, OfNat.ofNat_ne_zero, false_or,
ENNReal.iSup_eq_zero, ENNReal.ofReal_eq_zero,
abs_nonpos_iff, sub_eq_zero] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ (∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i →
MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1) ↔
∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2
constructor mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ (∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i →
MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1) →
∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ (∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2) →
∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1 <;> mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ (∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i →
MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1) →
∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ω⊢ (∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2) →
∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1 intro h A B hA hB mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ ℙ.real (A ∩ B) = ℙ.real A * ℙ.real B
· mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet B⊢ ℙ (A ∩ B) = ℙ A * ℙ B have heq := h A B hA hB mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:ℙ.real (A ∩ B) = ℙ.real A * ℙ.real B⊢ ℙ (A ∩ B) = ℙ A * ℙ B
rw [measureReal_def, mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:(ℙ (A ∩ B)).toReal = ℙ.real A * ℙ.real B⊢ ℙ (A ∩ B) = ℙ A * ℙ B measureReal_def, mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:(ℙ (A ∩ B)).toReal = (ℙ A).toReal * ℙ.real B⊢ ℙ (A ∩ B) = ℙ A * ℙ B measureReal_def, mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:(ℙ (A ∩ B)).toReal = (ℙ A).toReal * (ℙ B).toReal⊢ ℙ (A ∩ B) = ℙ A * ℙ B
← ENNReal.toReal_mul mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:(ℙ (A ∩ B)).toReal = (ℙ A * ℙ B).toReal⊢ ℙ (A ∩ B) = ℙ A * ℙ B] at heq mp Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (i i_1 : Set Ω),
MeasurableSpace.MeasurableSet' 𝓐 i → MeasurableSpace.MeasurableSet' 𝓑 i_1 → ℙ.real (i ∩ i_1) = ℙ.real i * ℙ.real i_1A:Set ΩB:Set ΩhA:MeasurableSet AhB:MeasurableSet Bheq:(ℙ (A ∩ B)).toReal = (ℙ A * ℙ B).toReal⊢ ℙ (A ∩ B) = ℙ A * ℙ B
exact (ENNReal.toReal_eq_toReal_iff'
(measure_ne_top ℙ (A ∩ B))
(ENNReal.mul_ne_top (measure_ne_top ℙ A)
(measure_ne_top ℙ B))).mp heq All goals completed! 🐙
· mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ ℙ.real (A ∩ B) = ℙ.real A * ℙ.real B rw [measureReal_def, mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ (ℙ (A ∩ B)).toReal = ℙ.real A * ℙ.real B measureReal_def, mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ (ℙ (A ∩ B)).toReal = (ℙ A).toReal * ℙ.real B measureReal_def, mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ (ℙ (A ∩ B)).toReal = (ℙ A).toReal * (ℙ B).toReal
h A B hA hB, mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ (ℙ A * ℙ B).toReal = (ℙ A).toReal * (ℙ B).toReal ENNReal.toReal_mul mpr Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace Ωh:∀ (t1 t2 : Set Ω), MeasurableSet t1 → MeasurableSet t2 → ℙ (t1 ∩ t2) = ℙ t1 * ℙ t2A:Set ΩB:Set ΩhA:MeasurableSpace.MeasurableSet' 𝓐 AhB:MeasurableSpace.MeasurableSet' 𝓑 B⊢ (ℙ A).toReal * (ℙ B).toReal = (ℙ A).toReal * (ℙ B).toReal] All goals completed! 🐙
On the other end of the spectrum, the maximum value is 1/2. We start with an intermediate lemma to handle a simple arithmetic operation in ENNReal.
lemma ennreal_two_mul_quarter :
(2:ENNReal) * (1/4) = 1/2 := by ⊢ 2 * (1 / 4) = 1 / 2
rw [← ENNReal.toReal_eq_toReal_iff' (by ⊢ 2 * (1 / 4) ≠ ⊤ finiteness All goals completed! 🐙)
(by ⊢ 1 / 2 ≠ ⊤ finiteness All goals completed! 🐙),
ENNReal.toReal_mul ⊢ ENNReal.toReal 2 * (1 / 4).toReal = (1 / 2).toReal] ⊢ ENNReal.toReal 2 * (1 / 4).toReal = (1 / 2).toReal
norm_num All goals completed! 🐙
Now the nice lemma with the ugly proof.
example {𝓐 𝓑 : MeasurableSpace Ω}
(hBmeas : 𝓑 ≤ MeasureSpace.toMeasurableSpace) :
αMixingCoeff 𝓐 𝓑 ≤ 1/2 := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
unfold αMixingCoeff Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ 2 *
⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
1 / 2
rw [← ennreal_two_mul_quarter Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ 2 *
⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
2 * (1 / 4)] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ 2 *
⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
2 * (1 / 4)
apply mul_le_mul' le_rfl Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ ⨆ A,
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
1 / 4
apply iSup_le Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ ∀ (i : Set Ω),
⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 i),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (i ∩ B) - ℙ.real i * ℙ.real B| ≤
1 / 4; intro A Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set Ω⊢ ⨆ B,
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
1 / 4
apply iSup_le Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set Ω⊢ ∀ (i : Set Ω),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 i), ENNReal.ofReal |ℙ.real (A ∩ i) - ℙ.real A * ℙ.real i| ≤
1 / 4; intro B Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ω⊢ ⨆ (_ : MeasurableSpace.MeasurableSet' 𝓐 A),
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤
1 / 4
apply iSup_le Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ω⊢ MeasurableSpace.MeasurableSet' 𝓐 A →
⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤ 1 / 4; intro _ Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 A⊢ ⨆ (_ : MeasurableSpace.MeasurableSet' 𝓑 B), ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤ 1 / 4
apply iSup_le Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 A⊢ MeasurableSpace.MeasurableSet' 𝓑 B → ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤ 1 / 4; intro hB' Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 B⊢ ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤ 1 / 4
have hB : @MeasurableSet Ω
MeasureSpace.toMeasurableSpace B := hBmeas B hB' Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet B⊢ ENNReal.ofReal |ℙ.real (A ∩ B) - ℙ.real A * ℙ.real B| ≤ 1 / 4
set p := Measure.real ℙ A Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real A⊢ ENNReal.ofReal |ℙ.real (A ∩ B) - p * ℙ.real B| ≤ 1 / 4
set q := Measure.real ℙ B Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real B⊢ ENNReal.ofReal |ℙ.real (A ∩ B) - p * q| ≤ 1 / 4
set r := Measure.real ℙ (A ∩ B) Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hrp : r ≤ p :=
measureReal_mono Set.inter_subset_left Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ p⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hrq : r ≤ q :=
measureReal_mono Set.inter_subset_right Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ q⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hp0 : 0 ≤ p := measureReal_nonneg Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ p⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hq0 : 0 ≤ q := measureReal_nonneg Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ q⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hp1 : p ≤ 1 := measureReal_le_one Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hq1 : q ≤ 1 := measureReal_le_one Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hr0 : 0 ≤ r := measureReal_nonneg Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hunion : Measure.real ℙ (A ∪ B) + r = p + q := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
show Measure.real ℙ (A ∪ B) + Measure.real ℙ (A ∩ B)
= Measure.real ℙ A + Measure.real ℙ B Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ ℙ.real (A ∪ B) + ℙ.real (A ∩ B) = ℙ.real A + ℙ.real B
simp only [measureReal_def] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ (ℙ (A ∪ B)).toReal + (ℙ (A ∩ B)).toReal = (ℙ A).toReal + (ℙ B).toReal
rw [← ENNReal.toReal_add (measure_ne_top ℙ (A ∪ B))
(measure_ne_top ℙ (A ∩ B)), Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ (ℙ (A ∪ B) + ℙ (A ∩ B)).toReal = (ℙ A).toReal + (ℙ B).toReal
measure_union_add_inter A hB, Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ (ℙ A + ℙ B).toReal = (ℙ A).toReal + (ℙ B).toReal
ENNReal.toReal_add (measure_ne_top ℙ A)
(measure_ne_top ℙ B) Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ r⊢ (ℙ A).toReal + (ℙ B).toReal = (ℙ A).toReal + (ℙ B).toReal] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + q⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hsum2 : p + q - r ≤ 1 := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
have h1 : Measure.real ℙ (A ∪ B) ≤ 1 :=
measureReal_le_one Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qh1:ℙ.real (A ∪ B) ≤ 1⊢ p + q - r ≤ 1
linarith [hunion] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hpq_sub_r_le : p * q - r ≤ 1/4 := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
nlinarith [sq_nonneg (2*q - 1),
mul_nonneg hp0 (sub_nonneg.mpr hq1)] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hr_sub_pq_le : r - p * q ≤ 1/4 := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
nlinarith [sq_nonneg (2*q - 1), sq_nonneg (2*p - 1),
mul_nonneg hp0 (sub_nonneg.mpr hq1),
mul_nonneg hq0 (sub_nonneg.mpr hp1),
mul_nonneg (sub_nonneg.mpr hrp) (sub_nonneg.mpr hrq)] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have habs : |r - p * q| ≤ 1/4 :=
abs_le.mpr ⟨by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4⊢ -(1 / 4) ≤ r - p * q linarith All goals completed! 🐙, by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4⊢ r - p * q ≤ 1 / 4 linarith All goals completed! 🐙⟩ Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
have hq4 : (1/4:ENNReal) = ENNReal.ofReal (1/4) := by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpace⊢ αMixingCoeff 𝓐 𝓑 ≤ 1 / 2
rw [ENNReal.ofReal_div_of_pos (by Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4⊢ 0 < 4 norm_num All goals completed! 🐙)] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4⊢ 1 / 4 = ENNReal.ofReal 1 / ENNReal.ofReal 4; norm_num Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4hq4:1 / 4 = ENNReal.ofReal (1 / 4)⊢ ENNReal.ofReal |r - p * q| ≤ 1 / 4
rw [hq4 Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4hq4:1 / 4 = ENNReal.ofReal (1 / 4)⊢ ENNReal.ofReal |r - p * q| ≤ ENNReal.ofReal (1 / 4)] Ω:Type u_1inst✝¹:MeasureSpace Ωinst✝:IsProbabilityMeasure ℙ𝓐:MeasurableSpace Ω𝓑:MeasurableSpace ΩhBmeas:𝓑 ≤ inst✝¹.toMeasurableSpaceA:Set ΩB:Set Ωi✝:MeasurableSpace.MeasurableSet' 𝓐 AhB':MeasurableSpace.MeasurableSet' 𝓑 BhB:MeasurableSet Bp:ℝ := ℙ.real Aq:ℝ := ℙ.real Br:ℝ := ℙ.real (A ∩ B)hrp:r ≤ phrq:r ≤ qhp0:0 ≤ phq0:0 ≤ qhp1:p ≤ 1hq1:q ≤ 1hr0:0 ≤ rhunion:ℙ.real (A ∪ B) + r = p + qhsum2:p + q - r ≤ 1hpq_sub_r_le:p * q - r ≤ 1 / 4hr_sub_pq_le:r - p * q ≤ 1 / 4habs:|r - p * q| ≤ 1 / 4hq4:1 / 4 = ENNReal.ofReal (1 / 4)⊢ ENNReal.ofReal |r - p * q| ≤ ENNReal.ofReal (1 / 4)
exact ENNReal.ofReal_le_ofReal habs All goals completed! 🐙
I'm sure the proof could be shorter and more readable with a better definition. What I've tried before:
-
expressing the strong mixing coefficient as the covariance of indicator functions;
-
staying in the ENNReal domain instead of casting to Real.
None of those approaches gave simpler proofs, so I stuck to the one you can read now.
In the next note, we'll introduce the strong mixing coefficient between two random variables.
References
-
Rio, E. (2017). Asymptotic Theory of Weakly Dependent Random Processes. In Probability Theory and Stochastic Modeling. Springer Berlin Heidelberg. 10.1007/978-3-662-54323-8