Theorem: ProbabilityTheory.indep_iSup_limsup
File: Mathlib/Probability/Independence/ZeroOne.lean

tactic: 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
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
⊢ Indep (⨆ (n : ι), s n) (limsup s f)

tactic: rw [iSup_comm]
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
⊢ (⨆ (a : α) (n : ι) (_ : n ∈ ns a), s n) = ⨆ (n : ι), s n

tactic: refine' iSup_congr fun n => _
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
⊢ (⨆ (j : ι) (i : α) (_ : j ∈ ns i), s j) = ⨆ (n : ι), s n

tactic: have h : (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ _ : ∃ i, n ∈ ns i, s n := by rw [iSup_exists]
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
n : ι
⊢ (⨆ (i : α) (_ : n ∈ ns i), s n) = s n

tactic: haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
n : ι
h : (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ (_ : ∃ i, n ∈ ns i), s n
⊢ (⨆ (i : α) (_ : n ∈ ns i), s n) = s n

tactic: rw [h, iSup_const]
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
n : ι
h : (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ (_ : ∃ i, n ∈ ns i), s n
this : Nonempty (∃ i, n ∈ ns i)
⊢ (⨆ (i : α) (_ : n ∈ ns i), s n) = s n

tactic: rw [← this]
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
this : (⨆ (a : α) (n : ι) (_ : n ∈ ns a), s n) = ⨆ (n : ι), s n
⊢ Indep (⨆ (n : ι), s n) (limsup s f)

tactic: exact indep_iSup_directed_limsup h_le h_indep hf hns hnsp
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
this : (⨆ (a : α) (n : ι) (_ : n ∈ ns a), s n) = ⨆ (n : ι), s n
⊢ Indep (⨆ (a : α) (n : ι) (_ : n ∈ ns a), s n) (limsup s f)

tactic: rw [iSup_exists]
state_before: Ω : Type u_1
ι : Type u_2
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsProbabilityMeasure μ
s : ι → MeasurableSpace Ω
α : Type u_3
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
n : ι
⊢ (⨆ (i : α) (_ : n ∈ ns i), s n) = ⨆ (_ : ∃ i, n ∈ ns i), s n