Theorem: ProbabilityTheory.kernel.iIndepSets.iIndep
File: Mathlib/Probability/Independence/Kernel.lean

tactic: intro s f
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
⊢ kernel.iIndep m κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ (∀ i ∈ s, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i) = ∏ i ∈ s, (κ a) (f i)

tactic: refine Finset.induction ?_ ?_ s
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ (∀ i ∈ s, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i) = ∏ i ∈ s, (κ a) (f i)
state_after: case refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ (∀ i ∈ ∅, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ ∅, f i) = ∏ i ∈ ∅, (κ a) (f i)

case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    a ∉ s →
      ((∀ i ∈ s, f i ∈ (fun x => {s | MeasurableSet s}) i) →
          ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i) = ∏ i ∈ s, (κ a) (f i)) →
        (∀ i ∈ insert a s, f i ∈ (fun x => {s | MeasurableSet s}) i) →
          ∀ᵐ (a_3 : α) ∂μ, (κ a_3) (⋂ i ∈ insert a s, f i) = ∏ i ∈ insert a s, (κ a_3) (f i)

tactic: simp only [Finset.not_mem_empty, Set.mem_setOf_eq, IsEmpty.forall_iff, implies_true,
  Set.iInter_of_empty, Set.iInter_univ, measure_univ, Finset.prod_empty,
  Filter.eventually_true, forall_true_left]
state_before: case refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ (∀ i ∈ ∅, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ ∅, f i) = ∏ i ∈ ∅, (κ a) (f i)
state_after: no goals

tactic: intro a S ha_notin_S h_rec hf_m
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    a ∉ s →
      ((∀ i ∈ s, f i ∈ (fun x => {s | MeasurableSet s}) i) →
          ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i) = ∏ i ∈ s, (κ a) (f i)) →
        (∀ i ∈ insert a s, f i ∈ (fun x => {s | MeasurableSet s}) i) →
          ∀ᵐ (a_3 : α) ∂μ, (κ a_3) (⋂ i ∈ insert a s, f i) = ∏ i ∈ insert a s, (κ a_3) (f i)
state_after: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

tactic: have hf_m_S : ∀ x ∈ S, MeasurableSet[m x] (f x) := fun x hx => hf_m x (by simp [hx])
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

tactic: let p := piiUnionInter π S
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

tactic: set m_p := generateFrom p with hS_eq_generate
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

tactic: have h_indep : Indep m_p (m a) κ μ := by
  have hp : IsPiSystem p := isPiSystem_piiUnionInter π h_pi S
  have h_le' : ∀ i, generateFrom (π i) ≤ _mΩ := fun i ↦ (h_generate i).symm.trans_le (h_le i)
  have hm_p : m_p ≤ _mΩ := generateFrom_piiUnionInter_le π h_le' S
  exact IndepSets.indep hm_p (h_le a) hp (h_pi a) hS_eq_generate (h_generate a)
    (iIndepSets.piiUnionInter_of_not_mem h_ind ha_notin_S)
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

tactic: have h := h_indep.symm (f a) (⋂ n ∈ S, f n) (hf_m a (Finset.mem_insert_self a S)) ?_
state_before: case refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case refine_2.refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h : ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (f a ∩ ⋂ n ∈ S, f n) = (κ a_1) (f a) * (κ a_1) (⋂ n ∈ S, f n)
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)

case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}

tactic: simp [hx]
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
x : ι
hx : x ∈ S
⊢ x ∈ insert a S
state_after: no goals

tactic: have hp : IsPiSystem p := isPiSystem_piiUnionInter π h_pi S
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
⊢ Indep m_p (m a) κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
⊢ Indep m_p (m a) κ μ

tactic: have h_le' : ∀ i, generateFrom (π i) ≤ _mΩ := fun i ↦ (h_generate i).symm.trans_le (h_le i)
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
⊢ Indep m_p (m a) κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
h_le' : ∀ (i : ι), generateFrom (π i) ≤ _mΩ
⊢ Indep m_p (m a) κ μ

tactic: have hm_p : m_p ≤ _mΩ := generateFrom_piiUnionInter_le π h_le' S
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
h_le' : ∀ (i : ι), generateFrom (π i) ≤ _mΩ
⊢ Indep m_p (m a) κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
h_le' : ∀ (i : ι), generateFrom (π i) ≤ _mΩ
hm_p : m_p ≤ _mΩ
⊢ Indep m_p (m a) κ μ

tactic: exact IndepSets.indep hm_p (h_le a) hp (h_pi a) hS_eq_generate (h_generate a)
  (iIndepSets.piiUnionInter_of_not_mem h_ind ha_notin_S)
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
hp : IsPiSystem p
h_le' : ∀ (i : ι), generateFrom (π i) ≤ _mΩ
hm_p : m_p ≤ _mΩ
⊢ Indep m_p (m a) κ μ
state_after: no goals

tactic: filter_upwards [h_rec hf_m_S, h] with a' ha' h'
state_before: case refine_2.refine_2
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h : ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (f a ∩ ⋂ n ∈ S, f n) = (κ a_1) (f a) * (κ a_1) (⋂ n ∈ S, f n)
⊢ ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a_1) (f i)
state_after: case h
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h : ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (f a ∩ ⋂ n ∈ S, f n) = (κ a_1) (f a) * (κ a_1) (⋂ n ∈ S, f n)
a' : α
ha' : (κ a') (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a') (f i)
h' : (κ a') (f a ∩ ⋂ n ∈ S, f n) = (κ a') (f a) * (κ a') (⋂ n ∈ S, f n)
⊢ (κ a') (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a') (f i)

tactic: rwa [Finset.set_biInter_insert, Finset.prod_insert ha_notin_S, ← ha']
state_before: case h
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h : ∀ᵐ (a_1 : α) ∂μ, (κ a_1) (f a ∩ ⋂ n ∈ S, f n) = (κ a_1) (f a) * (κ a_1) (⋂ n ∈ S, f n)
a' : α
ha' : (κ a') (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a') (f i)
h' : (κ a') (f a ∩ ⋂ n ∈ S, f n) = (κ a') (f a) * (κ a') (⋂ n ∈ S, f n)
⊢ (κ a') (⋂ i ∈ insert a S, f i) = ∏ i ∈ insert a S, (κ a') (f i)
state_after: no goals

tactic: have h_le_p : ∀ i ∈ S, m i ≤ m_p := by
  intros n hn
  rw [hS_eq_generate, h_generate n]
  exact le_generateFrom_piiUnionInter (S : Set ι) hn
state_before: case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}
state_after: case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h_le_p : ∀ i ∈ S, m i ≤ m_p
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}

tactic: have h_S_f : ∀ i ∈ S, MeasurableSet[m_p] (f i) :=
  fun i hi ↦ (h_le_p i hi) (f i) (hf_m_S i hi)
state_before: case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h_le_p : ∀ i ∈ S, m i ≤ m_p
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}
state_after: case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h_le_p : ∀ i ∈ S, m i ≤ m_p
h_S_f : ∀ i ∈ S, MeasurableSet (f i)
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}

tactic: exact S.measurableSet_biInter h_S_f
state_before: case refine_2.refine_1
α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
h_le_p : ∀ i ∈ S, m i ≤ m_p
h_S_f : ∀ i ∈ S, MeasurableSet (f i)
⊢ ⋂ n ∈ S, f n ∈ {s | MeasurableSet s}
state_after: no goals

tactic: intros n hn
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
⊢ ∀ i ∈ S, m i ≤ m_p
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
n : ι
hn : n ∈ S
⊢ m n ≤ m_p

tactic: rw [hS_eq_generate, h_generate n]
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
n : ι
hn : n ∈ S
⊢ m n ≤ m_p
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
n : ι
hn : n ∈ S
⊢ generateFrom (π n) ≤ generateFrom p

tactic: exact le_generateFrom_piiUnionInter (S : Set ι) hn
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
inst✝ : IsMarkovKernel κ
m : ι → MeasurableSpace Ω
h_le : ∀ (i : ι), m i ≤ _mΩ
π : ι → Set (Set Ω)
h_pi : ∀ (n : ι), IsPiSystem (π n)
h_generate : ∀ (i : ι), m i = generateFrom (π i)
h_ind : iIndepSets π κ μ
s : Finset ι
f : ι → Set Ω
a : ι
S : Finset ι
ha_notin_S : a ∉ S
h_rec : (∀ i ∈ S, f i ∈ (fun x => {s | MeasurableSet s}) i) → ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ S, f i) = ∏ i ∈ S, (κ a) (f i)
hf_m : ∀ i ∈ insert a S, f i ∈ (fun x => {s | MeasurableSet s}) i
hf_m_S : ∀ x ∈ S, MeasurableSet (f x)
p : Set (Set Ω) := piiUnionInter π ↑S
m_p : MeasurableSpace Ω := generateFrom p
hS_eq_generate : m_p = generateFrom p
h_indep : Indep m_p (m a) κ μ
n : ι
hn : n ∈ S
⊢ generateFrom (π n) ≤ generateFrom p
state_after: no goals