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

Proof steps:
state_before: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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) κ μα
state_after: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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 ∈ ns a, s n = ⨆ n, s n
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
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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 ∈ ns a, s n = ⨆ n, s n
state_after: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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: rw [iSup_comm]
state_before: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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
state_after: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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: refine iSup_congr fun n => ?_
state_before: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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
state_after: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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: 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
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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
state_after: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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: haveI : Nonempty (∃ i : α, n ∈ ns i) := ⟨hns_univ n⟩
state_before: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : Kernel α✝ Ω
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
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
state_after: no goals
tactic: rw [h, iSup_const]