Theorem: ProbabilityTheory.kernel.compProd_fst_condKernelCountable
File: Mathlib/Probability/Kernel/Disintegration/Basic.lean

tactic: ext a s hs
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
⊢ fst κ ⊗ₖ condKernelCountable κ = κ
state_after: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = (κ a) s

tactic: have h := (κ a).compProd_fst_condKernel
state_before: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = (κ a) s
state_after: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = (κ a) s

tactic: conv_rhs => rw [← h]
state_before: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = (κ a) s
state_after: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = ((κ a).fst ⊗ₘ (κ a).condKernel) s

tactic: simp_rw [compProd_apply _ _ _ hs, condKernelCountable_apply, Measure.compProd_apply hs]
state_before: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ((fst κ ⊗ₖ condKernelCountable κ) a) s = ((κ a).fst ⊗ₘ (κ a).condKernel) s
state_after: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ∫⁻ (b : β), ((κ a).condKernel b) {c | (b, c) ∈ s} ∂(fst κ) a =
    ∫⁻ (a_1 : β), ((κ a).condKernel a_1) (Prod.mk a_1 ⁻¹' s) ∂(κ a).fst

tactic: congr
state_before: case h.h
α : Type u_1
β : Type u_2
γ : Type u_3
Ω : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁵ : CountablyGenerated γ
inst✝⁴ : MeasurableSpace Ω
inst✝³ : StandardBorelSpace Ω
inst✝² : Nonempty Ω
inst✝¹ : Countable α
κ : ↥(kernel α (β × Ω))
inst✝ : IsFiniteKernel κ
a : α
s : Set (β × Ω)
hs : MeasurableSet s
h : (κ a).fst ⊗ₘ (κ a).condKernel = κ a
⊢ ∫⁻ (b : β), ((κ a).condKernel b) {c | (b, c) ∈ s} ∂(fst κ) a =
    ∫⁻ (a_1 : β), ((κ a).condKernel a_1) (Prod.mk a_1 ⁻¹' s) ∂(κ a).fst
state_after: no goals