probability.independence.zero_one
⟷
Mathlib.Probability.Independence.ZeroOne
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -43,7 +43,7 @@ theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω} (h_indep : I
· exact Or.inl h0
by_cases h_top : μ t = ∞
· exact Or.inr (Or.inr h_top)
- rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
+ rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
exact Or.inr (Or.inl h_indep.symm)
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3365b20c2ffa7c35e47e5209b89ba9abdddf3ffe
@@ -48,13 +48,13 @@ theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω} (h_indep : I
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
-/
-#print ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self /-
-theorem measure_eq_zero_or_one_of_indepSetCat_self [IsFiniteMeasure μ] {t : Set Ω}
+#print ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self /-
+theorem measure_eq_zero_or_one_of_indepSet_self [IsFiniteMeasure μ] {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 :=
by
have h_0_1_top := measure_eq_zero_or_one_or_top_of_indep_set_self h_indep
simpa [measure_ne_top μ] using h_0_1_top
-#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
+#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self
-/
variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
@@ -145,7 +145,7 @@ theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : measurable_set[limsup s f] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSet_of_measurableSet ht_tail
ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
@@ -182,7 +182,7 @@ The tail σ-algebra `limsup s at_top` is the same as `⋂ n, ⋃ i ≥ n, s i`.
theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atTop] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
-/
@@ -206,7 +206,7 @@ theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
refine' ⟨b, fun c hc hct => _⟩
suffices : ∀ i ∈ t, c < i; exact lt_irrefl c (this c hct)
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
- · exact directed_of_inf fun i j hij k hki => hij.trans hki
+ · exact directed_of_isDirected_ge fun i j hij k hki => hij.trans hki
· exact fun n => ⟨n, le_rfl⟩
#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
-/
@@ -217,7 +217,7 @@ sub-σ-algebras has probability 0 or 1. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atBot] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_bot ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
-import Mathbin.Probability.Independence.Basic
+import Probability.Independence.Basic
#align_import probability.independence.zero_one from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module probability.independence.zero_one
-! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Probability.Independence.Basic
+#align_import probability.independence.zero_one from "leanprover-community/mathlib"@"af471b9e3ce868f296626d33189b4ce730fa4c00"
+
/-!
# Kolmogorov's 0-1 law
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -35,6 +35,7 @@ namespace ProbabilityTheory
variable {Ω ι : Type _} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
+#print ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self /-
theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω} (h_indep : IndepSet t t μ) :
μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ :=
by
@@ -48,22 +49,27 @@ theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω} (h_indep : I
rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
exact Or.inr (Or.inl h_indep.symm)
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
+-/
+#print ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self /-
theorem measure_eq_zero_or_one_of_indepSetCat_self [IsFiniteMeasure μ] {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 :=
by
have h_0_1_top := measure_eq_zero_or_one_or_top_of_indep_set_self h_indep
simpa [measure_ne_top μ] using h_0_1_top
#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
+-/
variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
open Filter
+#print ProbabilityTheory.indep_biSup_compl /-
theorem indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (t : Set ι) :
Indep (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) μ :=
indep_iSup_of_disjoint h_le h_indep disjoint_compl_right
#align probability_theory.indep_bsupr_compl ProbabilityTheory.indep_biSup_compl
+-/
section Abstract
@@ -80,6 +86,7 @@ For the example of `f = at_top`, we can take `p = bdd_above` and `ns : ι → se
/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:69:18: unsupported non-interactive tactic filter.is_bounded_default -/
+#print ProbabilityTheory.indep_biSup_limsup /-
theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
{t : Set ι} (ht : p t) : Indep (⨆ n ∈ t, s n) (limsup s f) μ :=
by
@@ -93,7 +100,9 @@ theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (h
simp only [Set.mem_compl_iff, eventually_map]
exact eventually_of_mem (hf t ht) le_iSup₂
#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indep_biSup_limsup
+-/
+#print ProbabilityTheory.indep_iSup_directed_limsup /-
theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
Indep (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ :=
@@ -108,7 +117,9 @@ theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep
· exact hc.1 hn
· exact hc.2 hn
#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indep_iSup_directed_limsup
+-/
+#print ProbabilityTheory.indep_iSup_limsup /-
theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
Indep (⨆ n, s n) (limsup s f) μ :=
@@ -122,13 +133,17 @@ theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
rw [this, iSup_const]
#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
+-/
+#print ProbabilityTheory.indep_limsup_self /-
theorem indep_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
Indep (limsup s f) (limsup s f) μ :=
indep_of_indep_of_le_left (indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ) limsup_le_iSup
#align probability_theory.indep_limsup_self ProbabilityTheory.indep_limsup_self
+-/
+#print ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup /-
theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : measurable_set[limsup s f] t) :
@@ -137,6 +152,7 @@ theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (
((indep_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSet_of_measurableSet ht_tail
ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
+-/
end Abstract
@@ -144,6 +160,7 @@ section AtTop
variable [SemilatticeSup ι] [NoMaxOrder ι] [Nonempty ι]
+#print ProbabilityTheory.indep_limsup_atTop_self /-
theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
Indep (limsup s atTop) (limsup s atTop) μ :=
by
@@ -159,7 +176,9 @@ theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
· exact Monotone.directed_le fun i j hij k hki => le_trans hki hij
· exact fun n => ⟨n, le_rfl⟩
#align probability_theory.indep_limsup_at_top_self ProbabilityTheory.indep_limsup_atTop_self
+-/
+#print ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop /-
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1.
The tail σ-algebra `limsup s at_top` is the same as `⋂ n, ⋃ i ≥ n, s i`. -/
@@ -169,6 +188,7 @@ theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤
measure_eq_zero_or_one_of_indepSetCat_self
((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
+-/
end AtTop
@@ -176,6 +196,7 @@ section AtBot
variable [SemilatticeInf ι] [NoMinOrder ι] [Nonempty ι]
+#print ProbabilityTheory.indep_limsup_atBot_self /-
theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
Indep (limsup s atBot) (limsup s atBot) μ :=
by
@@ -191,7 +212,9 @@ theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
· exact directed_of_inf fun i j hij k hki => hij.trans hki
· exact fun n => ⟨n, le_rfl⟩
#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
+-/
+#print ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot /-
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
@@ -200,6 +223,7 @@ theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤
measure_eq_zero_or_one_of_indepSetCat_self
((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_bot ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot
+-/
end AtBot
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
! This file was ported from Lean 3 source module probability.independence.zero_one
-! leanprover-community/mathlib commit 2f8347015b12b0864dfaf366ec4909eb70c78740
+! leanprover-community/mathlib commit af471b9e3ce868f296626d33189b4ce730fa4c00
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Probability.Independence.Basic
/-!
# Kolmogorov's 0-1 law
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Let `s : ι → measurable_space Ω` be an independent sequence of sub-σ-algebras. Then any set which
is measurable with respect to the tail σ-algebra `limsup s at_top` has probability 0 or 1.
@@ -32,8 +35,8 @@ namespace ProbabilityTheory
variable {Ω ι : Type _} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
-theorem measure_eq_zero_or_one_or_top_of_indepSetCat_self {t : Set Ω}
- (h_indep : IndepSetCat t t μ) : μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ :=
+theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω} (h_indep : IndepSet t t μ) :
+ μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ :=
by
specialize
h_indep t t (measurable_set_generate_from (Set.mem_singleton t))
@@ -44,23 +47,23 @@ theorem measure_eq_zero_or_one_or_top_of_indepSetCat_self {t : Set Ω}
· exact Or.inr (Or.inr h_top)
rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
exact Or.inr (Or.inl h_indep.symm)
-#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSetCat_self
+#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
-theorem measure_eq_zero_or_one_of_indepSetCat_self [FiniteMeasure μ] {t : Set Ω}
- (h_indep : IndepSetCat t t μ) : μ t = 0 ∨ μ t = 1 :=
+theorem measure_eq_zero_or_one_of_indepSetCat_self [IsFiniteMeasure μ] {t : Set Ω}
+ (h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 :=
by
have h_0_1_top := measure_eq_zero_or_one_or_top_of_indep_set_self h_indep
simpa [measure_ne_top μ] using h_0_1_top
#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
-variable [ProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
+variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
open Filter
-theorem indepCat_bsupr_compl (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (t : Set ι) :
- IndepCat (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) μ :=
- indepCat_iSup_of_disjoint h_le h_indep disjoint_compl_right
-#align probability_theory.indep_bsupr_compl ProbabilityTheory.indepCat_bsupr_compl
+theorem indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (t : Set ι) :
+ Indep (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) μ :=
+ indep_iSup_of_disjoint h_le h_indep disjoint_compl_right
+#align probability_theory.indep_bsupr_compl ProbabilityTheory.indep_biSup_compl
section Abstract
@@ -77,8 +80,8 @@ For the example of `f = at_top`, we can take `p = bdd_above` and `ns : ι → se
/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:69:18: unsupported non-interactive tactic filter.is_bounded_default -/
-theorem indepCat_bsupr_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
- {t : Set ι} (ht : p t) : IndepCat (⨆ n ∈ t, s n) (limsup s f) μ :=
+theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ {t : Set ι} (ht : p t) : Indep (⨆ n ∈ t, s n) (limsup s f) μ :=
by
refine' indep_of_indep_of_le_right (indep_bsupr_compl h_le h_indep t) _
refine'
@@ -89,11 +92,11 @@ theorem indepCat_bsupr_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
_
simp only [Set.mem_compl_iff, eventually_map]
exact eventually_of_mem (hf t ht) le_iSup₂
-#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indepCat_bsupr_limsup
+#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indep_biSup_limsup
-theorem indepCat_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
+theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
- IndepCat (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ :=
+ Indep (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ :=
by
refine' indep_supr_of_directed_le _ _ _ _
· exact fun a => indep_bsupr_limsup h_le h_indep hf (hnsp a)
@@ -104,11 +107,11 @@ theorem indepCat_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Inde
refine' ⟨c, _, _⟩ <;> refine' iSup_mono fun n => iSup_mono' fun hn => ⟨_, le_rfl⟩
· exact hc.1 hn
· exact hc.2 hn
-#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indepCat_iSup_directed_limsup
+#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indep_iSup_directed_limsup
-theorem indepCat_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
- IndepCat (⨆ n, s n) (limsup s f) μ :=
+ Indep (⨆ n, s n) (limsup s f) μ :=
by
suffices (⨆ a, ⨆ n ∈ ns a, s n) = ⨆ n, s n by
rw [← this]
@@ -118,21 +121,20 @@ theorem indepCat_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (
have : (⨆ (i : α) (H : n ∈ ns i), s n) = ⨆ h : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
rw [this, iSup_const]
-#align probability_theory.indep_supr_limsup ProbabilityTheory.indepCat_iSup_limsup
+#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
-theorem indepCat_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+theorem indep_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
- IndepCat (limsup s f) (limsup s f) μ :=
- indepCat_of_indepCat_of_le_left (indepCat_iSup_limsup h_le h_indep hf hns hnsp hns_univ)
- limsup_le_iSup
-#align probability_theory.indep_limsup_self ProbabilityTheory.indepCat_limsup_self
+ Indep (limsup s f) (limsup s f) μ :=
+ indep_of_indep_of_le_left (indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ) limsup_le_iSup
+#align probability_theory.indep_limsup_self ProbabilityTheory.indep_limsup_self
-theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
+theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : measurable_set[limsup s f] t) :
μ t = 0 ∨ μ t = 1 :=
measure_eq_zero_or_one_of_indepSetCat_self
- ((indepCat_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSetCat_of_measurableSet ht_tail
+ ((indep_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSet_of_measurableSet ht_tail
ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
@@ -142,8 +144,8 @@ section AtTop
variable [SemilatticeSup ι] [NoMaxOrder ι] [Nonempty ι]
-theorem indepCat_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) :
- IndepCat (limsup s atTop) (limsup s atTop) μ :=
+theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
+ Indep (limsup s atTop) (limsup s atTop) μ :=
by
let ns : ι → Set ι := Set.Iic
have hnsp : ∀ i, BddAbove (ns i) := fun i => bddAbove_Iic
@@ -156,16 +158,16 @@ theorem indepCat_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s
exact fun i hi => (ha hi).trans_lt (hb.trans_le hc)
· exact Monotone.directed_le fun i j hij k hki => le_trans hki hij
· exact fun n => ⟨n, le_rfl⟩
-#align probability_theory.indep_limsup_at_top_self ProbabilityTheory.indepCat_limsup_atTop_self
+#align probability_theory.indep_limsup_at_top_self ProbabilityTheory.indep_limsup_atTop_self
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1.
The tail σ-algebra `limsup s at_top` is the same as `⋂ n, ⋃ i ≥ n, s i`. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤ m0)
- (h_indep : Indep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atTop] t) :
+ (h_indep : iIndep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atTop] t) :
μ t = 0 ∨ μ t = 1 :=
measure_eq_zero_or_one_of_indepSetCat_self
- ((indepCat_limsup_atTop_self h_le h_indep).indepSetCat_of_measurableSet ht_tail ht_tail)
+ ((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
end AtTop
@@ -174,8 +176,8 @@ section AtBot
variable [SemilatticeInf ι] [NoMinOrder ι] [Nonempty ι]
-theorem indepCat_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) :
- IndepCat (limsup s atBot) (limsup s atBot) μ :=
+theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
+ Indep (limsup s atBot) (limsup s atBot) μ :=
by
let ns : ι → Set ι := Set.Ici
have hnsp : ∀ i, BddBelow (ns i) := fun i => bddBelow_Ici
@@ -188,15 +190,15 @@ theorem indepCat_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
· exact directed_of_inf fun i j hij k hki => hij.trans hki
· exact fun n => ⟨n, le_rfl⟩
-#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indepCat_limsup_atBot_self
+#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
- (h_indep : Indep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atBot] t) :
+ (h_indep : iIndep s μ) {t : Set Ω} (ht_tail : measurable_set[limsup s atBot] t) :
μ t = 0 ∨ μ t = 1 :=
measure_eq_zero_or_one_of_indepSetCat_self
- ((indepCat_limsup_atBot_self h_le h_indep).indepSetCat_of_measurableSet ht_tail ht_tail)
+ ((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_bot ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot
end AtBot
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -42,7 +42,7 @@ theorem measure_eq_zero_or_one_or_top_of_indepSetCat_self {t : Set Ω}
· exact Or.inl h0
by_cases h_top : μ t = ∞
· exact Or.inr (Or.inr h_top)
- rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
+ rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
exact Or.inr (Or.inl h_indep.symm)
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSetCat_self
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -26,7 +26,7 @@ is measurable with respect to the tail σ-algebra `limsup s at_top` has probabil
open MeasureTheory MeasurableSpace
-open MeasureTheory ENNReal
+open scoped MeasureTheory ENNReal
namespace ProbabilityTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -152,8 +152,7 @@ theorem indepCat_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s
rintro t ⟨a, ha⟩
obtain ⟨b, hb⟩ : ∃ b, a < b := exists_gt a
refine' ⟨b, fun c hc hct => _⟩
- suffices : ∀ i ∈ t, i < c
- exact lt_irrefl c (this c hct)
+ suffices : ∀ i ∈ t, i < c; exact lt_irrefl c (this c hct)
exact fun i hi => (ha hi).trans_lt (hb.trans_le hc)
· exact Monotone.directed_le fun i j hij k hki => le_trans hki hij
· exact fun n => ⟨n, le_rfl⟩
@@ -185,8 +184,7 @@ theorem indepCat_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s
rintro t ⟨a, ha⟩
obtain ⟨b, hb⟩ : ∃ b, b < a := exists_lt a
refine' ⟨b, fun c hc hct => _⟩
- suffices : ∀ i ∈ t, c < i
- exact lt_irrefl c (this c hct)
+ suffices : ∀ i ∈ t, c < i; exact lt_irrefl c (this c hct)
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
· exact directed_of_inf fun i j hij k hki => hij.trans hki
· exact fun n => ⟨n, le_rfl⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -59,7 +59,7 @@ open Filter
theorem indepCat_bsupr_compl (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (t : Set ι) :
IndepCat (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) μ :=
- indepCat_supᵢ_of_disjoint h_le h_indep disjoint_compl_right
+ indepCat_iSup_of_disjoint h_le h_indep disjoint_compl_right
#align probability_theory.indep_bsupr_compl ProbabilityTheory.indepCat_bsupr_compl
section Abstract
@@ -88,43 +88,43 @@ theorem indepCat_bsupr_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
is_bounded_default)
_
simp only [Set.mem_compl_iff, eventually_map]
- exact eventually_of_mem (hf t ht) le_supᵢ₂
+ exact eventually_of_mem (hf t ht) le_iSup₂
#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indepCat_bsupr_limsup
-theorem indepCat_supᵢ_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
+theorem indepCat_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
IndepCat (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ :=
by
refine' indep_supr_of_directed_le _ _ _ _
· exact fun a => indep_bsupr_limsup h_le h_indep hf (hnsp a)
- · exact fun a => supᵢ₂_le fun n hn => h_le n
- · exact limsup_le_supr.trans (supᵢ_le h_le)
+ · exact fun a => iSup₂_le fun n hn => h_le n
+ · exact limsup_le_supr.trans (iSup_le h_le)
· intro a b
obtain ⟨c, hc⟩ := hns a b
- refine' ⟨c, _, _⟩ <;> refine' supᵢ_mono fun n => supᵢ_mono' fun hn => ⟨_, le_rfl⟩
+ refine' ⟨c, _, _⟩ <;> refine' iSup_mono fun n => iSup_mono' fun hn => ⟨_, le_rfl⟩
· exact hc.1 hn
· exact hc.2 hn
-#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indepCat_supᵢ_directed_limsup
+#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indepCat_iSup_directed_limsup
-theorem indepCat_supᵢ_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+theorem indepCat_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
IndepCat (⨆ n, s n) (limsup s f) μ :=
by
suffices (⨆ a, ⨆ n ∈ ns a, s n) = ⨆ n, s n by
rw [← this]
exact indep_supr_directed_limsup h_le h_indep hf hns hnsp
- rw [supᵢ_comm]
- refine' supᵢ_congr fun n => _
- have : (⨆ (i : α) (H : n ∈ ns i), s n) = ⨆ h : ∃ i, n ∈ ns i, s n := by rw [supᵢ_exists]
+ rw [iSup_comm]
+ refine' iSup_congr fun n => _
+ have : (⨆ (i : α) (H : n ∈ ns i), s n) = ⨆ h : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
- rw [this, supᵢ_const]
-#align probability_theory.indep_supr_limsup ProbabilityTheory.indepCat_supᵢ_limsup
+ rw [this, iSup_const]
+#align probability_theory.indep_supr_limsup ProbabilityTheory.indepCat_iSup_limsup
theorem indepCat_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
IndepCat (limsup s f) (limsup s f) μ :=
- indepCat_of_indepCat_of_le_left (indepCat_supᵢ_limsup h_le h_indep hf hns hnsp hns_univ)
- limsup_le_supᵢ
+ indepCat_of_indepCat_of_le_left (indepCat_iSup_limsup h_le h_indep hf hns hnsp hns_univ)
+ limsup_le_iSup
#align probability_theory.indep_limsup_self ProbabilityTheory.indepCat_limsup_self
theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : Indep s μ)
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -247,7 +247,7 @@ theorem kernel.indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIn
rintro t ⟨a, ha⟩
obtain ⟨b, hb⟩ : ∃ b, a < b := exists_gt a
refine' ⟨b, fun c hc hct => _⟩
- suffices : ∀ i ∈ t, i < c; exact lt_irrefl c (this c hct)
+ suffices ∀ i ∈ t, i < c from lt_irrefl c (this c hct)
exact fun i hi => (ha hi).trans_lt (hb.trans_le hc)
· exact Monotone.directed_le fun i j hij k hki => le_trans hki hij
· exact fun n => ⟨n, le_rfl⟩
@@ -301,7 +301,7 @@ theorem kernel.indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIn
rintro t ⟨a, ha⟩
obtain ⟨b, hb⟩ : ∃ b, b < a := exists_lt a
refine' ⟨b, fun c hc hct => _⟩
- suffices : ∀ i ∈ t, c < i; exact lt_irrefl c (this c hct)
+ suffices ∀ i ∈ t, c < i from lt_irrefl c (this c hct)
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
· exact Antitone.directed_le fun _ _ ↦ Set.Ici_subset_Ici.2
· exact fun n => ⟨n, le_rfl⟩
Also replace some Type _
with Type*
.
@@ -28,7 +28,7 @@ open scoped MeasureTheory ENNReal
namespace ProbabilityTheory
-variable {α Ω ι : Type _} {_mα : MeasurableSpace α} {m m0 : MeasurableSpace Ω}
+variable {α Ω ι : Type*} {_mα : MeasurableSpace α} {m m0 : MeasurableSpace Ω}
{κ : kernel α Ω} {μα : Measure α} {μ : Measure Ω}
theorem kernel.measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
@@ -63,7 +63,7 @@ theorem measure_eq_zero_or_one_of_indepSet_self [IsFiniteMeasure μ] {t : Set Ω
#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self
theorem condexp_eq_zero_or_one_of_condIndepSet_self
- [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [hμ : IsFiniteMeasure μ] {t : Set Ω} (ht : MeasurableSet t)
(h_indep : CondIndepSet m hm t t μ) :
∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 := by
@@ -87,7 +87,7 @@ theorem indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (t
kernel.indep_biSup_compl h_le h_indep t
#align probability_theory.indep_bsupr_compl ProbabilityTheory.indep_biSup_compl
-theorem condIndep_biSup_compl [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_biSup_compl [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (t : Set ι) :
CondIndep m (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) hm μ :=
@@ -121,7 +121,7 @@ theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (h
kernel.indep_biSup_limsup h_le h_indep hf ht
#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indep_biSup_limsup
-theorem condIndep_biSup_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_biSup_limsup [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
{t : Set ι} (ht : p t) :
@@ -147,7 +147,7 @@ theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep
kernel.indep_iSup_directed_limsup h_le h_indep hf hns hnsp
#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indep_iSup_directed_limsup
-theorem condIndep_iSup_directed_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω]
+theorem condIndep_iSup_directed_limsup [StandardBorelSpace Ω]
[Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
@@ -173,7 +173,7 @@ theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
kernel.indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ
#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
-theorem condIndep_iSup_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_iSup_limsup [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
@@ -192,7 +192,7 @@ theorem indep_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
kernel.indep_limsup_self h_le h_indep hf hns hnsp hns_univ
#align probability_theory.indep_limsup_self ProbabilityTheory.indep_limsup_self
-theorem condIndep_limsup_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_limsup_self [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
@@ -217,8 +217,8 @@ theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (
ht_tail
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
-theorem condexp_zero_or_one_of_measurableSet_limsup [TopologicalSpace Ω] [BorelSpace Ω]
- [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
+theorem condexp_zero_or_one_of_measurableSet_limsup [StandardBorelSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : MeasurableSet[limsup s f] t) :
@@ -257,7 +257,7 @@ theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
kernel.indep_limsup_atTop_self h_le h_indep
#align probability_theory.indep_limsup_at_top_self ProbabilityTheory.indep_limsup_atTop_self
-theorem condIndep_limsup_atTop_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_limsup_atTop_self [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) :
CondIndep m (limsup s atTop) (limsup s atTop) hm μ :=
@@ -279,9 +279,8 @@ theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤
using kernel.measure_zero_or_one_of_measurableSet_limsup_atTop h_le h_indep ht_tail
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
-theorem condexp_zero_or_one_of_measurableSet_limsup_atTop [TopologicalSpace Ω] [BorelSpace Ω]
- [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
- (h_le : ∀ n, s n ≤ m0)
+theorem condexp_zero_or_one_of_measurableSet_limsup_atTop [StandardBorelSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ] (h_le : ∀ n, s n ≤ m0)
(h_indep : iCondIndep m hm s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atTop] t) :
∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 :=
condexp_eq_zero_or_one_of_condIndepSet_self hm (limsup_le_iSup.trans (iSup_le h_le) t ht_tail)
@@ -312,7 +311,7 @@ theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
kernel.indep_limsup_atBot_self h_le h_indep
#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
-theorem condIndep_limsup_atBot_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+theorem condIndep_limsup_atBot_self [StandardBorelSpace Ω] [Nonempty Ω]
(hm : m ≤ m0) [IsFiniteMeasure μ]
(h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) :
CondIndep m (limsup s atBot) (limsup s atBot) hm μ :=
@@ -337,9 +336,8 @@ theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤
/-- **Kolmogorov's 0-1 law**, conditional version: any event in the tail σ-algebra of a
conditinoally independent sequence of sub-σ-algebras has conditional probability 0 or 1. -/
-theorem condexp_zero_or_one_of_measurableSet_limsup_atBot [TopologicalSpace Ω] [BorelSpace Ω]
- [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
- (h_le : ∀ n, s n ≤ m0)
+theorem condexp_zero_or_one_of_measurableSet_limsup_atBot [StandardBorelSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ] (h_le : ∀ n, s n ≤ m0)
(h_indep : iCondIndep m hm s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atBot] t) :
∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 :=
condexp_eq_zero_or_one_of_condIndepSet_self hm (limsup_le_iSup.trans (iSup_le h_le) t ht_tail)
Define conditional independence of sigma-algebras, sets and functions. This is a special case of independence with respect to a kernel and a measure. Conditional independence is obtained by using the conditional expectation kernel condexpKernel
.
Co-authored-by: Rémy Degenne <remydegenne@gmail.com> Co-authored-by: RemyDegenne <remydegenne@gmail.com>
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
import Mathlib.Probability.Independence.Basic
+import Mathlib.Probability.Independence.Conditional
#align_import probability.independence.zero_one from "leanprover-community/mathlib"@"2f8347015b12b0864dfaf366ec4909eb70c78740"
@@ -27,36 +28,71 @@ open scoped MeasureTheory ENNReal
namespace ProbabilityTheory
-variable {Ω ι : Type*} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
+variable {α Ω ι : Type _} {_mα : MeasurableSpace α} {m m0 : MeasurableSpace Ω}
+ {κ : kernel α Ω} {μα : Measure α} {μ : Measure Ω}
-theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
- (h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ := by
- rw [IndepSet_iff] at h_indep
+theorem kernel.measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
+ (h_indep : kernel.IndepSet t t κ μα) :
+ ∀ᵐ a ∂μα, κ a t = 0 ∨ κ a t = 1 ∨ κ a t = ∞ := by
specialize h_indep t t (measurableSet_generateFrom (Set.mem_singleton t))
(measurableSet_generateFrom (Set.mem_singleton t))
- by_cases h0 : μ t = 0
+ filter_upwards [h_indep] with a ha
+ by_cases h0 : κ a t = 0
· exact Or.inl h0
- by_cases h_top : μ t = ∞
+ by_cases h_top : κ a t = ∞
· exact Or.inr (Or.inr h_top)
- rw [← one_mul (μ (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at h_indep
- exact Or.inr (Or.inl h_indep.symm)
+ rw [← one_mul (κ a (t ∩ t)), Set.inter_self, ENNReal.mul_eq_mul_right h0 h_top] at ha
+ exact Or.inr (Or.inl ha.symm)
+
+theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
+ (h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ := by
+ simpa only [ae_dirac_eq, Filter.eventually_pure]
+ using kernel.measure_eq_zero_or_one_or_top_of_indepSet_self h_indep
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
+theorem kernel.measure_eq_zero_or_one_of_indepSet_self [∀ a, IsFiniteMeasure (κ a)] {t : Set Ω}
+ (h_indep : IndepSet t t κ μα) :
+ ∀ᵐ a ∂μα, κ a t = 0 ∨ κ a t = 1 := by
+ filter_upwards [measure_eq_zero_or_one_or_top_of_indepSet_self h_indep] with a h_0_1_top
+ simpa only [measure_ne_top (κ a), or_false] using h_0_1_top
+
theorem measure_eq_zero_or_one_of_indepSet_self [IsFiniteMeasure μ] {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 := by
- have h_0_1_top := measure_eq_zero_or_one_or_top_of_indepSet_self h_indep
- simpa [measure_ne_top μ] using h_0_1_top
+ simpa only [ae_dirac_eq, Filter.eventually_pure]
+ using kernel.measure_eq_zero_or_one_of_indepSet_self h_indep
#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self
-variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
+theorem condexp_eq_zero_or_one_of_condIndepSet_self
+ [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [hμ : IsFiniteMeasure μ] {t : Set Ω} (ht : MeasurableSet t)
+ (h_indep : CondIndepSet m hm t t μ) :
+ ∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 := by
+ have h := ae_of_ae_trim hm (kernel.measure_eq_zero_or_one_of_indepSet_self h_indep)
+ filter_upwards [condexpKernel_ae_eq_condexp hm ht, h] with ω hω_eq hω
+ rw [← hω_eq, ENNReal.toReal_eq_zero_iff, ENNReal.toReal_eq_one_iff]
+ cases hω with
+ | inl h => exact Or.inl (Or.inl h)
+ | inr h => exact Or.inr h
+
+variable [IsMarkovKernel κ] [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
open Filter
+theorem kernel.indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα) (t : Set ι) :
+ Indep (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) κ μα :=
+ indep_iSup_of_disjoint h_le h_indep disjoint_compl_right
+
theorem indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (t : Set ι) :
Indep (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) μ :=
- indep_iSup_of_disjoint h_le h_indep disjoint_compl_right
+ kernel.indep_biSup_compl h_le h_indep t
#align probability_theory.indep_bsupr_compl ProbabilityTheory.indep_biSup_compl
+theorem condIndep_biSup_compl [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (t : Set ι) :
+ CondIndep m (⨆ n ∈ t, s n) (⨆ n ∈ tᶜ, s n) hm μ :=
+ kernel.indep_biSup_compl h_le h_indep t
+
section Abstract
variable {α : Type*} {p : Set ι → Prop} {f : Filter ι} {ns : α → Set ι}
@@ -71,18 +107,30 @@ For the example of `f = atTop`, we can take
`p = bddAbove` and `ns : ι → Set ι := fun i => Set.Iic i`.
-/
-
-theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
- {t : Set ι} (ht : p t) : Indep (⨆ n ∈ t, s n) (limsup s f) μ := by
+theorem kernel.indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα)
+ (hf : ∀ t, p t → tᶜ ∈ f) {t : Set ι} (ht : p t) :
+ Indep (⨆ n ∈ t, s n) (limsup s f) κ μα := by
refine' indep_of_indep_of_le_right (indep_biSup_compl h_le h_indep t) _
refine' limsSup_le_of_le (by isBoundedDefault) _
simp only [Set.mem_compl_iff, eventually_map]
exact eventually_of_mem (hf t ht) le_iSup₂
+
+theorem indep_biSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ {t : Set ι} (ht : p t) :
+ Indep (⨆ n ∈ t, s n) (limsup s f) μ :=
+ kernel.indep_biSup_limsup h_le h_indep hf ht
#align probability_theory.indep_bsupr_limsup ProbabilityTheory.indep_biSup_limsup
-theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
+theorem condIndep_biSup_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ {t : Set ι} (ht : p t) :
+ CondIndep m (⨆ n ∈ t, s n) (limsup s f) hm μ :=
+ kernel.indep_biSup_limsup h_le h_indep hf ht
+
+theorem kernel.indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
- Indep (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ := by
+ Indep (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) κ μα := by
refine' indep_iSup_of_directed_le _ _ _ _
· exact fun a => indep_biSup_limsup h_le h_indep hf (hnsp a)
· exact fun a => iSup₂_le fun n _ => h_le n
@@ -92,11 +140,24 @@ theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep
refine' ⟨c, _, _⟩ <;> refine' iSup_mono fun n => iSup_mono' fun hn => ⟨_, le_rfl⟩
· exact hc.1 hn
· exact hc.2 hn
+
+theorem indep_iSup_directed_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
+ (hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
+ Indep (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) μ :=
+ kernel.indep_iSup_directed_limsup h_le h_indep hf hns hnsp
#align probability_theory.indep_supr_directed_limsup ProbabilityTheory.indep_iSup_directed_limsup
-theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+theorem condIndep_iSup_directed_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω]
+ [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ)
+ (hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) :
+ CondIndep m (⨆ a, ⨆ n ∈ ns a, s n) (limsup s f) hm μ :=
+ kernel.indep_iSup_directed_limsup h_le h_indep hf hns hnsp
+
+theorem kernel.indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα)
+ (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
- Indep (⨆ n, s n) (limsup s f) μ := by
+ Indep (⨆ n, s n) (limsup s f) κ μα := by
suffices (⨆ a, ⨆ n ∈ ns a, s n) = ⨆ n, s n by
rw [← this]
exact indep_iSup_directed_limsup h_le h_indep hf hns hnsp
@@ -105,31 +166,80 @@ theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
have h : ⨆ (i : α) (_ : n ∈ ns i), s n = ⨆ _ : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
rw [h, iSup_const]
+
+theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
+ Indep (⨆ n, s n) (limsup s f) μ :=
+ kernel.indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ
#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
+theorem condIndep_iSup_limsup [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
+ CondIndep m (⨆ n, s n) (limsup s f) hm μ :=
+ kernel.indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ
+
+theorem kernel.indep_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα)
+ (hf : ∀ t, p t → tᶜ ∈ f)
+ (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
+ Indep (limsup s f) (limsup s f) κ μα :=
+ indep_of_indep_of_le_left (indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ) limsup_le_iSup
+
theorem indep_limsup_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf : ∀ t, p t → tᶜ ∈ f)
(hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
Indep (limsup s f) (limsup s f) μ :=
- indep_of_indep_of_le_left (indep_iSup_limsup h_le h_indep hf hns hnsp hns_univ) limsup_le_iSup
+ kernel.indep_limsup_self h_le h_indep hf hns hnsp hns_univ
#align probability_theory.indep_limsup_self ProbabilityTheory.indep_limsup_self
-theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
+theorem condIndep_limsup_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) (hf : ∀ t, p t → tᶜ ∈ f)
+ (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a)) (hns_univ : ∀ n, ∃ a, n ∈ ns a) :
+ CondIndep m (limsup s f) (limsup s f) hm μ :=
+ kernel.indep_limsup_self h_le h_indep hf hns hnsp hns_univ
+
+theorem kernel.measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0)
+ (h_indep : iIndep s κ μα)
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : MeasurableSet[limsup s f] t) :
- μ t = 0 ∨ μ t = 1 :=
+ ∀ᵐ a ∂μα, κ a t = 0 ∨ κ a t = 1 :=
measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSet_of_measurableSet ht_tail
ht_tail)
+
+theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ)
+ (hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
+ (hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : MeasurableSet[limsup s f] t) :
+ μ t = 0 ∨ μ t = 1 :=
+ by simpa only [ae_dirac_eq, Filter.eventually_pure]
+ using kernel.measure_zero_or_one_of_measurableSet_limsup h_le h_indep hf hns hnsp hns_univ
+ ht_tail
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
+theorem condexp_zero_or_one_of_measurableSet_limsup [TopologicalSpace Ω] [BorelSpace Ω]
+ [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ)
+ (hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
+ (hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : MeasurableSet[limsup s f] t) :
+ ∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 := by
+ have h := ae_of_ae_trim hm
+ (kernel.measure_zero_or_one_of_measurableSet_limsup h_le h_indep hf hns hnsp hns_univ ht_tail)
+ have ht : MeasurableSet t := limsup_le_iSup.trans (iSup_le h_le) t ht_tail
+ filter_upwards [condexpKernel_ae_eq_condexp hm ht, h] with ω hω_eq hω
+ rw [← hω_eq, ENNReal.toReal_eq_zero_iff, ENNReal.toReal_eq_one_iff]
+ cases hω with
+ | inl h => exact Or.inl (Or.inl h)
+ | inr h => exact Or.inr h
+
end Abstract
section AtTop
variable [SemilatticeSup ι] [NoMaxOrder ι] [Nonempty ι]
-theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
- Indep (limsup s atTop) (limsup s atTop) μ := by
+theorem kernel.indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα) :
+ Indep (limsup s atTop) (limsup s atTop) κ μα := by
let ns : ι → Set ι := Set.Iic
have hnsp : ∀ i, BddAbove (ns i) := fun i => bddAbove_Iic
refine' indep_limsup_self h_le h_indep _ _ hnsp _
@@ -141,26 +251,50 @@ theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
exact fun i hi => (ha hi).trans_lt (hb.trans_le hc)
· exact Monotone.directed_le fun i j hij k hki => le_trans hki hij
· exact fun n => ⟨n, le_rfl⟩
+
+theorem indep_limsup_atTop_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
+ Indep (limsup s atTop) (limsup s atTop) μ :=
+ kernel.indep_limsup_atTop_self h_le h_indep
#align probability_theory.indep_limsup_at_top_self ProbabilityTheory.indep_limsup_atTop_self
+theorem condIndep_limsup_atTop_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) :
+ CondIndep m (limsup s atTop) (limsup s atTop) hm μ :=
+ kernel.indep_limsup_atTop_self h_le h_indep
+
+theorem kernel.measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤ m0)
+ (h_indep : iIndep s κ μα) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atTop] t) :
+ ∀ᵐ a ∂μα, κ a t = 0 ∨ κ a t = 1 :=
+ measure_eq_zero_or_one_of_indepSet_self
+ ((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
+
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1.
The tail σ-algebra `limsup s atTop` is the same as `⋂ n, ⋃ i ≥ n, s i`. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atTop] t) :
- μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSet_self
- ((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
+ μ t = 0 ∨ μ t = 1 := by
+ simpa only [ae_dirac_eq, Filter.eventually_pure]
+ using kernel.measure_zero_or_one_of_measurableSet_limsup_atTop h_le h_indep ht_tail
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
+theorem condexp_zero_or_one_of_measurableSet_limsup_atTop [TopologicalSpace Ω] [BorelSpace Ω]
+ [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0)
+ (h_indep : iCondIndep m hm s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atTop] t) :
+ ∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 :=
+ condexp_eq_zero_or_one_of_condIndepSet_self hm (limsup_le_iSup.trans (iSup_le h_le) t ht_tail)
+ ((condIndep_limsup_atTop_self hm h_le h_indep).condIndepSet_of_measurableSet ht_tail ht_tail)
+
end AtTop
section AtBot
variable [SemilatticeInf ι] [NoMinOrder ι] [Nonempty ι]
-theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
- Indep (limsup s atBot) (limsup s atBot) μ := by
+theorem kernel.indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s κ μα) :
+ Indep (limsup s atBot) (limsup s atBot) κ μα := by
let ns : ι → Set ι := Set.Ici
have hnsp : ∀ i, BddBelow (ns i) := fun i => bddBelow_Ici
refine' indep_limsup_self h_le h_indep _ _ hnsp _
@@ -172,17 +306,45 @@ theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
· exact Antitone.directed_le fun _ _ ↦ Set.Ici_subset_Ici.2
· exact fun n => ⟨n, le_rfl⟩
+
+theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) :
+ Indep (limsup s atBot) (limsup s atBot) μ :=
+ kernel.indep_limsup_atBot_self h_le h_indep
#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
+theorem condIndep_limsup_atBot_self [TopologicalSpace Ω] [BorelSpace Ω] [PolishSpace Ω] [Nonempty Ω]
+ (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0) (h_indep : iCondIndep m hm s μ) :
+ CondIndep m (limsup s atBot) (limsup s atBot) hm μ :=
+ kernel.indep_limsup_atBot_self h_le h_indep
+
+/-- **Kolmogorov's 0-1 law**, kernel version: any event in the tail σ-algebra of an independent
+sequence of sub-σ-algebras has probability 0 or 1 almost surely. -/
+theorem kernel.measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
+ (h_indep : iIndep s κ μα) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atBot] t) :
+ ∀ᵐ a ∂μα, κ a t = 0 ∨ κ a t = 1 :=
+ measure_eq_zero_or_one_of_indepSet_self
+ ((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
+
/-- **Kolmogorov's 0-1 law** : any event in the tail σ-algebra of an independent sequence of
sub-σ-algebras has probability 0 or 1. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atBot] t) :
- μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSet_self
- ((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
+ μ t = 0 ∨ μ t = 1 := by
+ simpa only [ae_dirac_eq, Filter.eventually_pure]
+ using kernel.measure_zero_or_one_of_measurableSet_limsup_atBot h_le h_indep ht_tail
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_bot ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot
+/-- **Kolmogorov's 0-1 law**, conditional version: any event in the tail σ-algebra of a
+conditinoally independent sequence of sub-σ-algebras has conditional probability 0 or 1. -/
+theorem condexp_zero_or_one_of_measurableSet_limsup_atBot [TopologicalSpace Ω] [BorelSpace Ω]
+ [PolishSpace Ω] [Nonempty Ω] (hm : m ≤ m0) [IsFiniteMeasure μ]
+ (h_le : ∀ n, s n ≤ m0)
+ (h_indep : iCondIndep m hm s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atBot] t) :
+ ∀ᵐ ω ∂μ, (μ⟦t | m⟧) ω = 0 ∨ (μ⟦t | m⟧) ω = 1 :=
+ condexp_eq_zero_or_one_of_condIndepSet_self hm (limsup_le_iSup.trans (iSup_le h_le) t ht_tail)
+ ((condIndep_limsup_atBot_self hm h_le h_indep).condIndepSet_of_measurableSet ht_tail ht_tail)
+
end AtBot
end ProbabilityTheory
Filter.hasAntitoneBasis_atTop
;Filter.HasAntitoneBasis.iInf_principal
;ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
->
ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self
.MeasureTheory.tendsto_measure_iUnion
;MeasureTheory.tendsto_measure_iInter
;Monotone.directed_le
, Monotone.directed_ge
;Antitone.directed_le
, Antitone.directed_ge
;directed_of_sup
, renamed to directed_of_isDirected_le
;directed_of_inf
, renamed to directed_of_isDirected_ge
;tendsto_nat_cast_atTop_atTop
;Filter.Eventually.nat_cast_atTop
;atTop_hasAntitoneBasis_of_archimedean
;@@ -42,11 +42,11 @@ theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
exact Or.inr (Or.inl h_indep.symm)
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
-theorem measure_eq_zero_or_one_of_indepSetCat_self [IsFiniteMeasure μ] {t : Set Ω}
+theorem measure_eq_zero_or_one_of_indepSet_self [IsFiniteMeasure μ] {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 := by
have h_0_1_top := measure_eq_zero_or_one_or_top_of_indepSet_self h_indep
simpa [measure_ne_top μ] using h_0_1_top
-#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
+#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSet_self
variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
@@ -117,7 +117,7 @@ theorem measure_zero_or_one_of_measurableSet_limsup (h_le : ∀ n, s n ≤ m0) (
(hf : ∀ t, p t → tᶜ ∈ f) (hns : Directed (· ≤ ·) ns) (hnsp : ∀ a, p (ns a))
(hns_univ : ∀ n, ∃ a, n ∈ ns a) {t : Set Ω} (ht_tail : MeasurableSet[limsup s f] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_self h_le h_indep hf hns hnsp hns_univ).indepSet_of_measurableSet ht_tail
ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
@@ -149,7 +149,7 @@ The tail σ-algebra `limsup s atTop` is the same as `⋂ n, ⋃ i ≥ n, s i`. -
theorem measure_zero_or_one_of_measurableSet_limsup_atTop (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atTop] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_atTop_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_top ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atTop
@@ -170,7 +170,7 @@ theorem indep_limsup_atBot_self (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s
refine' ⟨b, fun c hc hct => _⟩
suffices : ∀ i ∈ t, c < i; exact lt_irrefl c (this c hct)
exact fun i hi => hc.trans_lt (hb.trans_le (ha hi))
- · exact directed_of_inf fun i j hij k hki => hij.trans hki
+ · exact Antitone.directed_le fun _ _ ↦ Set.Ici_subset_Ici.2
· exact fun n => ⟨n, le_rfl⟩
#align probability_theory.indep_limsup_at_bot_self ProbabilityTheory.indep_limsup_atBot_self
@@ -179,7 +179,7 @@ sub-σ-algebras has probability 0 or 1. -/
theorem measure_zero_or_one_of_measurableSet_limsup_atBot (h_le : ∀ n, s n ≤ m0)
(h_indep : iIndep s μ) {t : Set Ω} (ht_tail : MeasurableSet[limsup s atBot] t) :
μ t = 0 ∨ μ t = 1 :=
- measure_eq_zero_or_one_of_indepSetCat_self
+ measure_eq_zero_or_one_of_indepSet_self
((indep_limsup_atBot_self h_le h_indep).indepSet_of_measurableSet ht_tail ht_tail)
#align probability_theory.measure_zero_or_one_of_measurable_set_limsup_at_bot ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup_atBot
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -27,7 +27,7 @@ open scoped MeasureTheory ENNReal
namespace ProbabilityTheory
-variable {Ω ι : Type _} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
+variable {Ω ι : Type*} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ := by
@@ -59,7 +59,7 @@ theorem indep_biSup_compl (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (t
section Abstract
-variable {α : Type _} {p : Set ι → Prop} {f : Filter ι} {ns : α → Set ι}
+variable {α : Type*} {p : Set ι → Prop} {f : Filter ι} {ns : α → Set ι}
/-! We prove a version of Kolmogorov's 0-1 law for the σ-algebra `limsup s f` where `f` is a filter
for which we can define the following two functions:
Independence is the special case of independence with respect to a kernel and a measure where the kernel is constant.
@@ -31,6 +31,7 @@ variable {Ω ι : Type _} {m m0 : MeasurableSpace Ω} {μ : Measure Ω}
theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 ∨ μ t = ∞ := by
+ rw [IndepSet_iff] at h_indep
specialize h_indep t t (measurableSet_generateFrom (Set.mem_singleton t))
(measurableSet_generateFrom (Set.mem_singleton t))
by_cases h0 : μ t = 0
@@ -2,14 +2,11 @@
Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module probability.independence.zero_one
-! leanprover-community/mathlib commit 2f8347015b12b0864dfaf366ec4909eb70c78740
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Probability.Independence.Basic
+#align_import probability.independence.zero_one from "leanprover-community/mathlib"@"2f8347015b12b0864dfaf366ec4909eb70c78740"
+
/-!
# Kolmogorov's 0-1 law
@@ -104,7 +104,7 @@ theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
exact indep_iSup_directed_limsup h_le h_indep hf hns hnsp
rw [iSup_comm]
refine' iSup_congr fun n => _
- have h : (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ _ : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
+ have h : ⨆ (i : α) (_ : n ∈ ns i), s n = ⨆ _ : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
rw [h, iSup_const]
#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
@@ -104,7 +104,7 @@ theorem indep_iSup_limsup (h_le : ∀ n, s n ≤ m0) (h_indep : iIndep s μ) (hf
exact indep_iSup_directed_limsup h_le h_indep hf hns hnsp
rw [iSup_comm]
refine' iSup_congr fun n => _
- have h : (⨆ (i : α) (_H : n ∈ ns i), s n) = ⨆ _h : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
+ have h : (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ _ : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
rw [h, iSup_const]
#align probability_theory.indep_supr_limsup ProbabilityTheory.indep_iSup_limsup
Is
of Foo
which is ported from is_foo
(#4639)
I have misported is_foo
to Foo
because I misunderstood the rule for IsLawfulFoo
.
This PR recover Is
of Foo
which is ported from is_foo
.
This PR also renames some misported theorems.
@@ -44,13 +44,13 @@ theorem measure_eq_zero_or_one_or_top_of_indepSet_self {t : Set Ω}
exact Or.inr (Or.inl h_indep.symm)
#align probability_theory.measure_eq_zero_or_one_or_top_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_or_top_of_indepSet_self
-theorem measure_eq_zero_or_one_of_indepSetCat_self [FiniteMeasure μ] {t : Set Ω}
+theorem measure_eq_zero_or_one_of_indepSetCat_self [IsFiniteMeasure μ] {t : Set Ω}
(h_indep : IndepSet t t μ) : μ t = 0 ∨ μ t = 1 := by
have h_0_1_top := measure_eq_zero_or_one_or_top_of_indepSet_self h_indep
simpa [measure_ne_top μ] using h_0_1_top
#align probability_theory.measure_eq_zero_or_one_of_indep_set_self ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
-variable [ProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
+variable [IsProbabilityMeasure μ] {s : ι → MeasurableSpace Ω}
open Filter
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file