probability.kernel.integral_comp_prodMathlib.Probability.Kernel.IntegralCompProd

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -294,7 +294,7 @@ theorem integral_compProd :
   apply integrable.induction
   · intro c s hs h2s
     simp_rw [integral_indicator hs, ← indicator_comp_right, Function.comp,
-      integral_indicator (measurable_prod_mk_left hs), MeasureTheory.set_integral_const,
+      integral_indicator (measurable_prod_mk_left hs), MeasureTheory.setIntegral_const,
       integral_smul_const]
     congr 1
     rw [integral_to_real]
@@ -317,35 +317,35 @@ theorem integral_compProd :
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ProbabilityTheory.set_integral_compProd /-
-theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs : MeasurableSet s)
+#print ProbabilityTheory.setIntegral_compProd /-
+theorem setIntegral_compProd {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 :=
   by
   rw [← kernel.restrict_apply (κ ⊗ₖ η) (hs.prod ht), ← comp_prod_restrict, integral_comp_prod]
   · simp_rw [kernel.restrict_apply]
   · rw [comp_prod_restrict, kernel.restrict_apply]; exact hf
-#align probability_theory.set_integral_comp_prod ProbabilityTheory.set_integral_compProd
+#align probability_theory.set_integral_comp_prod ProbabilityTheory.setIntegral_compProd
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ProbabilityTheory.set_integral_compProd_univ_right /-
-theorem set_integral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
+#print ProbabilityTheory.setIntegral_compProd_univ_right /-
+theorem setIntegral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
     (hf : IntegrableOn f (s ×ˢ univ) ((κ ⊗ₖ η) a)) :
     ∫ z in s ×ˢ univ, f z ∂(κ ⊗ₖ η) a = ∫ x in s, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod hs MeasurableSet.univ hf, measure.restrict_univ]
-#align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.set_integral_compProd_univ_right
+#align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.setIntegral_compProd_univ_right
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ProbabilityTheory.set_integral_compProd_univ_left /-
-theorem set_integral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
+#print ProbabilityTheory.setIntegral_compProd_univ_left /-
+theorem setIntegral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
     (hf : IntegrableOn f (univ ×ˢ t) ((κ ⊗ₖ η) a)) :
     ∫ z in univ ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod MeasurableSet.univ ht hf, measure.restrict_univ]
-#align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.set_integral_compProd_univ_left
+#align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.setIntegral_compProd_univ_left
 -/
 
 end ProbabilityTheory
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2023 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne
 -/
-import Mathbin.Probability.Kernel.Composition
-import Mathbin.MeasureTheory.Integral.SetIntegral
+import Probability.Kernel.Composition
+import MeasureTheory.Integral.SetIntegral
 
 #align_import probability.kernel.integral_comp_prod from "leanprover-community/mathlib"@"f2ad3645af9effcdb587637dc28a6074edc813f9"
 
Diff
@@ -281,7 +281,7 @@ theorem kernel.continuous_integral_integral :
   simp_rw [← kernel.lintegral_comp_prod _ _ _ (this _), ← L1.of_real_norm_sub_eq_lintegral, ←
     of_real_zero]
   refine' (continuous_of_real.tendsto 0).comp _
-  rw [← tendsto_iff_norm_tendsto_zero]
+  rw [← tendsto_iff_norm_sub_tendsto_zero]
   exact tendsto_id
 #align probability_theory.kernel.continuous_integral_integral ProbabilityTheory.kernel.continuous_integral_integral
 -/
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2023 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module probability.kernel.integral_comp_prod
-! leanprover-community/mathlib commit f2ad3645af9effcdb587637dc28a6074edc813f9
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Probability.Kernel.Composition
 import Mathbin.MeasureTheory.Integral.SetIntegral
 
+#align_import probability.kernel.integral_comp_prod from "leanprover-community/mathlib"@"f2ad3645af9effcdb587637dc28a6074edc813f9"
+
 /-!
 # Bochner integral of a function against the composition-product of two kernels
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne
 
 ! This file was ported from Lean 3 source module probability.kernel.integral_comp_prod
-! leanprover-community/mathlib commit c0d694db494dd4f9aa57f2714b6e4c82b4ebc113
+! leanprover-community/mathlib commit f2ad3645af9effcdb587637dc28a6074edc813f9
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.MeasureTheory.Integral.SetIntegral
 /-!
 # Bochner integral of a function against the composition-product of two kernels
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We prove properties of the composition-product of two kernels. If `κ` is an s-finite kernel from
 `α` to `β` and `η` is an s-finite kernel from `α × β` to `γ`, we can form their composition-product
 `κ ⊗ₖ η : kernel α (β × γ)`. We proved in `probability.kernel.lintegral_comp_prod` that it verifies
Diff
@@ -47,6 +47,7 @@ variable {α β γ E : Type _} {mα : MeasurableSpace α} {mβ : MeasurableSpace
 
 namespace ProbabilityTheory
 
+#print ProbabilityTheory.hasFiniteIntegral_prod_mk_left /-
 theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ ⊗ₖ η) a s ≠ ∞) :
     HasFiniteIntegral (fun b => (η (a, b) (Prod.mk b ⁻¹' s)).toReal) (κ a) :=
   by
@@ -64,7 +65,9 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
     _ = (κ ⊗ₖ η) a s := (measure_to_measurable s)
     _ < ⊤ := h2s.lt_top
 #align probability_theory.has_finite_integral_prod_mk_left ProbabilityTheory.hasFiniteIntegral_prod_mk_left
+-/
 
+#print ProbabilityTheory.integrable_kernel_prod_mk_left /-
 theorem integrable_kernel_prod_mk_left (a : α) {s : Set (β × γ)} (hs : MeasurableSet s)
     (h2s : (κ ⊗ₖ η) a s ≠ ∞) : Integrable (fun b => (η (a, b) (Prod.mk b ⁻¹' s)).toReal) (κ a) :=
   by
@@ -72,24 +75,30 @@ theorem integrable_kernel_prod_mk_left (a : α) {s : Set (β × γ)} (hs : Measu
   · exact (measurable_kernel_prod_mk_left' hs a).ennreal_toReal.AEStronglyMeasurable
   · exact has_finite_integral_prod_mk_left a h2s
 #align probability_theory.integrable_kernel_prod_mk_left ProbabilityTheory.integrable_kernel_prod_mk_left
+-/
 
+#print MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd /-
 theorem MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd [NormedSpace ℝ E]
     [CompleteSpace E] ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     AEStronglyMeasurable (fun x => ∫ y, f (x, y) ∂η (a, x)) (κ a) :=
   ⟨fun x => ∫ y, hf.mk f (x, y) ∂η (a, x), hf.stronglyMeasurable_mk.integral_kernel_prod_right'', by
     filter_upwards [ae_ae_of_ae_comp_prod hf.ae_eq_mk] with _ hx using integral_congr_ae hx⟩
 #align measure_theory.ae_strongly_measurable.integral_kernel_comp_prod MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd
+-/
 
+#print MeasureTheory.AEStronglyMeasurable.compProd_mk_left /-
 theorem MeasureTheory.AEStronglyMeasurable.compProd_mk_left {δ : Type _} [TopologicalSpace δ]
     {f : β × γ → δ} (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     ∀ᵐ x ∂κ a, AEStronglyMeasurable (fun y => f (x, y)) (η (a, x)) := by
   filter_upwards [ae_ae_of_ae_comp_prod hf.ae_eq_mk] with x hx using
     ⟨fun y => hf.mk f (x, y), hf.strongly_measurable_mk.comp_measurable measurable_prod_mk_left, hx⟩
 #align measure_theory.ae_strongly_measurable.comp_prod_mk_left MeasureTheory.AEStronglyMeasurable.compProd_mk_left
+-/
 
 /-! ### Integrability -/
 
 
+#print ProbabilityTheory.hasFiniteIntegral_compProd_iff /-
 theorem hasFiniteIntegral_compProd_iff ⦃f : β × γ → E⦄ (h1f : StronglyMeasurable f) :
     HasFiniteIntegral f ((κ ⊗ₖ η) a) ↔
       (∀ᵐ x ∂κ a, HasFiniteIntegral (fun y => f (x, y)) (η (a, x))) ∧
@@ -109,7 +118,9 @@ theorem hasFiniteIntegral_compProd_iff ⦃f : β × γ → E⦄ (h1f : StronglyM
     rw [of_real_to_real]; rw [← lt_top_iff_ne_top]; exact hx
   · intro h2f; refine' ae_lt_top _ h2f.ne; exact h1f.ennnorm.lintegral_kernel_prod_right''
 #align probability_theory.has_finite_integral_comp_prod_iff ProbabilityTheory.hasFiniteIntegral_compProd_iff
+-/
 
+#print ProbabilityTheory.hasFiniteIntegral_compProd_iff' /-
 theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
     (h1f : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     HasFiniteIntegral f ((κ ⊗ₖ η) a) ↔
@@ -127,7 +138,9 @@ theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
     filter_upwards [ae_ae_of_ae_comp_prod h1f.ae_eq_mk.symm] with _ hx using
       integral_congr_ae (eventually_eq.fun_comp hx _)
 #align probability_theory.has_finite_integral_comp_prod_iff' ProbabilityTheory.hasFiniteIntegral_compProd_iff'
+-/
 
+#print ProbabilityTheory.integrable_compProd_iff /-
 theorem integrable_compProd_iff ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     Integrable f ((κ ⊗ₖ η) a) ↔
       (∀ᵐ x ∂κ a, Integrable (fun y => f (x, y)) (η (a, x))) ∧
@@ -136,17 +149,23 @@ theorem integrable_compProd_iff ⦃f : β × γ → E⦄ (hf : AEStronglyMeasura
   simp only [integrable, has_finite_integral_comp_prod_iff' hf, hf.norm.integral_kernel_comp_prod,
     hf, hf.comp_prod_mk_left, eventually_and, true_and_iff]
 #align probability_theory.integrable_comp_prod_iff ProbabilityTheory.integrable_compProd_iff
+-/
 
+#print MeasureTheory.Integrable.compProd_mk_left_ae /-
 theorem MeasureTheory.Integrable.compProd_mk_left_ae ⦃f : β × γ → E⦄
     (hf : Integrable f ((κ ⊗ₖ η) a)) : ∀ᵐ x ∂κ a, Integrable (fun y => f (x, y)) (η (a, x)) :=
   ((integrable_compProd_iff hf.AEStronglyMeasurable).mp hf).1
 #align measure_theory.integrable.comp_prod_mk_left_ae MeasureTheory.Integrable.compProd_mk_left_ae
+-/
 
+#print MeasureTheory.Integrable.integral_norm_compProd /-
 theorem MeasureTheory.Integrable.integral_norm_compProd ⦃f : β × γ → E⦄
     (hf : Integrable f ((κ ⊗ₖ η) a)) : Integrable (fun x => ∫ y, ‖f (x, y)‖ ∂η (a, x)) (κ a) :=
   ((integrable_compProd_iff hf.AEStronglyMeasurable).mp hf).2
 #align measure_theory.integrable.integral_norm_comp_prod MeasureTheory.Integrable.integral_norm_compProd
+-/
 
+#print MeasureTheory.Integrable.integral_compProd /-
 theorem MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [CompleteSpace E]
     ⦃f : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a)) :
     Integrable (fun x => ∫ y, f (x, y) ∂η (a, x)) (κ a) :=
@@ -157,6 +176,7 @@ theorem MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [Complete
             integral_nonneg_of_ae <|
               eventually_of_forall fun y => (norm_nonneg (f (x, y)) : _)).symm
 #align measure_theory.integrable.integral_comp_prod MeasureTheory.Integrable.integral_compProd
+-/
 
 /-! ### Bochner integral -/
 
@@ -164,6 +184,7 @@ theorem MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [Complete
 variable [NormedSpace ℝ E] [CompleteSpace E] {E' : Type _} [NormedAddCommGroup E']
   [CompleteSpace E'] [NormedSpace ℝ E']
 
+#print ProbabilityTheory.kernel.integral_fn_integral_add /-
 theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E')
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, F (∫ y, f (x, y) + g (x, y) ∂η (a, x)) ∂κ a =
@@ -173,7 +194,9 @@ theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E'
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_add h2f h2g]
 #align probability_theory.kernel.integral_fn_integral_add ProbabilityTheory.kernel.integral_fn_integral_add
+-/
 
+#print ProbabilityTheory.kernel.integral_fn_integral_sub /-
 theorem kernel.integral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → E')
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a =
@@ -183,7 +206,9 @@ theorem kernel.integral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → E'
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_sub h2f h2g]
 #align probability_theory.kernel.integral_fn_integral_sub ProbabilityTheory.kernel.integral_fn_integral_sub
+-/
 
+#print ProbabilityTheory.kernel.lintegral_fn_integral_sub /-
 theorem kernel.lintegral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → ℝ≥0∞)
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫⁻ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a =
@@ -193,7 +218,9 @@ theorem kernel.lintegral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → 
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_sub h2f h2g]
 #align probability_theory.kernel.lintegral_fn_integral_sub ProbabilityTheory.kernel.lintegral_fn_integral_sub
+-/
 
+#print ProbabilityTheory.kernel.integral_integral_add /-
 theorem kernel.integral_integral_add ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, ∫ y, f (x, y) + g (x, y) ∂η (a, x) ∂κ a =
@@ -201,14 +228,18 @@ theorem kernel.integral_integral_add ⦃f g : β × γ → E⦄ (hf : Integrable
   (kernel.integral_fn_integral_add id hf hg).trans <|
     integral_add hf.integral_compProd hg.integral_compProd
 #align probability_theory.kernel.integral_integral_add ProbabilityTheory.kernel.integral_integral_add
+-/
 
+#print ProbabilityTheory.kernel.integral_integral_add' /-
 theorem kernel.integral_integral_add' ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, ∫ y, (f + g) (x, y) ∂η (a, x) ∂κ a =
       ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a + ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   kernel.integral_integral_add hf hg
 #align probability_theory.kernel.integral_integral_add' ProbabilityTheory.kernel.integral_integral_add'
+-/
 
+#print ProbabilityTheory.kernel.integral_integral_sub /-
 theorem kernel.integral_integral_sub ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, ∫ y, f (x, y) - g (x, y) ∂η (a, x) ∂κ a =
@@ -216,14 +247,18 @@ theorem kernel.integral_integral_sub ⦃f g : β × γ → E⦄ (hf : Integrable
   (kernel.integral_fn_integral_sub id hf hg).trans <|
     integral_sub hf.integral_compProd hg.integral_compProd
 #align probability_theory.kernel.integral_integral_sub ProbabilityTheory.kernel.integral_integral_sub
+-/
 
+#print ProbabilityTheory.kernel.integral_integral_sub' /-
 theorem kernel.integral_integral_sub' ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
     ∫ x, ∫ y, (f - g) (x, y) ∂η (a, x) ∂κ a =
       ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a - ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   kernel.integral_integral_sub hf hg
 #align probability_theory.kernel.integral_integral_sub' ProbabilityTheory.kernel.integral_integral_sub'
+-/
 
+#print ProbabilityTheory.kernel.continuous_integral_integral /-
 theorem kernel.continuous_integral_integral :
     Continuous fun f : α × β →₁[(κ ⊗ₖ η) a] E => ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a :=
   by
@@ -249,7 +284,9 @@ theorem kernel.continuous_integral_integral :
   rw [← tendsto_iff_norm_tendsto_zero]
   exact tendsto_id
 #align probability_theory.kernel.continuous_integral_integral ProbabilityTheory.kernel.continuous_integral_integral
+-/
 
+#print ProbabilityTheory.integral_compProd /-
 theorem integral_compProd :
     ∀ {f : β × γ → E} (hf : Integrable f ((κ ⊗ₖ η) a)),
       ∫ z, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a :=
@@ -276,9 +313,11 @@ theorem integral_compProd :
       refine' (ae_ae_of_ae_comp_prod hfg).mp (eventually_of_forall _)
       exact fun x hfgx => integral_congr_ae (ae_eq_symm hfgx)
 #align probability_theory.integral_comp_prod ProbabilityTheory.integral_compProd
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ProbabilityTheory.set_integral_compProd /-
 theorem set_integral_compProd {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 :=
@@ -287,22 +326,27 @@ theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs
   · simp_rw [kernel.restrict_apply]
   · rw [comp_prod_restrict, kernel.restrict_apply]; exact hf
 #align probability_theory.set_integral_comp_prod ProbabilityTheory.set_integral_compProd
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ProbabilityTheory.set_integral_compProd_univ_right /-
 theorem set_integral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
     (hf : IntegrableOn f (s ×ˢ univ) ((κ ⊗ₖ η) a)) :
     ∫ z in s ×ˢ univ, f z ∂(κ ⊗ₖ η) a = ∫ x in s, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod hs MeasurableSet.univ hf, measure.restrict_univ]
 #align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.set_integral_compProd_univ_right
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ProbabilityTheory.set_integral_compProd_univ_left /-
 theorem set_integral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
     (hf : IntegrableOn f (univ ×ˢ t) ((κ ⊗ₖ η) a)) :
     ∫ z in univ ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod MeasurableSet.univ ht hf, measure.restrict_univ]
 #align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.set_integral_compProd_univ_left
+-/
 
 end ProbabilityTheory
 
Diff
@@ -53,7 +53,7 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
   let t := to_measurable ((κ ⊗ₖ η) a) s
   simp_rw [has_finite_integral, ennnorm_eq_of_real to_real_nonneg]
   calc
-    (∫⁻ b, ENNReal.ofReal (η (a, b) (Prod.mk b ⁻¹' s)).toReal ∂κ a) ≤
+    ∫⁻ b, ENNReal.ofReal (η (a, b) (Prod.mk b ⁻¹' s)).toReal ∂κ a ≤
         ∫⁻ b, η (a, b) (Prod.mk b ⁻¹' t) ∂κ a :=
       by
       refine' lintegral_mono_ae _
@@ -166,8 +166,8 @@ variable [NormedSpace ℝ E] [CompleteSpace E] {E' : Type _} [NormedAddCommGroup
 
 theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E')
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, F (∫ y, f (x, y) + g (x, y) ∂η (a, x)) ∂κ a) =
-      ∫ x, F ((∫ y, f (x, y) ∂η (a, x)) + ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
+    ∫ x, F (∫ y, f (x, y) + g (x, y) ∂η (a, x)) ∂κ a =
+      ∫ x, F (∫ y, f (x, y) ∂η (a, x) + ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' integral_congr_ae _
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
@@ -176,8 +176,8 @@ theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E'
 
 theorem kernel.integral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → E')
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a) =
-      ∫ x, F ((∫ y, f (x, y) ∂η (a, x)) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
+    ∫ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a =
+      ∫ x, F (∫ y, f (x, y) ∂η (a, x) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' integral_congr_ae _
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
@@ -186,8 +186,8 @@ theorem kernel.integral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → E'
 
 theorem kernel.lintegral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → ℝ≥0∞)
     (hf : Integrable f ((κ ⊗ₖ η) a)) (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫⁻ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a) =
-      ∫⁻ x, F ((∫ y, f (x, y) ∂η (a, x)) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
+    ∫⁻ x, F (∫ y, f (x, y) - g (x, y) ∂η (a, x)) ∂κ a =
+      ∫⁻ x, F (∫ y, f (x, y) ∂η (a, x) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' lintegral_congr_ae _
   filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
@@ -196,31 +196,31 @@ theorem kernel.lintegral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → 
 
 theorem kernel.integral_integral_add ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, ∫ y, f (x, y) + g (x, y) ∂η (a, x) ∂κ a) =
-      (∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a) + ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
+    ∫ x, ∫ y, f (x, y) + g (x, y) ∂η (a, x) ∂κ a =
+      ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a + ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   (kernel.integral_fn_integral_add id hf hg).trans <|
     integral_add hf.integral_compProd hg.integral_compProd
 #align probability_theory.kernel.integral_integral_add ProbabilityTheory.kernel.integral_integral_add
 
 theorem kernel.integral_integral_add' ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, ∫ y, (f + g) (x, y) ∂η (a, x) ∂κ a) =
-      (∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a) + ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
+    ∫ x, ∫ y, (f + g) (x, y) ∂η (a, x) ∂κ a =
+      ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a + ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   kernel.integral_integral_add hf hg
 #align probability_theory.kernel.integral_integral_add' ProbabilityTheory.kernel.integral_integral_add'
 
 theorem kernel.integral_integral_sub ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, ∫ y, f (x, y) - g (x, y) ∂η (a, x) ∂κ a) =
-      (∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a) - ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
+    ∫ x, ∫ y, f (x, y) - g (x, y) ∂η (a, x) ∂κ a =
+      ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a - ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   (kernel.integral_fn_integral_sub id hf hg).trans <|
     integral_sub hf.integral_compProd hg.integral_compProd
 #align probability_theory.kernel.integral_integral_sub ProbabilityTheory.kernel.integral_integral_sub
 
 theorem kernel.integral_integral_sub' ⦃f g : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a))
     (hg : Integrable g ((κ ⊗ₖ η) a)) :
-    (∫ x, ∫ y, (f - g) (x, y) ∂η (a, x) ∂κ a) =
-      (∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a) - ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
+    ∫ x, ∫ y, (f - g) (x, y) ∂η (a, x) ∂κ a =
+      ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a - ∫ x, ∫ y, g (x, y) ∂η (a, x) ∂κ a :=
   kernel.integral_integral_sub hf hg
 #align probability_theory.kernel.integral_integral_sub' ProbabilityTheory.kernel.integral_integral_sub'
 
@@ -252,7 +252,7 @@ theorem kernel.continuous_integral_integral :
 
 theorem integral_compProd :
     ∀ {f : β × γ → E} (hf : Integrable f ((κ ⊗ₖ η) a)),
-      (∫ z, f z ∂(κ ⊗ₖ η) a) = ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a :=
+      ∫ z, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a :=
   by
   apply integrable.induction
   · intro c s hs h2s
@@ -281,7 +281,7 @@ theorem integral_compProd :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem set_integral_compProd {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 :=
+    ∫ z in s ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ x in s, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a :=
   by
   rw [← kernel.restrict_apply (κ ⊗ₖ η) (hs.prod ht), ← comp_prod_restrict, integral_comp_prod]
   · simp_rw [kernel.restrict_apply]
@@ -292,7 +292,7 @@ theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem set_integral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
     (hf : IntegrableOn f (s ×ˢ univ) ((κ ⊗ₖ η) a)) :
-    (∫ z in s ×ˢ univ, f z ∂(κ ⊗ₖ η) a) = ∫ x in s, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
+    ∫ z in s ×ˢ univ, f z ∂(κ ⊗ₖ η) a = ∫ x in s, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod hs MeasurableSet.univ hf, measure.restrict_univ]
 #align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.set_integral_compProd_univ_right
 
@@ -300,7 +300,7 @@ theorem set_integral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs :
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem set_integral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
     (hf : IntegrableOn f (univ ×ˢ t) ((κ ⊗ₖ η) a)) :
-    (∫ z in univ ×ˢ t, f z ∂(κ ⊗ₖ η) a) = ∫ x, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a := by
+    ∫ z in univ ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a := by
   simp_rw [set_integral_comp_prod MeasurableSet.univ ht hf, measure.restrict_univ]
 #align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.set_integral_compProd_univ_left
 
Diff
@@ -63,7 +63,6 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
     _ ≤ (κ ⊗ₖ η) a t := (le_comp_prod_apply _ _ _ _)
     _ = (κ ⊗ₖ η) a s := (measure_to_measurable s)
     _ < ⊤ := h2s.lt_top
-    
 #align probability_theory.has_finite_integral_prod_mk_left ProbabilityTheory.hasFiniteIntegral_prod_mk_left
 
 theorem integrable_kernel_prod_mk_left (a : α) {s : Set (β × γ)} (hs : MeasurableSet s)
Diff
@@ -57,7 +57,7 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
         ∫⁻ b, η (a, b) (Prod.mk b ⁻¹' t) ∂κ a :=
       by
       refine' lintegral_mono_ae _
-      filter_upwards [ae_kernel_lt_top a h2s]with b hb
+      filter_upwards [ae_kernel_lt_top a h2s] with b hb
       rw [of_real_to_real hb.ne]
       exact measure_mono (preimage_mono (subset_to_measurable _ _))
     _ ≤ (κ ⊗ₖ η) a t := (le_comp_prod_apply _ _ _ _)
@@ -78,15 +78,14 @@ theorem MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd [NormedSpace
     [CompleteSpace E] ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     AEStronglyMeasurable (fun x => ∫ y, f (x, y) ∂η (a, x)) (κ a) :=
   ⟨fun x => ∫ y, hf.mk f (x, y) ∂η (a, x), hf.stronglyMeasurable_mk.integral_kernel_prod_right'', by
-    filter_upwards [ae_ae_of_ae_comp_prod hf.ae_eq_mk]with _ hx using integral_congr_ae hx⟩
+    filter_upwards [ae_ae_of_ae_comp_prod hf.ae_eq_mk] with _ hx using integral_congr_ae hx⟩
 #align measure_theory.ae_strongly_measurable.integral_kernel_comp_prod MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd
 
 theorem MeasureTheory.AEStronglyMeasurable.compProd_mk_left {δ : Type _} [TopologicalSpace δ]
     {f : β × γ → δ} (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     ∀ᵐ x ∂κ a, AEStronglyMeasurable (fun y => f (x, y)) (η (a, x)) := by
-  filter_upwards [ae_ae_of_ae_comp_prod
-      hf.ae_eq_mk]with x hx using⟨fun y => hf.mk f (x, y),
-      hf.strongly_measurable_mk.comp_measurable measurable_prod_mk_left, hx⟩
+  filter_upwards [ae_ae_of_ae_comp_prod hf.ae_eq_mk] with x hx using
+    ⟨fun y => hf.mk f (x, y), hf.strongly_measurable_mk.comp_measurable measurable_prod_mk_left, hx⟩
 #align measure_theory.ae_strongly_measurable.comp_prod_mk_left MeasureTheory.AEStronglyMeasurable.compProd_mk_left
 
 /-! ### Integrability -/
@@ -126,8 +125,8 @@ theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
     intro x hx
     exact has_finite_integral_congr hx
   · apply has_finite_integral_congr
-    filter_upwards [ae_ae_of_ae_comp_prod
-        h1f.ae_eq_mk.symm]with _ hx using integral_congr_ae (eventually_eq.fun_comp hx _)
+    filter_upwards [ae_ae_of_ae_comp_prod h1f.ae_eq_mk.symm] with _ hx using
+      integral_congr_ae (eventually_eq.fun_comp hx _)
 #align probability_theory.has_finite_integral_comp_prod_iff' ProbabilityTheory.hasFiniteIntegral_compProd_iff'
 
 theorem integrable_compProd_iff ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
@@ -172,7 +171,7 @@ theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E'
       ∫ x, F ((∫ y, f (x, y) ∂η (a, x)) + ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' integral_congr_ae _
-  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae]with _ h2f h2g
+  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_add h2f h2g]
 #align probability_theory.kernel.integral_fn_integral_add ProbabilityTheory.kernel.integral_fn_integral_add
 
@@ -182,7 +181,7 @@ theorem kernel.integral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → E'
       ∫ x, F ((∫ y, f (x, y) ∂η (a, x)) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' integral_congr_ae _
-  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae]with _ h2f h2g
+  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_sub h2f h2g]
 #align probability_theory.kernel.integral_fn_integral_sub ProbabilityTheory.kernel.integral_fn_integral_sub
 
@@ -192,7 +191,7 @@ theorem kernel.lintegral_fn_integral_sub ⦃f g : β × γ → E⦄ (F : E → 
       ∫⁻ x, F ((∫ y, f (x, y) ∂η (a, x)) - ∫ y, g (x, y) ∂η (a, x)) ∂κ a :=
   by
   refine' lintegral_congr_ae _
-  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae]with _ h2f h2g
+  filter_upwards [hf.comp_prod_mk_left_ae, hg.comp_prod_mk_left_ae] with _ h2f h2g
   simp [integral_sub h2f h2g]
 #align probability_theory.kernel.lintegral_fn_integral_sub ProbabilityTheory.kernel.lintegral_fn_integral_sub
 
Diff
@@ -37,7 +37,7 @@ kernels.
 
 noncomputable section
 
-open Topology ENNReal MeasureTheory ProbabilityTheory
+open scoped Topology ENNReal MeasureTheory ProbabilityTheory
 
 open Set Function Real ENNReal MeasureTheory Filter ProbabilityTheory ProbabilityTheory.kernel
 
Diff
@@ -106,18 +106,10 @@ theorem hasFiniteIntegral_compProd_iff ⦃f : β × γ → E⦄ (h1f : StronglyM
   have : ∀ {p q r : Prop} (h1 : r → p), (r ↔ p ∧ q) ↔ p → (r ↔ q) := fun p q r h1 => by
     rw [← and_congr_right_iff, and_iff_right_of_imp h1]
   rw [this]
-  · intro h2f
-    rw [lintegral_congr_ae]
-    refine' h2f.mp _
-    apply eventually_of_forall
-    intro x hx
-    dsimp only
-    rw [of_real_to_real]
-    rw [← lt_top_iff_ne_top]
-    exact hx
-  · intro h2f
-    refine' ae_lt_top _ h2f.ne
-    exact h1f.ennnorm.lintegral_kernel_prod_right''
+  · intro h2f; rw [lintegral_congr_ae]
+    refine' h2f.mp _; apply eventually_of_forall; intro x hx; dsimp only
+    rw [of_real_to_real]; rw [← lt_top_iff_ne_top]; exact hx
+  · intro h2f; refine' ae_lt_top _ h2f.ne; exact h1f.ennnorm.lintegral_kernel_prod_right''
 #align probability_theory.has_finite_integral_comp_prod_iff ProbabilityTheory.hasFiniteIntegral_compProd_iff
 
 theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
@@ -295,8 +287,7 @@ theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs
   by
   rw [← kernel.restrict_apply (κ ⊗ₖ η) (hs.prod ht), ← comp_prod_restrict, integral_comp_prod]
   · simp_rw [kernel.restrict_apply]
-  · rw [comp_prod_restrict, kernel.restrict_apply]
-    exact hf
+  · rw [comp_prod_restrict, kernel.restrict_apply]; exact hf
 #align probability_theory.set_integral_comp_prod ProbabilityTheory.set_integral_compProd
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/

Changes in mathlib4

mathlib3
mathlib4
chore: replace set_integral with setIntegral (#12215)

Done with a global search and replace, and then (to fix the #align lines), replace (#align \S*)setIntegral with $1set_integral.

Diff
@@ -249,7 +249,7 @@ theorem integral_compProd :
   apply Integrable.induction
   · intro c s hs h2s
     simp_rw [integral_indicator hs, ← indicator_comp_right, Function.comp,
-      integral_indicator (measurable_prod_mk_left hs), MeasureTheory.set_integral_const,
+      integral_indicator (measurable_prod_mk_left hs), MeasureTheory.setIntegral_const,
       integral_smul_const]
     congr 1
     rw [integral_toReal]
@@ -269,25 +269,37 @@ theorem integral_compProd :
         integral_congr_ae (ae_eq_symm hfgx)
 #align probability_theory.integral_comp_prod ProbabilityTheory.integral_compProd
 
-theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs : MeasurableSet s)
+theorem setIntegral_compProd {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 := by
   -- Porting note: `compProd_restrict` needed some explicit argumnts
   rw [← kernel.restrict_apply (κ ⊗ₖ η) (hs.prod ht), ← compProd_restrict hs ht, integral_compProd]
   · simp_rw [kernel.restrict_apply]
   · rw [compProd_restrict, kernel.restrict_apply]; exact hf
-#align probability_theory.set_integral_comp_prod ProbabilityTheory.set_integral_compProd
+#align probability_theory.set_integral_comp_prod ProbabilityTheory.setIntegral_compProd
 
-theorem set_integral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
+@[deprecated]
+alias set_integral_compProd :=
+  setIntegral_compProd -- deprecated on 2024-04-17
+
+theorem setIntegral_compProd_univ_right (f : β × γ → E) {s : Set β} (hs : MeasurableSet s)
     (hf : IntegrableOn f (s ×ˢ univ) ((κ ⊗ₖ η) a)) :
     ∫ z in s ×ˢ univ, f z ∂(κ ⊗ₖ η) a = ∫ x in s, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
-  simp_rw [set_integral_compProd hs MeasurableSet.univ hf, Measure.restrict_univ]
-#align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.set_integral_compProd_univ_right
+  simp_rw [setIntegral_compProd hs MeasurableSet.univ hf, Measure.restrict_univ]
+#align probability_theory.set_integral_comp_prod_univ_right ProbabilityTheory.setIntegral_compProd_univ_right
+
+@[deprecated]
+alias set_integral_compProd_univ_right :=
+  setIntegral_compProd_univ_right -- deprecated on 2024-04-17
 
-theorem set_integral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
+theorem setIntegral_compProd_univ_left (f : β × γ → E) {t : Set γ} (ht : MeasurableSet t)
     (hf : IntegrableOn f (univ ×ˢ t) ((κ ⊗ₖ η) a)) :
     ∫ z in univ ×ˢ t, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y in t, f (x, y) ∂η (a, x) ∂κ a := by
-  simp_rw [set_integral_compProd MeasurableSet.univ ht hf, Measure.restrict_univ]
-#align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.set_integral_compProd_univ_left
+  simp_rw [setIntegral_compProd MeasurableSet.univ ht hf, Measure.restrict_univ]
+#align probability_theory.set_integral_comp_prod_univ_left ProbabilityTheory.setIntegral_compProd_univ_left
+
+@[deprecated]
+alias set_integral_compProd_univ_left :=
+  setIntegral_compProd_univ_left -- deprecated on 2024-04-17
 
 end ProbabilityTheory
feat(Probability/Kernel): disintegration of finite kernels (#10603)

Let κ : kernel α (β × Ω) be a finite kernel, where Ω is a standard Borel space. Then if α is countable or β has a countably generated σ-algebra (for example if it is standard Borel), then there exists a kernel (α × β) Ω called conditional kernel and denoted by condKernel κ such that κ = fst κ ⊗ₖ condKernel κ.

Properties of integrals involving condKernel are collated in the file Integral.lean. The conditional kernel is unique (almost everywhere w.r.t. fst κ): this is proved in the file Unique.lean.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Rémy Degenne <remydegenne@gmail.com>

Diff
@@ -69,7 +69,7 @@ theorem integrable_kernel_prod_mk_left (a : α) {s : Set (β × γ)} (hs : Measu
 #align probability_theory.integrable_kernel_prod_mk_left ProbabilityTheory.integrable_kernel_prod_mk_left
 
 theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd [NormedSpace ℝ E]
-    [CompleteSpace E] ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
+    ⦃f : β × γ → E⦄ (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     AEStronglyMeasurable (fun x => ∫ y, f (x, y) ∂η (a, x)) (κ a) :=
   ⟨fun x => ∫ y, hf.mk f (x, y) ∂η (a, x), hf.stronglyMeasurable_mk.integral_kernel_prod_right'', by
     filter_upwards [ae_ae_of_ae_compProd hf.ae_eq_mk] with _ hx using integral_congr_ae hx⟩
@@ -138,7 +138,7 @@ theorem _root_.MeasureTheory.Integrable.integral_norm_compProd ⦃f : β × γ 
   ((integrable_compProd_iff hf.aestronglyMeasurable).mp hf).2
 #align measure_theory.integrable.integral_norm_comp_prod MeasureTheory.Integrable.integral_norm_compProd
 
-theorem _root_.MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [CompleteSpace E]
+theorem _root_.MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E]
     ⦃f : β × γ → E⦄ (hf : Integrable f ((κ ⊗ₖ η) a)) :
     Integrable (fun x => ∫ y, f (x, y) ∂η (a, x)) (κ a) :=
   Integrable.mono hf.integral_norm_compProd hf.aestronglyMeasurable.integral_kernel_compProd <|
@@ -152,7 +152,7 @@ theorem _root_.MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [C
 /-! ### Bochner integral -/
 
 
-variable [NormedSpace ℝ E] [CompleteSpace E] {E' : Type*} [NormedAddCommGroup E']
+variable [NormedSpace ℝ E] {E' : Type*} [NormedAddCommGroup E']
   [CompleteSpace E'] [NormedSpace ℝ E']
 
 theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E')
@@ -244,6 +244,8 @@ theorem kernel.continuous_integral_integral :
 theorem integral_compProd :
     ∀ {f : β × γ → E} (_ : Integrable f ((κ ⊗ₖ η) a)),
       ∫ z, f z ∂(κ ⊗ₖ η) a = ∫ x, ∫ y, f (x, y) ∂η (a, x) ∂κ a := by
+  by_cases hE : CompleteSpace E; swap
+  · simp [integral, hE]
   apply Integrable.induction
   · intro c s hs h2s
     simp_rw [integral_indicator hs, ← indicator_comp_right, Function.comp,
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -56,8 +56,8 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
       filter_upwards [ae_kernel_lt_top a h2s] with b hb
       rw [ofReal_toReal hb.ne]
       exact measure_mono (preimage_mono (subset_toMeasurable _ _))
-    _ ≤ (κ ⊗ₖ η) a t := (le_compProd_apply _ _ _ _)
-    _ = (κ ⊗ₖ η) a s := (measure_toMeasurable s)
+    _ ≤ (κ ⊗ₖ η) a t := le_compProd_apply _ _ _ _
+    _ = (κ ⊗ₖ η) a s := measure_toMeasurable s
     _ < ⊤ := h2s.lt_top
 #align probability_theory.has_finite_integral_prod_mk_left ProbabilityTheory.hasFiniteIntegral_prod_mk_left
 
chore: golf using filter_upwards (#11208)

This is presumably not exhaustive, but covers about a hundred instances.

Style opinions (e.g., why a particular change is great/not a good idea) are very welcome; I'm still forming my own.

Diff
@@ -99,9 +99,9 @@ theorem hasFiniteIntegral_compProd_iff ⦃f : β × γ → E⦄ (h1f : StronglyM
     rw [← and_congr_right_iff, and_iff_right_of_imp h1]
   rw [this]
   · intro h2f; rw [lintegral_congr_ae]
-    refine' h2f.mp _; apply eventually_of_forall; intro x hx; dsimp only
+    filter_upwards [h2f] with x hx
     rw [ofReal_toReal]; rw [← lt_top_iff_ne_top]; exact hx
-  · intro h2f; refine' ae_lt_top _ h2f.ne; exact h1f.ennnorm.lintegral_kernel_prod_right''
+  · intro h2f; refine ae_lt_top ?_ h2f.ne; exact h1f.ennnorm.lintegral_kernel_prod_right''
 #align probability_theory.has_finite_integral_comp_prod_iff ProbabilityTheory.hasFiniteIntegral_compProd_iff
 
 theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
@@ -113,9 +113,8 @@ theorem hasFiniteIntegral_compProd_iff' ⦃f : β × γ → E⦄
     hasFiniteIntegral_compProd_iff h1f.stronglyMeasurable_mk]
   apply and_congr
   · apply eventually_congr
-    filter_upwards [ae_ae_of_ae_compProd h1f.ae_eq_mk.symm]
-    intro x hx
-    exact hasFiniteIntegral_congr hx
+    filter_upwards [ae_ae_of_ae_compProd h1f.ae_eq_mk.symm] with x hx using
+      hasFiniteIntegral_congr hx
   · apply hasFiniteIntegral_congr
     filter_upwards [ae_ae_of_ae_compProd h1f.ae_eq_mk.symm] with _ hx using
       integral_congr_ae (EventuallyEq.fun_comp hx _)
@@ -263,9 +262,9 @@ theorem integral_compProd :
   · intro f g hfg _ hf
     convert hf using 1
     · exact integral_congr_ae hfg.symm
-    · refine' integral_congr_ae _
-      refine' (ae_ae_of_ae_compProd hfg).mp (eventually_of_forall _)
-      exact fun x hfgx => integral_congr_ae (ae_eq_symm hfgx)
+    · apply integral_congr_ae
+      filter_upwards [ae_ae_of_ae_compProd hfg] with x hfgx using
+        integral_congr_ae (ae_eq_symm hfgx)
 #align probability_theory.integral_comp_prod ProbabilityTheory.integral_compProd
 
 theorem set_integral_compProd {f : β × γ → E} {s : Set β} {t : Set γ} (hs : MeasurableSet s)
fix(Analysis,Topology): fix names (#6938)

Rename:

  • tendsto_iff_norm_tendsto_onetendsto_iff_norm_div_tendsto_zero;
  • tendsto_iff_norm_tendsto_zerotendsto_iff_norm_sub_tendsto_zero;
  • tendsto_one_iff_norm_tendsto_onetendsto_one_iff_norm_tendsto_zero;
  • Filter.Tendsto.continuous_of_equicontinuous_atFilter.Tendsto.continuous_of_equicontinuousAt.
Diff
@@ -238,7 +238,7 @@ theorem kernel.continuous_integral_integral :
   simp_rw [← kernel.lintegral_compProd _ _ _ (this _), ← L1.ofReal_norm_sub_eq_lintegral, ←
     ofReal_zero]
   refine' (continuous_ofReal.tendsto 0).comp _
-  rw [← tendsto_iff_norm_tendsto_zero]
+  rw [← tendsto_iff_norm_sub_tendsto_zero]
   exact tendsto_id
 #align probability_theory.kernel.continuous_integral_integral ProbabilityTheory.kernel.continuous_integral_integral
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -39,7 +39,7 @@ open scoped Topology ENNReal MeasureTheory ProbabilityTheory
 
 open Set Function Real ENNReal MeasureTheory Filter ProbabilityTheory ProbabilityTheory.kernel
 
-variable {α β γ E : Type _} {mα : MeasurableSpace α} {mβ : MeasurableSpace β}
+variable {α β γ E : Type*} {mα : MeasurableSpace α} {mβ : MeasurableSpace β}
   {mγ : MeasurableSpace γ} [NormedAddCommGroup E] {κ : kernel α β} [IsSFiniteKernel κ]
   {η : kernel (α × β) γ} [IsSFiniteKernel η] {a : α}
 
@@ -75,7 +75,7 @@ theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd [Norm
     filter_upwards [ae_ae_of_ae_compProd hf.ae_eq_mk] with _ hx using integral_congr_ae hx⟩
 #align measure_theory.ae_strongly_measurable.integral_kernel_comp_prod MeasureTheory.AEStronglyMeasurable.integral_kernel_compProd
 
-theorem _root_.MeasureTheory.AEStronglyMeasurable.compProd_mk_left {δ : Type _} [TopologicalSpace δ]
+theorem _root_.MeasureTheory.AEStronglyMeasurable.compProd_mk_left {δ : Type*} [TopologicalSpace δ]
     {f : β × γ → δ} (hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)) :
     ∀ᵐ x ∂κ a, AEStronglyMeasurable (fun y => f (x, y)) (η (a, x)) := by
   filter_upwards [ae_ae_of_ae_compProd hf.ae_eq_mk] with x hx using
@@ -153,7 +153,7 @@ theorem _root_.MeasureTheory.Integrable.integral_compProd [NormedSpace ℝ E] [C
 /-! ### Bochner integral -/
 
 
-variable [NormedSpace ℝ E] [CompleteSpace E] {E' : Type _} [NormedAddCommGroup E']
+variable [NormedSpace ℝ E] [CompleteSpace E] {E' : Type*} [NormedAddCommGroup E']
   [CompleteSpace E'] [NormedSpace ℝ E']
 
 theorem kernel.integral_fn_integral_add ⦃f g : β × γ → E⦄ (F : E → E')
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2023 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne
-
-! This file was ported from Lean 3 source module probability.kernel.integral_comp_prod
-! leanprover-community/mathlib commit c0d694db494dd4f9aa57f2714b6e4c82b4ebc113
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Probability.Kernel.Composition
 import Mathlib.MeasureTheory.Integral.SetIntegral
 
+#align_import probability.kernel.integral_comp_prod from "leanprover-community/mathlib"@"c0d694db494dd4f9aa57f2714b6e4c82b4ebc113"
+
 /-!
 # Bochner integral of a function against the composition-product of two kernels
 
chore: tidy various files (#5458)
Diff
@@ -16,9 +16,9 @@ import Mathlib.MeasureTheory.Integral.SetIntegral
 
 We prove properties of the composition-product of two kernels. If `κ` is an s-finite kernel from
 `α` to `β` and `η` is an s-finite kernel from `α × β` to `γ`, we can form their composition-product
-`κ ⊗ₖ η : kernel α (β × γ)`. We proved in `probability.kernel.lintegral_comp_prod` that it verifies
-`∫⁻ bc, f bc ∂((κ ⊗ₖ η) a) = ∫⁻ b, ∫⁻ c, f (b, c) ∂(η (a, b)) ∂(κ a)`. In this file, we prove the
-same equality for the Bochner integral.
+`κ ⊗ₖ η : kernel α (β × γ)`. We proved in `ProbabilityTheory.kernel.lintegral_compProd` that it
+verifies `∫⁻ bc, f bc ∂((κ ⊗ₖ η) a) = ∫⁻ b, ∫⁻ c, f (b, c) ∂(η (a, b)) ∂(κ a)`. In this file, we
+prove the same equality for the Bochner integral.
 
 ## Main statements
 
@@ -27,7 +27,8 @@ same equality for the Bochner integral.
 
 ## Implementation details
 
-This file is to a large extent a copy of part of `measure_theory.constructions.prod`. The product of
+This file is to a large extent a copy of part of
+`Mathlib/MeasureTheory/Constructions/Prod/Basic.lean`. The product of
 two measures is a particular case of composition-product of kernels and it turns out that once the
 measurablity of the Lebesgue integral of a kernel is proved, almost all proofs about integrals
 against products of measures extend with minimal modifications to the composition-product of two
@@ -52,8 +53,8 @@ theorem hasFiniteIntegral_prod_mk_left (a : α) {s : Set (β × γ)} (h2s : (κ
   let t := toMeasurable ((κ ⊗ₖ η) a) s
   simp_rw [HasFiniteIntegral, ennnorm_eq_ofReal toReal_nonneg]
   calc
-    ∫⁻ b, ENNReal.ofReal (η (a, b) (Prod.mk b ⁻¹' s)).toReal ∂κ a ≤
-        ∫⁻ b, η (a, b) (Prod.mk b ⁻¹' t) ∂κ a := by
+    ∫⁻ b, ENNReal.ofReal (η (a, b) (Prod.mk b ⁻¹' s)).toReal ∂κ a
+    _ ≤ ∫⁻ b, η (a, b) (Prod.mk b ⁻¹' t) ∂κ a := by
       refine' lintegral_mono_ae _
       filter_upwards [ae_kernel_lt_top a h2s] with b hb
       rw [ofReal_toReal hb.ne]
feat: port Probability.Kernel.IntegralCompProd (#5140)

Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Moritz Firsching <firsching@google.com>

Dependencies 12 + 946

947 files ported (98.7%)
434368 lines ported (98.7%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file