Theorem: ProbabilityTheory.kernel.measurable_kernel_prod_mk_left
File: Mathlib/Probability/Kernel/MeasurableIntegral.lean

tactic: rw [← kernel.kernel_sum_seq κ]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
⊢ Measurable fun a => (κ a) (Prod.mk a ⁻¹' t)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
⊢ Measurable fun a => ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t)

tactic: have : ∀ a, kernel.sum (kernel.seq κ) a (Prod.mk a ⁻¹' t) =
    ∑' n, kernel.seq κ n a (Prod.mk a ⁻¹' t) := fun a =>
  kernel.sum_apply' _ _ (measurable_prod_mk_left ht)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
⊢ Measurable fun a => ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
⊢ Measurable fun a => ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t)

tactic: simp_rw [this]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
⊢ Measurable fun a => ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
⊢ Measurable fun a => ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)

tactic: refine Measurable.ennreal_tsum fun n => ?_
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
⊢ Measurable fun a => ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
n : ℕ
⊢ Measurable fun a => ((seq κ n) a) (Prod.mk a ⁻¹' t)

tactic: exact measurable_kernel_prod_mk_left_of_finite ht inferInstance
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
a : α
inst✝ : IsSFiniteKernel κ
t : Set (α × β)
ht : MeasurableSet t
this : ∀ (a : α), ((kernel.sum (seq κ)) a) (Prod.mk a ⁻¹' t) = ∑' (n : ℕ), ((seq κ n) a) (Prod.mk a ⁻¹' t)
n : ℕ
⊢ Measurable fun a => ((seq κ n) a) (Prod.mk a ⁻¹' t)
state_after: no goals