|
| 1 | +/- |
| 2 | +Copyright (c) 2025 Kexing Ying. All rights reserved. |
| 3 | +Released under Apache 2.0 license as described in the file LICENSE. |
| 4 | +Authors: Kexing Ying |
| 5 | +-/ |
| 6 | +import Mathlib.Probability.Process.Adapted |
| 7 | + |
| 8 | +/-! |
| 9 | +# Predictable Ο-algebra |
| 10 | +
|
| 11 | +This file defines the predictable Ο-algebra associated to a filtration, as well as the |
| 12 | +notion of predictable processes. We prove that predictable processes are progressively measurable |
| 13 | +and adapted. We also give an equivalent characterization of predictability for discrete processes. |
| 14 | +
|
| 15 | +## Main definitions |
| 16 | +
|
| 17 | +* `Filtration.predictable` : The predictable Ο-algebra associated to a filtration. |
| 18 | +* `IsPredictable` : A process is predictable if it is measurable with respect to the |
| 19 | + predictable Ο-algebra. |
| 20 | +
|
| 21 | +## Main results |
| 22 | +
|
| 23 | +* `IsPredictable.progMeasurable` : A predictable process is progressively measurable. |
| 24 | +* `isPredictable_iff_measurable_add_one` : `u` is a discrete predictable process iff |
| 25 | + `u (n + 1)` is `π n`-measurable and `u 0` is `π 0`-measurable. |
| 26 | +
|
| 27 | +## Tags |
| 28 | +
|
| 29 | +predictable, previsible |
| 30 | +
|
| 31 | +-/ |
| 32 | + |
| 33 | +open Filter Order TopologicalSpace |
| 34 | + |
| 35 | +open scoped MeasureTheory NNReal ENNReal Topology |
| 36 | + |
| 37 | +namespace MeasureTheory |
| 38 | + |
| 39 | +variable {Ξ© ΞΉ : Type*} {m : MeasurableSpace Ξ©} {E : Type*} [TopologicalSpace E] |
| 40 | + |
| 41 | +section |
| 42 | + |
| 43 | +variable [Preorder ΞΉ] [OrderBot ΞΉ] |
| 44 | + |
| 45 | +namespace Filtration |
| 46 | + |
| 47 | +/-- Given a filtration `π`, the predictable Ο-algebra is the Ο-algebra on `ΞΉ Γ Ξ©` generated by |
| 48 | +sets of the form `(t, β) Γ A` for `t β ΞΉ` and `A β π t` and `{β₯} Γ A` for `A β π β₯`. -/ |
| 49 | +def predictable (π : Filtration ΞΉ m) : MeasurableSpace (ΞΉ Γ Ξ©) := |
| 50 | + MeasurableSpace.generateFrom <| |
| 51 | + {s | β A, MeasurableSet[π β₯] A β§ s = {β₯} ΓΛ’ A} βͺ |
| 52 | + {s | β i A, MeasurableSet[π i] A β§ s = Set.Ioi i ΓΛ’ A} |
| 53 | + |
| 54 | +end Filtration |
| 55 | + |
| 56 | +/-- A process is said to be predictable if it is measurable with respect to the predictable |
| 57 | +Ο-algebra. -/ |
| 58 | +def IsPredictable (π : Filtration ΞΉ m) (u : ΞΉ β Ξ© β E) := |
| 59 | + StronglyMeasurable[π.predictable] <| Function.uncurry u |
| 60 | + |
| 61 | +end |
| 62 | + |
| 63 | +lemma measurableSet_predictable_singleton_bot_prod [LinearOrder ΞΉ] [OrderBot ΞΉ] |
| 64 | + {π : Filtration ΞΉ m} {s : Set Ξ©} (hs : MeasurableSet[π β₯] s) : |
| 65 | + MeasurableSet[π.predictable] <| {β₯} ΓΛ’ s := |
| 66 | + MeasurableSpace.measurableSet_generateFrom <| Or.inl β¨s, hs, rflβ© |
| 67 | + |
| 68 | +lemma measurableSet_predictable_Ioi_prod [LinearOrder ΞΉ] [OrderBot ΞΉ] |
| 69 | + {π : Filtration ΞΉ m} {i : ΞΉ} {s : Set Ξ©} (hs : MeasurableSet[π i] s) : |
| 70 | + MeasurableSet[π.predictable] <| Set.Ioi i ΓΛ’ s := |
| 71 | + MeasurableSpace.measurableSet_generateFrom <| Or.inr β¨i, s, hs, rflβ© |
| 72 | + |
| 73 | +/-- Sets of the form `(i, j] Γ A` for any `A β π i` are measurable with respect to the predictable |
| 74 | +Ο-algebra. -/ |
| 75 | +lemma measurableSet_predictable_Ioc_prod [LinearOrder ΞΉ] [OrderBot ΞΉ] |
| 76 | + {π : Filtration ΞΉ m} (i j : ΞΉ) {s : Set Ξ©} (hs : MeasurableSet[π i] s) : |
| 77 | + MeasurableSet[π.predictable] <| Set.Ioc i j ΓΛ’ s := by |
| 78 | + obtain hij | hij := le_total j i |
| 79 | + Β· simp [hij] |
| 80 | + Β· rw [β Set.Ioi_diff_Ioi, (by simp : (Set.Ioi i \ Set.Ioi j) ΓΛ’ s |
| 81 | + = Set.Ioi i ΓΛ’ (s \ s) βͺ (Set.Ioi i \ Set.Ioi j) ΓΛ’ s), β Set.prod_diff_prod] |
| 82 | + exact (measurableSet_predictable_Ioi_prod hs).diff |
| 83 | + (measurableSet_predictable_Ioi_prod <| π.mono hij _ hs) |
| 84 | + |
| 85 | +lemma measurableSpace_le_predictable_of_measurableSet [Preorder ΞΉ] [OrderBot ΞΉ] |
| 86 | + {π : Filtration ΞΉ m} {m' : MeasurableSpace (ΞΉ Γ Ξ©)} |
| 87 | + (hm'bot : β A, MeasurableSet[π β₯] A β MeasurableSet[m'] ({β₯} ΓΛ’ A)) |
| 88 | + (hm' : β i A, MeasurableSet[π i] A β MeasurableSet[m'] ((Set.Ioi i) ΓΛ’ A)) : |
| 89 | + π.predictable β€ m' := by |
| 90 | + refine MeasurableSpace.generateFrom_le ?_ |
| 91 | + rintro - (β¨A, hA, rflβ© | β¨i, A, hA, rflβ©) |
| 92 | + Β· exact hm'bot A hA |
| 93 | + Β· exact hm' i A hA |
| 94 | + |
| 95 | +namespace IsPredictable |
| 96 | + |
| 97 | +open Filtration |
| 98 | + |
| 99 | +variable [LinearOrder ΞΉ] [OrderBot ΞΉ] [MeasurableSpace ΞΉ] [TopologicalSpace ΞΉ] |
| 100 | + [OpensMeasurableSpace ΞΉ] [OrderClosedTopology ΞΉ] |
| 101 | + [MetrizableSpace E] [MeasurableSpace E] [BorelSpace E] [SecondCountableTopology E] |
| 102 | + |
| 103 | +/-- A predictable process is progressively measurable. -/ |
| 104 | +lemma progMeasurable {π : Filtration ΞΉ m} {u : ΞΉ β Ξ© β E} (hπ : IsPredictable π u) : |
| 105 | + ProgMeasurable π u := by |
| 106 | + refine fun i β¦ Measurable.stronglyMeasurable ?_ |
| 107 | + rw [IsPredictable, stronglyMeasurable_iff_measurable, measurable_iff_comap_le] at hπ |
| 108 | + rw [measurable_iff_comap_le, (by aesop : (fun (p : Set.Iic i Γ Ξ©) β¦ u (p.1) p.2) |
| 109 | + = Function.uncurry u β (fun p β¦ (p.1, p.2))), β MeasurableSpace.comap_comp] |
| 110 | + refine (MeasurableSpace.comap_mono hπ).trans <| MeasurableSpace.comap_le_iff_le_map.2 <| |
| 111 | + measurableSpace_le_predictable_of_measurableSet ?_ ?_ |
| 112 | + Β· intros A hA |
| 113 | + simp only [MeasurableSpace.map_def, |
| 114 | + (by aesop : (fun (p : Set.Iic i Γ Ξ©) β¦ ((p.1 : ΞΉ), p.2)) β»ΒΉ' ({β₯} ΓΛ’ A) = {β₯} ΓΛ’ A)] |
| 115 | + exact (measurableSet_singleton _).prod <| π.mono bot_le _ hA |
| 116 | + Β· intros j A hA |
| 117 | + simp only [MeasurableSpace.map_def] |
| 118 | + obtain hji | hij := le_total j i |
| 119 | + Β· rw [(by grind : (fun (p : Set.Iic i Γ Ξ©) β¦ ((p.1 : ΞΉ), p.2)) β»ΒΉ' Set.Ioi j ΓΛ’ A |
| 120 | + = (Subtype.val β»ΒΉ' (Set.Ioc j i)) ΓΛ’ A)] |
| 121 | + exact (measurable_subtype_coe measurableSet_Ioc).prod (π.mono hji _ hA) |
| 122 | + Β· simp [(by grind : (fun (p : Set.Iic i Γ Ξ©) β¦ ((p.1 : ΞΉ), p.2)) β»ΒΉ' Set.Ioi j ΓΛ’ A = β
)] |
| 123 | + |
| 124 | +/-- A predictable process is adapted. -/ |
| 125 | +lemma adapted {π : Filtration ΞΉ m} {u : ΞΉ β Ξ© β E} (hπ : IsPredictable π u) : |
| 126 | + Adapted π u := |
| 127 | + hπ.progMeasurable.adapted |
| 128 | + |
| 129 | +omit [SecondCountableTopology E] in |
| 130 | +lemma measurableSet_prodMk_add_one_of_predictable {π : Filtration β m} {s : Set (β Γ Ξ©)} |
| 131 | + (hs : MeasurableSet[π.predictable] s) (n : β) : |
| 132 | + MeasurableSet[π n] {Ο | (n + 1, Ο) β s} := by |
| 133 | + rw [(by aesop : {Ο | (n + 1, Ο) β s} = (Prod.mk (Ξ± := Set.singleton (n + 1)) (Ξ² := Ξ©) |
| 134 | + β¨n + 1, rflβ©) β»ΒΉ' ((fun (p : Set.singleton (n + 1) Γ Ξ©) β¦ ((p.1 : β), p.2)) β»ΒΉ' s))] |
| 135 | + refine measurableSet_preimage (mΞ² := Subtype.instMeasurableSpace.prod (π n)) |
| 136 | + measurable_prodMk_left <| measurableSet_preimage ?_ hs |
| 137 | + rw [measurable_iff_comap_le, MeasurableSpace.comap_le_iff_le_map] |
| 138 | + refine MeasurableSpace.generateFrom_le ?_ |
| 139 | + rintro - (β¨A, hA, rflβ© | β¨i, A, hA, rflβ©) |
| 140 | + Β· rw [MeasurableSpace.map_def, |
| 141 | + (_ : (fun (p : Set.singleton (n + 1) Γ Ξ©) β¦ ((p.1 : β), p.2)) β»ΒΉ' ({β₯} ΓΛ’ A) = β
)] |
| 142 | + Β· simp |
| 143 | + Β· ext p |
| 144 | + simp only [Nat.bot_eq_zero, Set.mem_preimage, Set.mem_prod, Set.mem_singleton_iff, |
| 145 | + Set.mem_empty_iff_false, iff_false, not_and] |
| 146 | + exact fun hp1 β¦ False.elim <| Nat.succ_ne_zero n (hp1 βΈ p.1.2.symm) |
| 147 | + Β· rw [MeasurableSpace.map_def] |
| 148 | + obtain hni | hin := lt_or_ge n i |
| 149 | + Β· rw [(_ : (fun (p : Set.singleton (n + 1) Γ Ξ©) β¦ ((p.1 : β), p.2)) β»ΒΉ' (Set.Ioi i ΓΛ’ A) = β
)] |
| 150 | + Β· simp |
| 151 | + Β· ext p |
| 152 | + simp only [Set.mem_preimage, Set.mem_prod, Set.mem_Ioi, Set.mem_empty_iff_false, |
| 153 | + iff_false, not_and] |
| 154 | + rw [p.1.2] |
| 155 | + grind |
| 156 | + Β· rw [(_ : (fun (p : Set.singleton (n + 1) Γ Ξ©) β¦ ((p.1 : β), p.2)) β»ΒΉ' (Set.Ioi i ΓΛ’ A) |
| 157 | + = {β¨n + 1, rflβ©} ΓΛ’ A)] |
| 158 | + Β· exact MeasurableSet.prod (MeasurableSet.of_subtype_image trivial) (π.mono hin _ hA) |
| 159 | + Β· ext p |
| 160 | + simp only [Set.mem_preimage, Set.mem_prod, Set.mem_Ioi, Set.mem_singleton_iff, |
| 161 | + and_congr_left_iff] |
| 162 | + intro hp2 |
| 163 | + rw [p.1.2] |
| 164 | + exact β¨fun _ β¦ by aesop, fun _ β¦ lt_add_one_iff.2 hinβ© |
| 165 | + |
| 166 | +omit [SecondCountableTopology E] in |
| 167 | +/-- If `u` is a discrete predictable process, then `u (n + 1)` is `π n`-measurable. -/ |
| 168 | +lemma measurable_add_one {π : Filtration β m} {u : β β Ξ© β E} (hπ : IsPredictable π u) (n : β) : |
| 169 | + Measurable[π n] (u (n + 1)) := by |
| 170 | + intro s hs |
| 171 | + rw [(by aesop : u (n + 1) β»ΒΉ' s = {Ο | (n + 1, Ο) β (Function.uncurry u) β»ΒΉ' s})] |
| 172 | + exact measurableSet_prodMk_add_one_of_predictable (hπ.measurable hs) n |
| 173 | + |
| 174 | +end IsPredictable |
| 175 | + |
| 176 | +section |
| 177 | + |
| 178 | +variable [MetrizableSpace E] [MeasurableSpace E] [BorelSpace E] |
| 179 | + |
| 180 | +lemma measurableSet_predictable_singleton_prod |
| 181 | + {π : Filtration β m} {n : β} {s : Set Ξ©} (hs : MeasurableSet[π n] s) : |
| 182 | + MeasurableSet[π.predictable] <| {n + 1} ΓΛ’ s := by |
| 183 | + rw [(_ : {n + 1} = Set.Ioc n (n + 1))] |
| 184 | + Β· exact measurableSet_predictable_Ioc_prod _ _ hs |
| 185 | + Β· ext m |
| 186 | + simp only [Set.mem_singleton_iff, Set.mem_Ioc] |
| 187 | + omega |
| 188 | + |
| 189 | +lemma isPredictable_of_measurable_add_one [SecondCountableTopology E] |
| 190 | + {π : Filtration β m} {u : β β Ξ© β E} |
| 191 | + (hβ : Measurable[π 0] (u 0)) (h : β n, Measurable[π n] (u (n + 1))) : |
| 192 | + IsPredictable π u := by |
| 193 | + refine Measurable.stronglyMeasurable ?_ |
| 194 | + intro s hs |
| 195 | + rw [(by aesop : Function.uncurry u β»ΒΉ' s = β n : β, {n} ΓΛ’ (u n β»ΒΉ' s))] |
| 196 | + refine MeasurableSet.iUnion <| fun n β¦ ?_ |
| 197 | + obtain (rfl | hn) := n.eq_zero_or_eq_succ_pred |
| 198 | + Β· exact MeasurableSpace.measurableSet_generateFrom <| Or.inl β¨u 0 β»ΒΉ' s, hβ hs, rflβ© |
| 199 | + Β· rw [hn] |
| 200 | + exact measurableSet_predictable_singleton_prod (h (n - 1) hs) |
| 201 | + |
| 202 | +/-- A discrete process `u` is predictable iff `u (n + 1)` is `π n`-measurable for all `n` and |
| 203 | +`u 0` is `π 0`-measurable. -/ |
| 204 | +lemma isPredictable_iff_measurable_add_one [SecondCountableTopology E] |
| 205 | + {π : Filtration β m} {u : β β Ξ© β E} : |
| 206 | + IsPredictable π u β Measurable[π 0] (u 0) β§ β n, Measurable[π n] (u (n + 1)) := |
| 207 | + β¨fun hπ β¦ β¨(hπ.adapted 0).measurable, fun n β¦ hπ.measurable_add_one (n)β©, |
| 208 | + fun h β¦ isPredictable_of_measurable_add_one h.1 h.2β© |
| 209 | + |
| 210 | +end |
| 211 | + |
| 212 | +end MeasureTheory |
0 commit comments