Theorem: ProbabilityTheory.setIntegral_compProd
File: Mathlib/Probability/Kernel/IntegralCompProd.lean

tactic: rw [← kernel.restrict_apply (κ ⊗ₖ η) (hs.prod ht), ← compProd_restrict hs ht, integral_compProd]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ ∫ (z : β × γ) in s ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ (x : β) in s, ∫ (y : γ) in t, f (x, y) ∂η (a, x) ∂κ a
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ ∫ (x : β), ∫ (y : γ), f (x, y) ∂(kernel.restrict η ht) (a, x) ∂(kernel.restrict κ hs) a =
    ∫ (x : β) in s, ∫ (y : γ) in t, f (x, y) ∂η (a, x) ∂κ a

α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ Integrable f ((kernel.restrict κ hs ⊗ₖ kernel.restrict η ht) a)

tactic: simp_rw [kernel.restrict_apply]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ ∫ (x : β), ∫ (y : γ), f (x, y) ∂(kernel.restrict η ht) (a, x) ∂(kernel.restrict κ hs) a =
    ∫ (x : β) in s, ∫ (y : γ) in t, f (x, y) ∂η (a, x) ∂κ a
state_after: no goals

tactic: rw [compProd_restrict, kernel.restrict_apply]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ Integrable f ((kernel.restrict κ hs ⊗ₖ kernel.restrict η ht) a)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ Integrable f (((κ ⊗ₖ η) a).restrict (s ×ˢ t))

tactic: exact hf
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝⁶ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝⁵ : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝⁴ : IsSFiniteKernel η
a : α
inst✝³ : NormedSpace ℝ E
E' : Type u_5
inst✝² : NormedAddCommGroup E'
inst✝¹ : CompleteSpace E'
inst✝ : NormedSpace ℝ E'
f : β × γ → E
s : Set β
t : Set γ
hs : MeasurableSet s
ht : MeasurableSet t
hf : IntegrableOn f (s ×ˢ t) ((κ ⊗ₖ η) a)
⊢ Integrable f (((κ ⊗ₖ η) a).restrict (s ×ˢ t))
state_after: no goals