@@ -43,25 +43,32 @@ open scoped NNReal ENNReal MeasureTheory ProbabilityTheory Topology
4343
4444namespace MeasureTheory
4545
46- variable {Ω : Type *} {m0 : MeasurableSpace Ω} {μ : Measure Ω} {ℱ : Filtration ℕ m0} {f : ℕ → Ω → ℝ}
47-
46+ variable {ι Ω β : Type *} {m0 : MeasurableSpace Ω} {μ : Measure Ω}
4847/-!
4948### One-sided martingale bound
5049-/
5150
5251/-- `leastGE f r` is the stopping time corresponding to the first time `f ≥ r`. -/
53- noncomputable def leastGE (f : ℕ → Ω → ℝ) (r : ℝ) : Ω → ℕ∞ :=
54- hittingAfter f (Set.Ici r) 0
55-
56- theorem StronglyAdapted.isStoppingTime_leastGE (r : ℝ) (hf : StronglyAdapted ℱ f) :
52+ noncomputable def leastGE [Preorder ι] [OrderBot ι] [InfSet ι] [Preorder β]
53+ (f : ι → Ω → β) (r : β) : Ω → WithTop ι :=
54+ hittingAfter f (Set.Ici r) ⊥
55+
56+ theorem StronglyAdapted.isStoppingTime_leastGE [ConditionallyCompleteLinearOrderBot ι]
57+ {ℱ : Filtration ι m0} [WellFoundedLT ι] [Countable ι] [TopologicalSpace β]
58+ [Preorder β] [ClosedIciTopology β] [TopologicalSpace.PseudoMetrizableSpace β]
59+ [MeasurableSpace β] [BorelSpace β]
60+ {f : ι → Ω → β} (r : β) (hf : StronglyAdapted ℱ f) :
5761 IsStoppingTime ℱ (leastGE f r) :=
5862 hf.adapted.isStoppingTime_hittingAfter measurableSet_Ici
5963
6064/-- The stopped process of `f` above `r` is the process that is equal to `f` until `leastGE f r`
6165(the first time `f` passes above `r`), and then is constant afterwards. -/
62- noncomputable def stoppedAbove (f : ℕ → Ω → ℝ) (r : ℝ) : ℕ → Ω → ℝ :=
66+ noncomputable def stoppedAbove [LinearOrder ι] [OrderBot ι] [InfSet ι] [Preorder β]
67+ (f : ι → Ω → β) (r : β) : ι → Ω → β :=
6368 stoppedProcess f (leastGE f r)
6469
70+ variable {ℱ : Filtration ℕ m0} {f : ℕ → Ω → ℝ}
71+
6572protected lemma Submartingale.stoppedAbove [IsFiniteMeasure μ] (hf : Submartingale f ℱ μ) (r : ℝ) :
6673 Submartingale (stoppedAbove f r) ℱ μ :=
6774 hf.stoppedProcess (hf.stronglyAdapted.isStoppingTime_leastGE r)
@@ -82,7 +89,7 @@ theorem stoppedAbove_le (hr : 0 ≤ r) (hf0 : f 0 = 0)
8289 obtain ⟨k, hk⟩ := Nat.exists_eq_add_one_of_ne_zero h_zero
8390 rw [hk, add_comm r, ← sub_le_iff_le_add]
8491 have := notMem_of_lt_hittingAfter (?_ : k < leastGE f r ω)
85- · simp only [zero_le, Set.mem_Ici, not_le, forall_const] at this
92+ · simp only [bot_eq_zero, zero_le, Set.mem_Ici, not_le, forall_const] at this
8693 exact (sub_lt_sub_left this _).le.trans ((le_abs_self _).trans (hbddω _))
8794 · suffices (k : ℕ∞) < min (i : ℕ∞) (leastGE f r ω) from this.trans_le (min_le_right _ _)
8895 have h_top : min (i : ℕ∞) (leastGE f r ω) ≠ ⊤ :=
0 commit comments