Theorem: ProbabilityTheory.kernel.compProdFun_tsum_right
File: Mathlib/Probability/Kernel/Composition.lean

tactic: simp_rw [compProdFun, (measure_sum_seq η _).symm]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ compProdFun κ η a s = ∑' (n : ℕ), compProdFun κ (seq η n) a s
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∑' (n : ℕ), ∫⁻ (b : β), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a

tactic: have :
  ∫⁻ b, Measure.sum (fun n => seq η n (a, b)) {c : γ | (b, c) ∈ s} ∂κ a =
    ∫⁻ b, ∑' n, seq η n (a, b) {c : γ | (b, c) ∈ s} ∂κ a := by
  congr
  ext1 b
  rw [Measure.sum_apply]
  exact measurable_prod_mk_left hs
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∑' (n : ℕ), ∫⁻ (b : β), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
this :
  ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∫⁻ (b : β), ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
⊢ ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∑' (n : ℕ), ∫⁻ (b : β), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a

tactic: rw [this, lintegral_tsum]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
this :
  ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∫⁻ (b : β), ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
⊢ ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∑' (n : ℕ), ∫⁻ (b : β), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
this :
  ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∫⁻ (b : β), ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
⊢ ∀ (i : ℕ), AEMeasurable (fun b => ((seq η i) (a, b)) {c | (b, c) ∈ s}) (κ a)

tactic: exact fun n => ((measurable_kernel_prod_mk_left (κ := (seq η n))
  ((measurable_fst.snd.prod_mk measurable_snd) hs)).comp measurable_prod_mk_left).aemeasurable
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
this :
  ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∫⁻ (b : β), ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
⊢ ∀ (i : ℕ), AEMeasurable (fun b => ((seq η i) (a, b)) {c | (b, c) ∈ s}) (κ a)
state_after: no goals

tactic: congr
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ ∫⁻ (b : β), (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a =
    ∫⁻ (b : β), ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s} ∂κ a
state_after: case e_f
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ (fun b => (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s}) = fun b =>
    ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s}

tactic: ext1 b
state_before: case e_f
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
⊢ (fun b => (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s}) = fun b =>
    ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s}
state_after: case e_f.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
b : β
⊢ (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} = ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s}

tactic: rw [Measure.sum_apply]
state_before: case e_f.h
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
b : β
⊢ (Measure.sum fun n => (seq η n) (a, b)) {c | (b, c) ∈ s} = ∑' (n : ℕ), ((seq η n) (a, b)) {c | (b, c) ∈ s}
state_after: case e_f.h.hs
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
b : β
⊢ MeasurableSet {c | (b, c) ∈ s}

tactic: exact measurable_prod_mk_left hs
state_before: case e_f.h.hs
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
s : Set (β × γ)
κ : ↥(kernel α β)
η : ↥(kernel (α × β) γ)
inst✝ : IsSFiniteKernel η
a : α
hs : MeasurableSet s
b : β
⊢ MeasurableSet {c | (b, c) ∈ s}
state_after: no goals