probability.kernel.condexp
⟷
Mathlib.Probability.Kernel.Condexp
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.
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -64,7 +64,7 @@ theorem MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [TopologicalSpac
AEStronglyMeasurable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.Prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) :=
by
- rw [← ae_strongly_measurable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
+ rw [← ae_strongly_measurable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_id MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id
@@ -76,7 +76,7 @@ theorem MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup F] (hm
Integrable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.Prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) :=
by
- rw [← integrable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
+ rw [← integrable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.integrable.comp_snd_map_prod_id MeasureTheory.Integrable.comp_snd_map_prod_id
@@ -129,7 +129,7 @@ theorem aestronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [Comple
have h :=
ae_strongly_measurable'_integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf.comp_snd_map_prod_id hm)
- rwa [MeasurableSpace.comap_id] at h
+ rwa [MeasurableSpace.comap_id] at h
#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aestronglyMeasurable'_integral_condexpKernel
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ 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.CondDistrib
+import Probability.Kernel.CondDistrib
#align_import probability.kernel.condexp from "leanprover-community/mathlib"@"1b089e3bdc3ce6b39cd472543474a0a137128c6c"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -44,18 +44,18 @@ section AuxLemmas
variable {Ω F : Type _} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
-#print ProbabilityTheory.measurable_id'' /-
+#print measurable_id'' /-
-- todo after the port: move to measure_theory/measurable_space, after measurable.mono
theorem measurable_id'' (hm : m ≤ mΩ) : @Measurable Ω Ω mΩ m id :=
measurable_id.mono le_rfl hm
-#align probability_theory.measurable_id'' ProbabilityTheory.measurable_id''
+#align probability_theory.measurable_id'' measurable_id''
-/
-#print ProbabilityTheory.aemeasurable_id'' /-
+#print aemeasurable_id'' /-
-- todo after the port: move to measure_theory/measurable_space, after measurable.mono
theorem aemeasurable_id'' (μ : Measure Ω) (hm : m ≤ mΩ) : @AEMeasurable Ω Ω m mΩ id μ :=
@Measurable.aemeasurable Ω Ω mΩ m id μ (measurable_id'' hm)
-#align probability_theory.ae_measurable_id'' ProbabilityTheory.aemeasurable_id''
+#align probability_theory.ae_measurable_id'' aemeasurable_id''
-/
#print MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
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.condexp
-! leanprover-community/mathlib commit 1b089e3bdc3ce6b39cd472543474a0a137128c6c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Probability.Kernel.CondDistrib
+#align_import probability.kernel.condexp from "leanprover-community/mathlib"@"1b089e3bdc3ce6b39cd472543474a0a137128c6c"
+
/-!
# Kernel associated with a conditional expectation
mathlib commit https://github.com/leanprover-community/mathlib/commit/d30d31261cdb4d2f5e612eabc3c4bf45556350d5
@@ -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.condexp
-! leanprover-community/mathlib commit 00abe0695d8767201e6d008afa22393978bb324d
+! leanprover-community/mathlib commit 1b089e3bdc3ce6b39cd472543474a0a137128c6c
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Probability.Kernel.CondDistrib
/-!
# Kernel associated with a conditional expectation
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We define `condexp_kernel μ m`, a kernel from `Ω` to `Ω` such that for all integrable functions `f`,
`μ[f | m] =ᵐ[μ] λ ω, ∫ y, f y ∂(condexp_kernel μ m ω)`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/f2ad3645af9effcdb587637dc28a6074edc813f9
@@ -44,16 +44,21 @@ section AuxLemmas
variable {Ω F : Type _} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
+#print ProbabilityTheory.measurable_id'' /-
-- todo after the port: move to measure_theory/measurable_space, after measurable.mono
theorem measurable_id'' (hm : m ≤ mΩ) : @Measurable Ω Ω mΩ m id :=
measurable_id.mono le_rfl hm
#align probability_theory.measurable_id'' ProbabilityTheory.measurable_id''
+-/
+#print ProbabilityTheory.aemeasurable_id'' /-
-- todo after the port: move to measure_theory/measurable_space, after measurable.mono
-theorem aEMeasurable_id'' (μ : Measure Ω) (hm : m ≤ mΩ) : @AEMeasurable Ω Ω m mΩ id μ :=
+theorem aemeasurable_id'' (μ : Measure Ω) (hm : m ≤ mΩ) : @AEMeasurable Ω Ω m mΩ id μ :=
@Measurable.aemeasurable Ω Ω mΩ m id μ (measurable_id'' hm)
-#align probability_theory.ae_measurable_id'' ProbabilityTheory.aEMeasurable_id''
+#align probability_theory.ae_measurable_id'' ProbabilityTheory.aemeasurable_id''
+-/
+#print MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id /-
theorem MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [TopologicalSpace F] (hm : m ≤ mΩ)
(hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable (fun x : Ω × Ω => f x.2)
@@ -63,7 +68,9 @@ theorem MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [TopologicalSpac
simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_id MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id
+-/
+#print MeasureTheory.Integrable.comp_snd_map_prod_id /-
theorem MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup F] (hm : m ≤ mΩ)
(hf : Integrable f μ) :
Integrable (fun x : Ω × Ω => f x.2)
@@ -73,6 +80,7 @@ theorem MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup F] (hm
simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.integrable.comp_snd_map_prod_id MeasureTheory.Integrable.comp_snd_map_prod_id
+-/
end AuxLemmas
@@ -80,6 +88,7 @@ variable {Ω F : Type _} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : M
[PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
[NormedAddCommGroup F] {f : Ω → F}
+#print ProbabilityTheory.condexpKernel /-
/-- Kernel associated with the conditional expectation with respect to a σ-algebra. It satisfies
`μ[f | m] =ᵐ[μ] λ ω, ∫ y, f y ∂(condexp_kernel μ m ω)`.
It is defined as the conditional distribution of the identity given the identity, where the second
@@ -88,14 +97,18 @@ noncomputable irreducible_def condexpKernel (μ : Measure Ω) [IsFiniteMeasure
(m : MeasurableSpace Ω) : @kernel Ω Ω m mΩ :=
@condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ m id id μ _
#align probability_theory.condexp_kernel ProbabilityTheory.condexpKernel
+-/
section Measurability
+#print ProbabilityTheory.measurable_condexpKernel /-
theorem measurable_condexpKernel {s : Set Ω} (hs : MeasurableSet s) :
measurable[m] fun ω => condexpKernel μ m ω s := by rw [condexp_kernel];
convert measurable_cond_distrib hs; rw [MeasurableSpace.comap_id]
#align probability_theory.measurable_condexp_kernel ProbabilityTheory.measurable_condexpKernel
+-/
+#print MeasureTheory.AEStronglyMeasurable.integral_condexpKernel /-
theorem MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [NormedSpace ℝ F]
[CompleteSpace F] (hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ :=
@@ -105,8 +118,10 @@ theorem MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [NormedSpace
ae_strongly_measurable.integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf.comp_snd_map_prod_id hm)
#align measure_theory.ae_strongly_measurable.integral_condexp_kernel MeasureTheory.AEStronglyMeasurable.integral_condexpKernel
+-/
-theorem aEStronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
+#print ProbabilityTheory.aestronglyMeasurable'_integral_condexpKernel /-
+theorem aestronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
(hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable' m (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ :=
by
@@ -115,12 +130,14 @@ theorem aEStronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [Comple
ae_strongly_measurable'_integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf.comp_snd_map_prod_id hm)
rwa [MeasurableSpace.comap_id] at h
-#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aEStronglyMeasurable'_integral_condexpKernel
+#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aestronglyMeasurable'_integral_condexpKernel
+-/
end Measurability
section Integrability
+#print MeasureTheory.Integrable.condexpKernel_ae /-
theorem MeasureTheory.Integrable.condexpKernel_ae (hm : m ≤ mΩ) (hf_int : Integrable f μ) :
∀ᵐ ω ∂μ, Integrable f (condexpKernel μ m ω) :=
by
@@ -129,7 +146,9 @@ theorem MeasureTheory.Integrable.condexpKernel_ae (hm : m ≤ mΩ) (hf_int : Int
integrable.cond_distrib_ae (ae_measurable_id'' μ hm) aemeasurable_id
(hf_int.comp_snd_map_prod_id hm)
#align measure_theory.integrable.condexp_kernel_ae MeasureTheory.Integrable.condexpKernel_ae
+-/
+#print MeasureTheory.Integrable.integral_norm_condexpKernel /-
theorem MeasureTheory.Integrable.integral_norm_condexpKernel (hm : m ≤ mΩ)
(hf_int : Integrable f μ) : Integrable (fun ω => ∫ y, ‖f y‖ ∂condexpKernel μ m ω) μ :=
by
@@ -138,7 +157,9 @@ theorem MeasureTheory.Integrable.integral_norm_condexpKernel (hm : m ≤ mΩ)
integrable.integral_norm_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf_int.comp_snd_map_prod_id hm)
#align measure_theory.integrable.integral_norm_condexp_kernel MeasureTheory.Integrable.integral_norm_condexpKernel
+-/
+#print MeasureTheory.Integrable.norm_integral_condexpKernel /-
theorem MeasureTheory.Integrable.norm_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
(hm : m ≤ mΩ) (hf_int : Integrable f μ) :
Integrable (fun ω => ‖∫ y, f y ∂condexpKernel μ m ω‖) μ :=
@@ -148,7 +169,9 @@ theorem MeasureTheory.Integrable.norm_integral_condexpKernel [NormedSpace ℝ F]
integrable.norm_integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf_int.comp_snd_map_prod_id hm)
#align measure_theory.integrable.norm_integral_condexp_kernel MeasureTheory.Integrable.norm_integral_condexpKernel
+-/
+#print MeasureTheory.Integrable.integral_condexpKernel /-
theorem MeasureTheory.Integrable.integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
(hm : m ≤ mΩ) (hf_int : Integrable f μ) :
Integrable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ :=
@@ -158,16 +181,20 @@ theorem MeasureTheory.Integrable.integral_condexpKernel [NormedSpace ℝ F] [Com
integrable.integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf_int.comp_snd_map_prod_id hm)
#align measure_theory.integrable.integral_condexp_kernel MeasureTheory.Integrable.integral_condexpKernel
+-/
+#print ProbabilityTheory.integrable_toReal_condexpKernel /-
theorem integrable_toReal_condexpKernel (hm : m ≤ mΩ) {s : Set Ω} (hs : MeasurableSet s) :
Integrable (fun ω => (condexpKernel μ m ω s).toReal) μ :=
by
rw [condexp_kernel]
exact integrable_to_real_cond_distrib (ae_measurable_id'' μ hm) hs
#align probability_theory.integrable_to_real_condexp_kernel ProbabilityTheory.integrable_toReal_condexpKernel
+-/
end Integrability
+#print ProbabilityTheory.condexp_ae_eq_integral_condexpKernel /-
/-- The conditional expectation of `f` with respect to a σ-algebra `m` is almost everywhere equal to
the integral `∫ y, f y ∂(condexp_kernel μ m ω)`. -/
theorem condexp_ae_eq_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F] (hm : m ≤ mΩ)
@@ -178,6 +205,7 @@ theorem condexp_ae_eq_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace
refine' eventually_eq.trans _ (condexp_ae_eq_integral_cond_distrib_id hX hf_int)
simp only [MeasurableSpace.comap_id, id.def]
#align probability_theory.condexp_ae_eq_integral_condexp_kernel ProbabilityTheory.condexp_ae_eq_integral_condexpKernel
+-/
end ProbabilityTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -106,16 +106,16 @@ theorem MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [NormedSpace
(hf.comp_snd_map_prod_id hm)
#align measure_theory.ae_strongly_measurable.integral_condexp_kernel MeasureTheory.AEStronglyMeasurable.integral_condexpKernel
-theorem aeStronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
+theorem aEStronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
(hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) :
- AeStronglyMeasurable' m (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ :=
+ AEStronglyMeasurable' m (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ :=
by
rw [condexp_kernel]
have h :=
ae_strongly_measurable'_integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf.comp_snd_map_prod_id hm)
rwa [MeasurableSpace.comap_id] at h
-#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aeStronglyMeasurable'_integral_condexpKernel
+#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aEStronglyMeasurable'_integral_condexpKernel
end Measurability
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -77,15 +77,15 @@ theorem MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup F] (hm
end AuxLemmas
variable {Ω F : Type _} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
- [PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [FiniteMeasure μ]
+ [PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
[NormedAddCommGroup F] {f : Ω → F}
/-- Kernel associated with the conditional expectation with respect to a σ-algebra. It satisfies
`μ[f | m] =ᵐ[μ] λ ω, ∫ y, f y ∂(condexp_kernel μ m ω)`.
It is defined as the conditional distribution of the identity given the identity, where the second
identity is understood as a map from `Ω` with the σ-algebra `mΩ` to `Ω` with σ-algebra `m`. -/
-noncomputable irreducible_def condexpKernel (μ : Measure Ω) [FiniteMeasure μ]
- (m : MeasurableSpace Ω) : @kernel Ω Ω m mΩ :=
+noncomputable irreducible_def condexpKernel (μ : Measure Ω) [IsFiniteMeasure μ]
+ (m : MeasurableSpace Ω) : @kernel Ω Ω m mΩ :=
@condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ m id id μ _
#align probability_theory.condexp_kernel ProbabilityTheory.condexpKernel
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -59,8 +59,8 @@ theorem MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [TopologicalSpac
AEStronglyMeasurable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.Prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) :=
by
- rw [← ae_strongly_measurable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
- simp_rw [id.def] at hf⊢
+ rw [← ae_strongly_measurable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
+ simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_id MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id
@@ -69,8 +69,8 @@ theorem MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup F] (hm
Integrable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.Prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) :=
by
- rw [← integrable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
- simp_rw [id.def] at hf⊢
+ rw [← integrable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
+ simp_rw [id.def] at hf ⊢
exact hf
#align measure_theory.integrable.comp_snd_map_prod_id MeasureTheory.Integrable.comp_snd_map_prod_id
@@ -114,7 +114,7 @@ theorem aeStronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [Comple
have h :=
ae_strongly_measurable'_integral_cond_distrib (ae_measurable_id'' μ hm) aemeasurable_id
(hf.comp_snd_map_prod_id hm)
- rwa [MeasurableSpace.comap_id] at h
+ rwa [MeasurableSpace.comap_id] at h
#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aeStronglyMeasurable'_integral_condexpKernel
end Measurability
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
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>
@@ -97,7 +97,7 @@ theorem stronglyMeasurable_condexpKernel {s : Set Ω} (hs : MeasurableSet s) :
Measurable.stronglyMeasurable (measurable_condexpKernel hs)
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [NormedSpace ℝ F]
- [CompleteSpace F] (hf : AEStronglyMeasurable f μ) :
+ (hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
simp_rw [condexpKernel_apply_eq_condDistrib]
exact AEStronglyMeasurable.integral_condDistrib
@@ -105,7 +105,7 @@ theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [Normed
(hf.comp_snd_map_prod_id inf_le_right)
#align measure_theory.ae_strongly_measurable.integral_condexp_kernel MeasureTheory.AEStronglyMeasurable.integral_condexpKernel
-theorem aestronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
+theorem aestronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F]
(hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable' m (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
rw [condexpKernel]
@@ -139,7 +139,7 @@ theorem _root_.MeasureTheory.Integrable.integral_norm_condexpKernel (hf_int : In
#align measure_theory.integrable.integral_norm_condexp_kernel MeasureTheory.Integrable.integral_norm_condexpKernel
theorem _root_.MeasureTheory.Integrable.norm_integral_condexpKernel [NormedSpace ℝ F]
- [CompleteSpace F] (hf_int : Integrable f μ) :
+ (hf_int : Integrable f μ) :
Integrable (fun ω => ‖∫ y, f y ∂condexpKernel μ m ω‖) μ := by
rw [condexpKernel]
exact Integrable.norm_integral_condDistrib
@@ -147,7 +147,7 @@ theorem _root_.MeasureTheory.Integrable.norm_integral_condexpKernel [NormedSpace
(hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
#align measure_theory.integrable.norm_integral_condexp_kernel MeasureTheory.Integrable.norm_integral_condexpKernel
-theorem _root_.MeasureTheory.Integrable.integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
+theorem _root_.MeasureTheory.Integrable.integral_condexpKernel [NormedSpace ℝ F]
(hf_int : Integrable f μ) :
Integrable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
rw [condexpKernel]
@@ -45,7 +45,7 @@ theorem _root_.MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [Topologi
(hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) : AEStronglyMeasurable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) := by
rw [← aestronglyMeasurable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
- simp_rw [id.def] at hf ⊢
+ simp_rw [id] at hf ⊢
exact hf
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_id MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id
@@ -53,7 +53,7 @@ theorem _root_.MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup
(hf : Integrable f μ) : Integrable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) := by
rw [← integrable_comp_snd_map_prod_mk_iff (measurable_id'' hm)] at hf
- simp_rw [id.def] at hf ⊢
+ simp_rw [id] at hf ⊢
exact hf
#align measure_theory.integrable.comp_snd_map_prod_id MeasureTheory.Integrable.comp_snd_map_prod_id
@@ -59,8 +59,8 @@ theorem _root_.MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup
end AuxLemmas
-variable {Ω F : Type*} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
- [PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
+variable {Ω F : Type*} {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
+ [StandardBorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
/-- Kernel associated with the conditional expectation with respect to a σ-algebra. It satisfies
`μ[f | m] =ᵐ[μ] fun ω => ∫ y, f y ∂(condexpKernel μ m ω)`.
@@ -70,13 +70,12 @@ We use `m ⊓ mΩ` instead of `m` to ensure that it is a sub-σ-algebra of `mΩ`
`kernel.comap` to get a kernel from `m` to `mΩ` instead of from `m ⊓ mΩ` to `mΩ`. -/
noncomputable irreducible_def condexpKernel (μ : Measure Ω) [IsFiniteMeasure μ]
(m : MeasurableSpace Ω) : @kernel Ω Ω m mΩ :=
- kernel.comap (@condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ (m ⊓ mΩ) id id μ _) id
+ kernel.comap (@condDistrib Ω Ω Ω mΩ _ _ mΩ (m ⊓ mΩ) id id μ _) id
(measurable_id'' (inf_le_left : m ⊓ mΩ ≤ m))
#align probability_theory.condexp_kernel ProbabilityTheory.condexpKernel
-set_option autoImplicit true in
-lemma condexpKernel_apply_eq_condDistrib :
- condexpKernel μ m ω = @condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ (m ⊓ mΩ) id id μ _ (id ω) := by
+lemma condexpKernel_apply_eq_condDistrib {ω : Ω} :
+ condexpKernel μ m ω = @condDistrib Ω Ω Ω mΩ _ _ mΩ (m ⊓ mΩ) id id μ _ (id ω) := by
simp_rw [condexpKernel, kernel.comap_apply]
instance : IsMarkovKernel (condexpKernel μ m) := by simp only [condexpKernel]; infer_instance
Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.
The intent of this PR is to make autoImplicit
opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true
in the few files that rely on it.
That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.
I claim that many of the uses of autoImplicit
in these files are accidental; situations such as:
variables
are in scope, but pasting the lemma in the wrong sectionHaving set_option autoImplicit false
as the default prevents these types of mistake being made in the 90% of files where autoImplicit
s are not used at all, and causes them to be caught by CI during review.
I think there were various points during the port where we encouraged porters to delete the universes u v
lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.
A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18
as the no:dontcare:yes
vote ratio.
While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true
has been placed locally within a section, rather than at the top of the file.
@@ -74,6 +74,7 @@ noncomputable irreducible_def condexpKernel (μ : Measure Ω) [IsFiniteMeasure
(measurable_id'' (inf_le_left : m ⊓ mΩ ≤ m))
#align probability_theory.condexp_kernel ProbabilityTheory.condexpKernel
+set_option autoImplicit true in
lemma condexpKernel_apply_eq_condDistrib :
condexpKernel μ m ω = @condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ (m ⊓ mΩ) id id μ _ (id ω) := by
simp_rw [condexpKernel, kernel.comap_apply]
@@ -41,16 +41,6 @@ section AuxLemmas
variable {Ω F : Type*} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
--- Porting note: todo: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
-theorem measurable_id'' (hm : m ≤ mΩ) : @Measurable Ω Ω mΩ m id :=
- measurable_id.mono le_rfl hm
-#align probability_theory.measurable_id'' ProbabilityTheory.measurable_id''
-
--- Porting note: todo: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
-theorem aemeasurable_id'' (μ : Measure Ω) (hm : m ≤ mΩ) : @AEMeasurable Ω Ω m mΩ id μ :=
- @Measurable.aemeasurable Ω Ω mΩ m id μ (measurable_id'' hm)
-#align probability_theory.ae_measurable_id'' ProbabilityTheory.aemeasurable_id''
-
theorem _root_.MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_id [TopologicalSpace F]
(hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) : AEStronglyMeasurable (fun x : Ω × Ω => f x.2)
(@Measure.map Ω (Ω × Ω) (m.prod mΩ) mΩ (fun ω => (id ω, id ω)) μ) := by
@@ -71,91 +61,144 @@ end AuxLemmas
variable {Ω F : Type*} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
[PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
- [NormedAddCommGroup F] {f : Ω → F}
/-- Kernel associated with the conditional expectation with respect to a σ-algebra. It satisfies
`μ[f | m] =ᵐ[μ] fun ω => ∫ y, f y ∂(condexpKernel μ m ω)`.
It is defined as the conditional distribution of the identity given the identity, where the second
-identity is understood as a map from `Ω` with the σ-algebra `mΩ` to `Ω` with σ-algebra `m`. -/
+identity is understood as a map from `Ω` with the σ-algebra `mΩ` to `Ω` with σ-algebra `m ⊓ mΩ`.
+We use `m ⊓ mΩ` instead of `m` to ensure that it is a sub-σ-algebra of `mΩ`. We then use
+`kernel.comap` to get a kernel from `m` to `mΩ` instead of from `m ⊓ mΩ` to `mΩ`. -/
noncomputable irreducible_def condexpKernel (μ : Measure Ω) [IsFiniteMeasure μ]
(m : MeasurableSpace Ω) : @kernel Ω Ω m mΩ :=
- @condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ m id id μ _
+ kernel.comap (@condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ (m ⊓ mΩ) id id μ _) id
+ (measurable_id'' (inf_le_left : m ⊓ mΩ ≤ m))
#align probability_theory.condexp_kernel ProbabilityTheory.condexpKernel
+lemma condexpKernel_apply_eq_condDistrib :
+ condexpKernel μ m ω = @condDistrib Ω Ω Ω _ mΩ _ _ _ mΩ (m ⊓ mΩ) id id μ _ (id ω) := by
+ simp_rw [condexpKernel, kernel.comap_apply]
+
+instance : IsMarkovKernel (condexpKernel μ m) := by simp only [condexpKernel]; infer_instance
+
section Measurability
+variable [NormedAddCommGroup F] {f : Ω → F}
+
theorem measurable_condexpKernel {s : Set Ω} (hs : MeasurableSet s) :
Measurable[m] fun ω => condexpKernel μ m ω s := by
- rw [condexpKernel]; convert measurable_condDistrib (μ := μ) hs; rw [MeasurableSpace.comap_id]
+ simp_rw [condexpKernel_apply_eq_condDistrib]
+ refine Measurable.mono ?_ (inf_le_left : m ⊓ mΩ ≤ m) le_rfl
+ convert measurable_condDistrib (μ := μ) hs
+ rw [MeasurableSpace.comap_id]
#align probability_theory.measurable_condexp_kernel ProbabilityTheory.measurable_condexpKernel
+theorem stronglyMeasurable_condexpKernel {s : Set Ω} (hs : MeasurableSet s) :
+ StronglyMeasurable[m] fun ω => condexpKernel μ m ω s :=
+ Measurable.stronglyMeasurable (measurable_condexpKernel hs)
+
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condexpKernel [NormedSpace ℝ F]
- [CompleteSpace F] (hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) :
+ [CompleteSpace F] (hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
- rw [condexpKernel]
- exact AEStronglyMeasurable.integral_condDistrib (aemeasurable_id'' μ hm) aemeasurable_id
- (hf.comp_snd_map_prod_id hm)
+ simp_rw [condexpKernel_apply_eq_condDistrib]
+ exact AEStronglyMeasurable.integral_condDistrib
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf.comp_snd_map_prod_id inf_le_right)
#align measure_theory.ae_strongly_measurable.integral_condexp_kernel MeasureTheory.AEStronglyMeasurable.integral_condexpKernel
theorem aestronglyMeasurable'_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
- (hm : m ≤ mΩ) (hf : AEStronglyMeasurable f μ) :
+ (hf : AEStronglyMeasurable f μ) :
AEStronglyMeasurable' m (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
rw [condexpKernel]
- have h := aestronglyMeasurable'_integral_condDistrib (aemeasurable_id'' μ hm) aemeasurable_id
- (hf.comp_snd_map_prod_id hm)
- rwa [MeasurableSpace.comap_id] at h
+ have h := aestronglyMeasurable'_integral_condDistrib
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
+ rw [MeasurableSpace.comap_id] at h
+ exact AEStronglyMeasurable'.mono h inf_le_left
#align probability_theory.ae_strongly_measurable'_integral_condexp_kernel ProbabilityTheory.aestronglyMeasurable'_integral_condexpKernel
end Measurability
section Integrability
-theorem _root_.MeasureTheory.Integrable.condexpKernel_ae (hm : m ≤ mΩ) (hf_int : Integrable f μ) :
+variable [NormedAddCommGroup F] {f : Ω → F}
+
+theorem _root_.MeasureTheory.Integrable.condexpKernel_ae (hf_int : Integrable f μ) :
∀ᵐ ω ∂μ, Integrable f (condexpKernel μ m ω) := by
rw [condexpKernel]
- exact Integrable.condDistrib_ae (aemeasurable_id'' μ hm) aemeasurable_id
- (hf_int.comp_snd_map_prod_id hm)
+ exact Integrable.condDistrib_ae
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
#align measure_theory.integrable.condexp_kernel_ae MeasureTheory.Integrable.condexpKernel_ae
-theorem _root_.MeasureTheory.Integrable.integral_norm_condexpKernel (hm : m ≤ mΩ)
- (hf_int : Integrable f μ) : Integrable (fun ω => ∫ y, ‖f y‖ ∂condexpKernel μ m ω) μ := by
+theorem _root_.MeasureTheory.Integrable.integral_norm_condexpKernel (hf_int : Integrable f μ) :
+ Integrable (fun ω => ∫ y, ‖f y‖ ∂condexpKernel μ m ω) μ := by
rw [condexpKernel]
- exact Integrable.integral_norm_condDistrib (aemeasurable_id'' μ hm) aemeasurable_id
- (hf_int.comp_snd_map_prod_id hm)
+ exact Integrable.integral_norm_condDistrib
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
#align measure_theory.integrable.integral_norm_condexp_kernel MeasureTheory.Integrable.integral_norm_condexpKernel
theorem _root_.MeasureTheory.Integrable.norm_integral_condexpKernel [NormedSpace ℝ F]
- [CompleteSpace F] (hm : m ≤ mΩ) (hf_int : Integrable f μ) :
+ [CompleteSpace F] (hf_int : Integrable f μ) :
Integrable (fun ω => ‖∫ y, f y ∂condexpKernel μ m ω‖) μ := by
rw [condexpKernel]
- exact Integrable.norm_integral_condDistrib (aemeasurable_id'' μ hm) aemeasurable_id
- (hf_int.comp_snd_map_prod_id hm)
+ exact Integrable.norm_integral_condDistrib
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
#align measure_theory.integrable.norm_integral_condexp_kernel MeasureTheory.Integrable.norm_integral_condexpKernel
theorem _root_.MeasureTheory.Integrable.integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F]
- (hm : m ≤ mΩ) (hf_int : Integrable f μ) :
+ (hf_int : Integrable f μ) :
Integrable (fun ω => ∫ y, f y ∂condexpKernel μ m ω) μ := by
rw [condexpKernel]
- exact Integrable.integral_condDistrib (aemeasurable_id'' μ hm) aemeasurable_id
- (hf_int.comp_snd_map_prod_id hm)
+ exact Integrable.integral_condDistrib
+ (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) aemeasurable_id
+ (hf_int.comp_snd_map_prod_id (inf_le_right : m ⊓ mΩ ≤ mΩ))
#align measure_theory.integrable.integral_condexp_kernel MeasureTheory.Integrable.integral_condexpKernel
-theorem integrable_toReal_condexpKernel (hm : m ≤ mΩ) {s : Set Ω} (hs : MeasurableSet s) :
+theorem integrable_toReal_condexpKernel {s : Set Ω} (hs : MeasurableSet s) :
Integrable (fun ω => (condexpKernel μ m ω s).toReal) μ := by
rw [condexpKernel]
- exact integrable_toReal_condDistrib (aemeasurable_id'' μ hm) hs
+ exact integrable_toReal_condDistrib (aemeasurable_id'' μ (inf_le_right : m ⊓ mΩ ≤ mΩ)) hs
#align probability_theory.integrable_to_real_condexp_kernel ProbabilityTheory.integrable_toReal_condexpKernel
end Integrability
+lemma condexpKernel_ae_eq_condexp' [IsFiniteMeasure μ] {s : Set Ω} (hs : MeasurableSet s) :
+ (fun ω ↦ (condexpKernel μ m ω s).toReal) =ᵐ[μ] μ⟦s | m ⊓ mΩ⟧ := by
+ have h := condDistrib_ae_eq_condexp (μ := μ)
+ (measurable_id'' (inf_le_right : m ⊓ mΩ ≤ mΩ)) measurable_id hs
+ simp only [id_eq, ge_iff_le, MeasurableSpace.comap_id, preimage_id_eq] at h
+ simp_rw [condexpKernel_apply_eq_condDistrib]
+ exact h
+
+lemma condexpKernel_ae_eq_condexp [IsFiniteMeasure μ]
+ (hm : m ≤ mΩ) {s : Set Ω} (hs : MeasurableSet s) :
+ (fun ω ↦ (condexpKernel μ m ω s).toReal) =ᵐ[μ] μ⟦s | m⟧ :=
+ (condexpKernel_ae_eq_condexp' hs).trans (by rw [inf_of_le_left hm])
+
+lemma condexpKernel_ae_eq_trim_condexp [IsFiniteMeasure μ]
+ (hm : m ≤ mΩ) {s : Set Ω} (hs : MeasurableSet s) :
+ (fun ω ↦ (condexpKernel μ m ω s).toReal) =ᵐ[μ.trim hm] μ⟦s | m⟧ := by
+ rw [ae_eq_trim_iff hm _ stronglyMeasurable_condexp]
+ · exact condexpKernel_ae_eq_condexp hm hs
+ · refine Measurable.stronglyMeasurable ?_
+ exact @Measurable.ennreal_toReal _ m _ (measurable_condexpKernel hs)
+
+theorem condexp_ae_eq_integral_condexpKernel' [NormedAddCommGroup F] {f : Ω → F}
+ [NormedSpace ℝ F] [CompleteSpace F] (hf_int : Integrable f μ) :
+ μ[f|m ⊓ mΩ] =ᵐ[μ] fun ω => ∫ y, f y ∂condexpKernel μ m ω := by
+ have hX : @Measurable Ω Ω mΩ (m ⊓ mΩ) id := measurable_id.mono le_rfl (inf_le_right : m ⊓ mΩ ≤ mΩ)
+ simp_rw [condexpKernel_apply_eq_condDistrib]
+ have h := condexp_ae_eq_integral_condDistrib_id hX hf_int
+ simpa only [MeasurableSpace.comap_id, id_eq] using h
+
/-- The conditional expectation of `f` with respect to a σ-algebra `m` is almost everywhere equal to
the integral `∫ y, f y ∂(condexpKernel μ m ω)`. -/
-theorem condexp_ae_eq_integral_condexpKernel [NormedSpace ℝ F] [CompleteSpace F] (hm : m ≤ mΩ)
- (hf_int : Integrable f μ) : μ[f|m] =ᵐ[μ] fun ω => ∫ y, f y ∂condexpKernel μ m ω := by
- have hX : @Measurable Ω Ω mΩ m id := measurable_id.mono le_rfl hm
- rw [condexpKernel]
- refine' EventuallyEq.trans _ (condexp_ae_eq_integral_condDistrib_id hX hf_int)
- simp only [MeasurableSpace.comap_id, id.def]; rfl
+theorem condexp_ae_eq_integral_condexpKernel [NormedAddCommGroup F] {f : Ω → F}
+ [NormedSpace ℝ F] [CompleteSpace F] (hm : m ≤ mΩ) (hf_int : Integrable f μ) :
+ μ[f|m] =ᵐ[μ] fun ω => ∫ y, f y ∂condexpKernel μ m ω :=
+ ((condexp_ae_eq_integral_condexpKernel' hf_int).symm.trans (by rw [inf_of_le_left hm])).symm
#align probability_theory.condexp_ae_eq_integral_condexp_kernel ProbabilityTheory.condexp_ae_eq_integral_condexpKernel
end ProbabilityTheory
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -39,7 +39,7 @@ namespace ProbabilityTheory
section AuxLemmas
-variable {Ω F : Type _} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
+variable {Ω F : Type*} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
-- Porting note: todo: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
theorem measurable_id'' (hm : m ≤ mΩ) : @Measurable Ω Ω mΩ m id :=
@@ -69,7 +69,7 @@ theorem _root_.MeasureTheory.Integrable.comp_snd_map_prod_id [NormedAddCommGroup
end AuxLemmas
-variable {Ω F : Type _} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
+variable {Ω F : Type*} [TopologicalSpace Ω] {m : MeasurableSpace Ω} [mΩ : MeasurableSpace Ω]
[PolishSpace Ω] [BorelSpace Ω] [Nonempty Ω] {μ : Measure Ω} [IsFiniteMeasure μ]
[NormedAddCommGroup F] {f : Ω → F}
@@ -2,14 +2,11 @@
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.condexp
-! leanprover-community/mathlib commit 00abe0695d8767201e6d008afa22393978bb324d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Probability.Kernel.CondDistrib
+#align_import probability.kernel.condexp from "leanprover-community/mathlib"@"00abe0695d8767201e6d008afa22393978bb324d"
+
/-!
# Kernel associated with a conditional expectation
@@ -44,12 +44,12 @@ section AuxLemmas
variable {Ω F : Type _} {m mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → F}
--- todo after the port: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
+-- Porting note: todo: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
theorem measurable_id'' (hm : m ≤ mΩ) : @Measurable Ω Ω mΩ m id :=
measurable_id.mono le_rfl hm
#align probability_theory.measurable_id'' ProbabilityTheory.measurable_id''
--- todo after the port: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
+-- Porting note: todo: move to `MeasureTheory/MeasurableSpace`, after `Measurable.mono`
theorem aemeasurable_id'' (μ : Measure Ω) (hm : m ≤ mΩ) : @AEMeasurable Ω Ω m mΩ id μ :=
@Measurable.aemeasurable Ω Ω mΩ m id μ (measurable_id'' hm)
#align probability_theory.ae_measurable_id'' ProbabilityTheory.aemeasurable_id''
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file