@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Rémy Degenne, Kexing Ying
5
5
-/
6
6
import probability.notation
7
- import probability.stopping
7
+ import probability.hitting_time
8
8
9
9
/-!
10
10
# Martingales
@@ -488,6 +488,122 @@ lemma submartingale_iff_expected_stopped_value_mono [is_finite_measure μ]
488
488
⟨λ hf _ _ hτ hπ hle ⟨N, hN⟩, hf.expected_stopped_value_mono hτ hπ hle hN,
489
489
submartingale_of_expected_stopped_value_mono hadp hint⟩
490
490
491
+ section maximal
492
+
493
+ open finset
494
+
495
+ lemma smul_le_stopped_value_hitting [is_finite_measure μ]
496
+ {f : ℕ → α → ℝ} (hsub : submartingale f 𝒢 μ) {ε : ℝ≥0 } (n : ℕ) :
497
+ ε • μ {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)} ≤
498
+ ennreal.of_real (∫ x in {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)},
499
+ stopped_value f (hitting f {y : ℝ | ↑ε ≤ y} 0 n) x ∂μ) :=
500
+ begin
501
+ have hn : set.Icc 0 n = {k | k ≤ n},
502
+ { ext x, simp },
503
+ have : ∀ x, ((ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)) →
504
+ (ε : ℝ) ≤ stopped_value f (hitting f {y : ℝ | ↑ε ≤ y} 0 n) x,
505
+ { intros x hx,
506
+ simp_rw [le_sup'_iff, mem_range, nat.lt_succ_iff] at hx,
507
+ refine stopped_value_hitting_mem _,
508
+ simp only [set.mem_set_of_eq, exists_prop, hn],
509
+ exact let ⟨j, hj₁, hj₂⟩ := hx in ⟨j, hj₁, hj₂⟩ },
510
+ have h := set_integral_ge_of_const_le (measurable_set_le measurable_const
511
+ (finset.measurable_range_sup'' (λ n _, (hsub.strongly_measurable n).measurable.le (𝒢.le n))))
512
+ (measure_ne_top _ _) this
513
+ (integrable.integrable_on (integrable_stopped_value (hitting_is_stopping_time
514
+ hsub.adapted measurable_set_Ici) hsub.integrable hitting_le)),
515
+ rw [ennreal.le_of_real_iff_to_real_le, ennreal.to_real_smul],
516
+ { exact h },
517
+ { exact ennreal.mul_ne_top (by simp) (measure_ne_top _ _) },
518
+ { exact le_trans (mul_nonneg ε.coe_nonneg ennreal.to_real_nonneg) h }
519
+ end
520
+
521
+ /-- **Doob's maximal inequality** : Given a non-negative submartingale `f`, for all `ε : ℝ≥0`,
522
+ we have `ε • μ {ε ≤ f* n} ≤ ∫ x in {ε ≤ f* n}, f n` where `f* n x = max_{k ≤ n}, f k x`.
523
+
524
+ In some literature, the Doob's maximal inequality refers to what we call Doob's Lp inequality
525
+ (which is a corollary of this lemma and will be proved in an upcomming PR). -/
526
+ lemma maximal_ineq [is_finite_measure μ]
527
+ {f : ℕ → α → ℝ} (hsub : submartingale f 𝒢 μ) (hnonneg : 0 ≤ f) {ε : ℝ≥0 } (n : ℕ) :
528
+ ε • μ {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)} ≤
529
+ ennreal.of_real (∫ x in {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)},
530
+ f n x ∂μ) :=
531
+ begin
532
+ suffices : ε • μ {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)} +
533
+ ennreal.of_real (∫ x in {x | ((range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)) < ε},
534
+ f n x ∂μ) ≤ ennreal.of_real (μ[f n]),
535
+ { have hadd : ennreal.of_real (∫ (x : α), f n x ∂μ) =
536
+ ennreal.of_real (∫ (x : α) in
537
+ {x : α | ↑ε ≤ ((range (n + 1 )).sup' nonempty_range_succ (λ k, f k x))}, f n x ∂μ) +
538
+ ennreal.of_real (∫ (x : α) in
539
+ {x : α | ((range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)) < ↑ε}, f n x ∂μ),
540
+ { rw [← ennreal.of_real_add, ← integral_union],
541
+ { conv_lhs { rw ← integral_univ },
542
+ convert rfl,
543
+ ext x,
544
+ change (ε : ℝ) ≤ _ ∨ _ < (ε : ℝ) ↔ _,
545
+ simp only [le_or_lt, true_iff] },
546
+ { rintro x ⟨hx₁ : _ ≤ _, hx₂ : _ < _⟩,
547
+ exact (not_le.2 hx₂) hx₁ },
548
+ { exact (measurable_set_lt (finset.measurable_range_sup''
549
+ (λ n _, (hsub.strongly_measurable n).measurable.le (𝒢.le n))) measurable_const) },
550
+ exacts [(hsub.integrable _).integrable_on, (hsub.integrable _).integrable_on,
551
+ integral_nonneg (hnonneg _), integral_nonneg (hnonneg _)] },
552
+ rwa [hadd, ennreal.add_le_add_iff_right ennreal.of_real_ne_top] at this },
553
+ calc ε • μ {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)}
554
+ + ennreal.of_real (∫ x in {x | ((range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)) < ε},
555
+ f n x ∂μ)
556
+ ≤ ennreal.of_real (∫ x in {x | (ε : ℝ) ≤ (range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)},
557
+ stopped_value f (hitting f {y : ℝ | ↑ε ≤ y} 0 n) x ∂μ)
558
+ + ennreal.of_real (∫ x in {x | ((range (n + 1 )).sup' nonempty_range_succ (λ k, f k x)) < ε},
559
+ stopped_value f (hitting f {y : ℝ | ↑ε ≤ y} 0 n) x ∂μ) :
560
+ begin
561
+ refine add_le_add (smul_le_stopped_value_hitting hsub _)
562
+ (ennreal.of_real_le_of_real (set_integral_mono_on (hsub.integrable n).integrable_on
563
+ (integrable.integrable_on (integrable_stopped_value
564
+ (hitting_is_stopping_time hsub.adapted measurable_set_Ici) hsub.integrable hitting_le))
565
+ (measurable_set_lt (finset.measurable_range_sup''
566
+ (λ n _, (hsub.strongly_measurable n).measurable.le (𝒢.le n))) measurable_const) _)),
567
+ intros x hx,
568
+ rw set.mem_set_of_eq at hx,
569
+ have : hitting f {y : ℝ | ↑ε ≤ y} 0 n x = n,
570
+ { simp only [hitting, set.mem_set_of_eq, exists_prop, pi.coe_nat, nat.cast_id,
571
+ ite_eq_right_iff, forall_exists_index, and_imp],
572
+ intros m hm hεm,
573
+ exact false.elim ((not_le.2 hx)
574
+ ((le_sup'_iff _).2 ⟨m, mem_range.2 (nat.lt_succ_of_le hm.2 ), hεm⟩)) },
575
+ simp_rw [stopped_value, this ],
576
+ end
577
+ ... = ennreal.of_real (∫ x, stopped_value f (hitting f {y : ℝ | ↑ε ≤ y} 0 n) x ∂μ) :
578
+ begin
579
+ rw [← ennreal.of_real_add, ← integral_union],
580
+ { conv_rhs { rw ← integral_univ },
581
+ convert rfl,
582
+ ext x,
583
+ change _ ↔ (ε : ℝ) ≤ _ ∨ _ < (ε : ℝ),
584
+ simp only [le_or_lt, iff_true] },
585
+ { rintro x ⟨hx₁ : _ ≤ _, hx₂ : _ < _⟩,
586
+ exact (not_le.2 hx₂) hx₁ },
587
+ { exact (measurable_set_lt (finset.measurable_range_sup''
588
+ (λ n _, (hsub.strongly_measurable n).measurable.le (𝒢.le n))) measurable_const) },
589
+ { exact (integrable.integrable_on (integrable_stopped_value
590
+ (hitting_is_stopping_time hsub.adapted measurable_set_Ici) hsub.integrable hitting_le)) },
591
+ { exact (integrable.integrable_on (integrable_stopped_value
592
+ (hitting_is_stopping_time hsub.adapted measurable_set_Ici) hsub.integrable hitting_le)) },
593
+ exacts [integral_nonneg (λ x, hnonneg _ _), integral_nonneg (λ x, hnonneg _ _)],
594
+ end
595
+ ... ≤ ennreal.of_real (μ[f n]) :
596
+ begin
597
+ refine ennreal.of_real_le_of_real _,
598
+ rw ← stopped_value_const f n,
599
+ exact hsub.expected_stopped_value_mono
600
+ (hitting_is_stopping_time hsub.adapted measurable_set_Ici)
601
+ (is_stopping_time_const _ _) (λ x, hitting_le x) (λ x, le_rfl : ∀ x, n ≤ n),
602
+ end
603
+ end
604
+
605
+ end maximal
606
+
491
607
end nat
492
608
493
609
end measure_theory
0 commit comments