Skip to content

Commit fdbd372

Browse files
author
Joris van Winden
committed
write partial proof
1 parent ec65f5a commit fdbd372

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
import Mathlib.Probability.HasLaw
2+
import Mathlib.Probability.IdentDistrib
3+
import Mathlib.Probability.ProductMeasure
4+
import Mathlib.Probability.Independence.InfinitePi
5+
6+
open MeasureTheory ProbabilityTheory Filter
7+
8+
/--
9+
If the push-forward measure of `(X, Y)` assigns zero mass to the complement
10+
of the diagonal, then `X = Y` almost everywhere.
11+
-/
12+
lemma ae_eq_of_map_supported_diagonal
13+
{Ω : Type*} {α : Type*} [MeasurableSpace Ω] [MeasurableSpace α] [MeasurableEq α] {μ : Measure Ω}
14+
{X Y : Ω → α} (hX : Measurable X) (hY : Measurable Y)
15+
(h : μ.map (fun ω => (X ω, Y ω)) (Set.diagonal α)ᶜ = 0) :
16+
X =ᵐ[μ] Y := by
17+
rw [Measure.map_apply (by measurability) (by measurability)] at h
18+
simpa
19+
20+
lemma ae_eq_iff_map_meas_diag_comp_zero
21+
{Ω : Type*} {α : Type*} [MeasurableSpace Ω] [MeasurableSpace α] [MeasurableEq α] {μ : Measure Ω}
22+
{X Y : Ω → α} (hX : Measurable X) (hY : Measurable Y) :
23+
X =ᵐ[μ] Y ↔ (μ.map (fun ω => (X ω, Y ω)) (Set.diagonal α)ᶜ = 0) := by
24+
refine ⟨fun h ↦ ?_, fun h ↦ ?_⟩
25+
· sorry
26+
· rw [Measure.map_apply (by measurability) (by measurability)] at h
27+
simpa
28+
29+
30+
abbrev V := ℝ
31+
instance : MeasurableSpace V := inferInstance
32+
33+
variable (ρ : Measure V) [IsProbabilityMeasure ρ]
34+
35+
noncomputable section
36+
37+
38+
39+
-- our probability space, consisting of infinite copies of V
40+
def Ω := (ℕ → V)
41+
42+
abbrev U₁ := (ℕ → V)
43+
abbrev U₂ := V
44+
45+
-- product σ-algebra
46+
instance : MeasurableSpace Ω := .pi
47+
-- product measure
48+
noncomputable def θ : Measure Ω := MeasureTheory.Measure.infinitePi (fun _ ↦ ρ)
49+
50+
instance : IsProbabilityMeasure (θ ρ) := by apply Measure.instIsProbabilityMeasureForallInfinitePi
51+
52+
-- the random varialbe A, which is just the identity
53+
abbrev A : Ω → U₁ := id
54+
-- the random varialbe B n is the n-th component of A
55+
abbrev B (n : ℕ) (ω : Ω) : U₂ := ω n
56+
57+
-- the sequence of measures μ n which will form the contradiction
58+
example n : Measurable (fun ω ↦ (A ω, B n ω)) := by measurability
59+
60+
def μ n := (θ ρ).map (fun ω ↦ (A ω, B n ω))
61+
62+
lemma hasLaw_proj_A (n : ℕ) : HasLaw (fun ω ↦ A ω n) ρ (θ ρ) := by
63+
sorry
64+
65+
-- theorem: μ n converges weakly to θ
66+
67+
-- theorem: if the strong skorokhod theorem conclusion holds, then ρ is a dirac measure
68+
theorem measure_const_of_strong_skorokhod
69+
(Ω' : Type*) [MeasurableSpace Ω'] {P' : Measure Ω'}
70+
(A' : Ω' → U₁)
71+
(B' : ℕ → Ω' → U₂)
72+
(B'_lim : Ω' → U₂)
73+
(hmeas : Measurable A' ∧ ∀ n, Measurable (B' n) ∧ Measurable B'_lim)
74+
(h_law : ∀ n, IdentDistrib (fun ω ↦ (A ω, B n ω)) (fun ω' ↦ (A' ω', B' n ω')) (θ ρ) P')
75+
(h_conv : ∀ᵐ ω' ∂P', Tendsto (fun n ↦ B' n ω') atTop (nhds (B'_lim ω'))) :
76+
∃ x : V, ρ = Measure.dirac x := by
77+
-- the n-th component of A' agrees a.s. with B' n
78+
have : ∀ n, ∀ᵐ ω' ∂P', A' ω' n = B' n ω' := by
79+
intro n
80+
rw [← Filter.EventuallyEq]
81+
rw [ae_eq_iff_map_meas_diag_comp_zero (by measurability) (by measurability)]
82+
have : IdentDistrib (fun ω ↦ (A ω n, B n ω)) (fun ω' ↦ (A' ω' n, B' n ω')) (θ ρ) P' :=
83+
(h_law n).comp (u := fun (u, v) ↦ ((u n, v))) (by measurability)
84+
rw [← this.map_eq, ← ae_eq_iff_map_meas_diag_comp_zero (by measurability) (by measurability)]
85+
simp
86+
-- the joint law of B' n × B' m is ρ × ρ
87+
have : ∀ n m, n ≠ m → HasLaw (fun ω' ↦ (B' n ω', B' m ω')) (Measure.prod ρ ρ) P' := by
88+
intro n m hmn
89+
have : ∀ᵐ ω' ∂P', (B' n ω', B' m ω') = (A' ω' n, A' ω' m) := by
90+
filter_upwards [this n, this m] with ω' hω'1 hω'2 using by aesop
91+
rw [← Filter.EventuallyEq] at this
92+
apply HasLaw.congr _ this
93+
have : IdentDistrib (fun ω ↦ (A ω n, A ω m)) (fun ω' ↦ (A' ω' n, A' ω' m)) (θ ρ) P' :=
94+
(h_law 0).comp (u := fun (u, v) ↦ (u n, u m)) (by measurability)
95+
apply this.hasLaw
96+
apply IndepFun.hasLaw_prod
97+
· apply hasLaw_proj_A
98+
· apply hasLaw_proj_A
99+
apply iIndepFun.indepFun (f := fun n ω ↦ A ω n)
100+
· apply ProbabilityTheory.iIndepFun_infinitePi (X := fun n v ↦ v)
101+
measurability
102+
exact hmn
103+
-- ρ × ρ is concentrated on the diagonal
104+
have : (Measure.prod ρ ρ) (Set.diagonal V) = 1 := by
105+
sorry
106+
-- thus ρ is a dirac measure
107+
sorry
108+
109+
end

0 commit comments

Comments
 (0)