@@ -11,11 +11,14 @@ public import Mathlib.Topology.Instances.Discrete
1111/-!
1212# Adapted and progressively measurable processes
1313
14- This file defines the related notions of a process `u` being `StronglyAdapted` or `ProgMeasurable`
15- (progressively measurable) with respect to a filtration `f`, and proves some basic facts about them.
14+ This file defines the related notions of a process `u` being `Adapted`, `StronglyAdapted`
15+ or `ProgMeasurable` (progressively measurable) with respect to a filter `f`, and proves
16+ some basic facts about them.
1617
1718## Main definitions
1819
20+ * `MeasureTheory.Adapted`: a sequence of functions `u` is said to be adapted to a
21+ filtration `f` if at each point in time `i`, `u i` is `f i`-measurable
1922* `MeasureTheory.StronglyAdapted`: a sequence of functions `u` is said to be strongly adapted to a
2023 filtration `f` if at each point in time `i`, `u i` is `f i`-strongly measurable
2124* `MeasureTheory.ProgMeasurable`: a sequence of functions `u` is said to be progressively
@@ -44,11 +47,55 @@ namespace MeasureTheory
4447
4548variable {Ω ι : Type *} {m : MeasurableSpace Ω} [Preorder ι] {f : Filtration ι m}
4649
50+ section Adapted
51+
52+ variable {β : ι → Type *} [∀ i, MeasurableSpace (β i)] {u v : (i : ι) → Ω → β i}
53+
54+ /-- A sequence of functions `u` is adapted to a filtration `f` if for all `i`,
55+ `u i` is `f i`-measurable. -/
56+ def Adapted (f : Filtration ι m) (u : (i : ι) → Ω → β i) : Prop :=
57+ ∀ i : ι, Measurable[f i] (u i)
58+
59+ namespace Adapted
60+
61+ @[to_additive]
62+ protected theorem mul [∀ i, Mul (β i)] [∀ i, MeasurableMul₂ (β i)]
63+ (hu : Adapted f u) (hv : Adapted f v) :
64+ Adapted f (u * v) := fun i => (hu i).mul (hv i)
65+
66+ @[to_additive]
67+ protected theorem div [∀ i, Div (β i)] [∀ i, MeasurableDiv₂ (β i)]
68+ (hu : Adapted f u) (hv : Adapted f v) :
69+ Adapted f (u / v) := fun i => (hu i).div (hv i)
70+
71+ @[to_additive]
72+ protected theorem inv [∀ i, Group (β i)] [∀ i, MeasurableInv (β i)] (hu : Adapted f u) :
73+ Adapted f u⁻¹ := fun i => (hu i).inv
74+
75+ protected theorem smul {𝕂 : Type *} [MeasurableSpace 𝕂]
76+ [∀ i, SMul 𝕂 (β i)] [∀ i, MeasurableSMul 𝕂 (β i)] (c : 𝕂) (hu : Adapted f u) :
77+ Adapted f (c • u) := fun i => (hu i).const_smul c
78+
79+ protected theorem measurable {i : ι} (hf : Adapted f u) : Measurable[m] (u i) :=
80+ (hf i).mono (f.le i) (by rfl)
81+
82+ theorem measurable_le {i j : ι} (hf : Adapted f u) (hij : i ≤ j) : Measurable[f j] (u i) :=
83+ (hf i).mono (f.mono hij) (by rfl)
84+
85+ end Adapted
86+
87+ theorem adapted_const' (f : Filtration ι m) (x : (i : ι) → β i) : Adapted f fun i _ ↦ x i :=
88+ fun _ ↦ measurable_const
89+
90+ theorem adapted_const {β : Type *} [MeasurableSpace β] (f : Filtration ι m) (x : β) :
91+ Adapted f fun _ _ ↦ x := adapted_const' _ _
92+
93+ end Adapted
94+
4795section StronglyAdapted
4896
4997variable {β : ι → Type *} [∀ i, TopologicalSpace (β i)] {u v : (i : ι) → Ω → β i}
5098
51-
5299/-- A sequence of functions `u` is strongly adapted to a filtration `f` if for all `i`,
53100`u i` is `f i`-strongly measurable. -/
54101def StronglyAdapted (f : Filtration ι m) (u : (i : ι) → Ω → β i) : Prop :=
@@ -82,6 +129,20 @@ theorem stronglyMeasurable_le {i j : ι} (hf : StronglyAdapted f u) (hij : i ≤
82129
83130end StronglyAdapted
84131
132+ theorem StronglyAdapted.adapted [mΒ : ∀ i, MeasurableSpace (β i)] [∀ i, BorelSpace (β i)]
133+ [∀ i, PseudoMetrizableSpace (β i)] (hf : StronglyAdapted f u) :
134+ Adapted f u := fun _ ↦ (hf _).measurable
135+
136+ theorem Adapted.stronglyAdapted [mΒ : ∀ i, MeasurableSpace (β i)]
137+ [∀ i, OpensMeasurableSpace (β i)] [∀ i, PseudoMetrizableSpace (β i)]
138+ [∀ i, SecondCountableTopology (β i)] (hf : Adapted f u) :
139+ StronglyAdapted f u := fun _ ↦ (hf _).stronglyMeasurable
140+
141+ theorem stronglyAdapted_iff_adapted [mΒ : ∀ i, MeasurableSpace (β i)]
142+ [∀ i, BorelSpace (β i)] [∀ i, PseudoMetrizableSpace (β i)]
143+ [∀ i, SecondCountableTopology (β i)] :
144+ StronglyAdapted f u ↔ Adapted f u := ⟨fun h ↦ h.adapted, fun h ↦ h.stronglyAdapted⟩
145+
85146theorem stronglyAdapted_const' (f : Filtration ι m) (x : (i : ι) → β i) :
86147 StronglyAdapted f fun i _ ↦ x i :=
87148 fun _ ↦ stronglyMeasurable_const
@@ -218,41 +279,4 @@ theorem Predictable.stronglyAdapted {f : Filtration ℕ m} {u : ℕ → Ω →
218279 | 0 => hu0
219280 | n + 1 => (hu n).mono (f.mono n.le_succ)
220281
221- section Deprications
222-
223- @ [deprecated (since := "2025-12-19" )] alias Adapted := StronglyAdapted
224-
225- @ [deprecated (since := "2025-12-19" )] alias Adapted.mul := StronglyAdapted.mul
226-
227- @ [deprecated (since := "2025-12-19" )] alias Adapted.div := StronglyAdapted.div
228-
229- @ [deprecated (since := "2025-12-19" )] alias Adapted.smul := StronglyAdapted.smul
230-
231- @ [deprecated (since := "2025-12-19" )]
232- alias Adapted.stronglyMeasurable := StronglyAdapted.stronglyMeasurable
233-
234- @ [deprecated (since := "2025-12-19" )] alias adapted_const' := stronglyAdapted_const'
235-
236- @ [deprecated (since := "2025-12-19" )] alias adapted_const := stronglyAdapted_const
237-
238- @ [deprecated (since := "2025-12-19" )] alias adapted_zero' := stronglyAdapted_zero'
239-
240- @ [deprecated (since := "2025-12-19" )] alias adapted_zero := stronglyAdapted_zero
241-
242- @ [deprecated (since := "2025-12-19" )]
243- alias Filtration.adapted_natural := Filtration.stronglyAdapted_natural
244-
245- @ [deprecated (since := "2025-12-19" )] alias ProgMeasurable.adapted := ProgMeasurable.stronglyAdapted
246-
247- @ [deprecated (since := "2025-12-19" )]
248- alias Adapted.progMeasurable_of_continuous := StronglyAdapted.progMeasurable_of_continuous
249-
250- @ [deprecated (since := "2025-12-19" )]
251- alias Adapted.progMeasurable_of_discrete := StronglyAdapted.progMeasurable_of_discrete
252-
253- @ [deprecated (since := "2025-12-19" )]
254- alias Predictable.adapted := Predictable.stronglyAdapted
255-
256- end Deprications
257-
258282end MeasureTheory
0 commit comments