measure_theory.function.conditional_expectation.condexp_L1
⟷
Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -391,15 +391,15 @@ theorem dominatedFinMeasAdditive_condexpInd (hm : m ≤ m0) (μ : Measure α)
variable {G}
-#print MeasureTheory.set_integral_condexpInd /-
-theorem set_integral_condexpInd (hs : measurable_set[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
+#print MeasureTheory.setIntegral_condexpInd /-
+theorem setIntegral_condexpInd (hs : measurable_set[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (x : G') : ∫ a in s, condexpInd hm μ t x a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
∫ a in s, condexpInd hm μ t x a ∂μ = ∫ a in s, condexpIndSMul hm ht hμt x a ∂μ :=
- set_integral_congr_ae (hm s hs)
+ setIntegral_congr_ae (hm s hs)
((condexpInd_ae_eq_condexpIndSMul hm ht hμt x).mono fun x hx hxs => hx)
- _ = (μ (t ∩ s)).toReal • x := set_integral_condexpIndSMul hs ht hμs hμt x
-#align measure_theory.set_integral_condexp_ind MeasureTheory.set_integral_condexpInd
+ _ = (μ (t ∩ s)).toReal • x := setIntegral_condexpIndSMul hs ht hμs hμt x
+#align measure_theory.set_integral_condexp_ind MeasureTheory.setIntegral_condexpInd
-/
#print MeasureTheory.condexpInd_of_measurable /-
@@ -465,9 +465,9 @@ theorem condexpL1CLM_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1CLM_indicatorConst
-/
-#print MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top /-
+#print MeasureTheory.setIntegral_condexpL1CLM_of_measure_ne_top /-
/-- Auxiliary lemma used in the proof of `set_integral_condexp_L1_clm`. -/
-theorem set_integral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : measurable_set[m] s)
+theorem setIntegral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : measurable_set[m] s)
(hμs : μ s ≠ ∞) : ∫ x in s, condexpL1CLM hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
by
refine'
@@ -492,14 +492,14 @@ theorem set_integral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs :
hg]
· exact (continuous_set_integral s).comp (condexp_L1_clm hm μ).Continuous
· exact continuous_set_integral s
-#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top
+#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.setIntegral_condexpL1CLM_of_measure_ne_top
-/
-#print MeasureTheory.set_integral_condexpL1CLM /-
+#print MeasureTheory.setIntegral_condexpL1CLM /-
/-- The integral of the conditional expectation `condexp_L1_clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m] s) :
+theorem setIntegral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m] s) :
∫ x in s, condexpL1CLM hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
by
let S := spanning_sets (μ.trim hm)
@@ -539,7 +539,7 @@ theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m]
rwa [← hs_eq] at h
rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
-#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1CLM
+#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.setIntegral_condexpL1CLM
-/
#print MeasureTheory.aestronglyMeasurable'_condexpL1CLM /-
@@ -662,17 +662,17 @@ theorem integrable_condexpL1 (f : α → F') : Integrable (condexpL1 hm μ f) μ
#align measure_theory.integrable_condexp_L1 MeasureTheory.integrable_condexpL1
-/
-#print MeasureTheory.set_integral_condexpL1 /-
+#print MeasureTheory.setIntegral_condexpL1 /-
/-- The integral of the conditional expectation `condexp_L1` over an `m`-measurable set is equal to
the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1 (hf : Integrable f μ) (hs : measurable_set[m] s) :
+theorem setIntegral_condexpL1 (hf : Integrable f μ) (hs : measurable_set[m] s) :
∫ x in s, condexpL1 hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
by
simp_rw [condexp_L1_eq hf]
rw [set_integral_condexp_L1_clm (hf.to_L1 f) hs]
exact set_integral_congr_ae (hm s hs) (hf.coe_fn_to_L1.mono fun x hx hxs => hx)
-#align measure_theory.set_integral_condexp_L1 MeasureTheory.set_integral_condexpL1
+#align measure_theory.set_integral_condexp_L1 MeasureTheory.setIntegral_condexpL1
-/
#print MeasureTheory.condexpL1_add /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -40,7 +40,7 @@ open scoped NNReal ENNReal Topology BigOperators MeasureTheory
namespace MeasureTheory
-variable {α β F F' G G' 𝕜 : Type _} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α β F F' G G' 𝕜 : Type _} {p : ℝ≥0∞} [RCLike 𝕜]
-- 𝕜 for ℝ or ℂ
-- F for a Lp submodule
[NormedAddCommGroup F]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -512,7 +512,7 @@ theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m]
by
refine' fun i => (measure_mono (Set.inter_subset_left _ _)).trans_lt _
have hS_finite_trim := measure_spanning_sets_lt_top (μ.trim hm) i
- rwa [trim_measurable_set_eq hm (hS_meas i)] at hS_finite_trim
+ rwa [trim_measurable_set_eq hm (hS_meas i)] at hS_finite_trim
have h_mono : Monotone fun i => S i ∩ s :=
by
intro i j hij x
@@ -528,7 +528,7 @@ theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m]
have h :=
tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
(L1.integrable_coe_fn f).IntegrableOn
- rwa [← hs_eq] at h
+ rwa [← hs_eq] at h
have h_left :
tendsto (fun i => ∫ x in S i ∩ s, condexp_L1_clm hm μ f x ∂μ) at_top
(𝓝 (∫ x in s, condexp_L1_clm hm μ f x ∂μ)) :=
@@ -536,8 +536,8 @@ theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m]
have h :=
tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
(L1.integrable_coe_fn (condexp_L1_clm hm μ f)).IntegrableOn
- rwa [← hs_eq] at h
- rw [h_eq_forall] at h_left
+ rwa [← hs_eq] at h
+ rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1CLM
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -359,7 +359,7 @@ theorem norm_condexpInd_apply_le (x : G) : ‖condexpInd hm μ s x‖ ≤ (μ s)
#print MeasureTheory.norm_condexpInd_le /-
theorem norm_condexpInd_le : ‖(condexpInd hm μ s : G →L[ℝ] α →₁[μ] G)‖ ≤ (μ s).toReal :=
- ContinuousLinearMap.op_norm_le_bound _ ENNReal.toReal_nonneg norm_condexpInd_apply_le
+ ContinuousLinearMap.opNorm_le_bound _ ENNReal.toReal_nonneg norm_condexpInd_apply_le
#align measure_theory.norm_condexp_ind_le MeasureTheory.norm_condexpInd_le
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -435,40 +435,40 @@ section CondexpL1
variable {m m0 : MeasurableSpace α} {μ : Measure α} {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
{f g : α → F'} {s : Set α}
-#print MeasureTheory.condexpL1Clm /-
+#print MeasureTheory.condexpL1CLM /-
/-- Conditional expectation of a function as a linear map from `α →₁[μ] F'` to itself. -/
-def condexpL1Clm (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] :
+def condexpL1CLM (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] :
(α →₁[μ] F') →L[ℝ] α →₁[μ] F' :=
L1.setToL1 (dominatedFinMeasAdditive_condexpInd F' hm μ)
-#align measure_theory.condexp_L1_clm MeasureTheory.condexpL1Clm
+#align measure_theory.condexp_L1_clm MeasureTheory.condexpL1CLM
-/
-#print MeasureTheory.condexpL1Clm_smul /-
-theorem condexpL1Clm_smul (c : 𝕜) (f : α →₁[μ] F') :
- condexpL1Clm hm μ (c • f) = c • condexpL1Clm hm μ f :=
+#print MeasureTheory.condexpL1CLM_smul /-
+theorem condexpL1CLM_smul (c : 𝕜) (f : α →₁[μ] F') :
+ condexpL1CLM hm μ (c • f) = c • condexpL1CLM hm μ f :=
L1.setToL1_smul (dominatedFinMeasAdditive_condexpInd F' hm μ) (fun c s x => condexpInd_smul' c x)
c f
-#align measure_theory.condexp_L1_clm_smul MeasureTheory.condexpL1Clm_smul
+#align measure_theory.condexp_L1_clm_smul MeasureTheory.condexpL1CLM_smul
-/
-#print MeasureTheory.condexpL1Clm_indicatorConstLp /-
-theorem condexpL1Clm_indicatorConstLp (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
- (condexpL1Clm hm μ) (indicatorConstLp 1 hs hμs x) = condexpInd hm μ s x :=
+#print MeasureTheory.condexpL1CLM_indicatorConstLp /-
+theorem condexpL1CLM_indicatorConstLp (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
+ (condexpL1CLM hm μ) (indicatorConstLp 1 hs hμs x) = condexpInd hm μ s x :=
L1.setToL1_indicatorConstLp (dominatedFinMeasAdditive_condexpInd F' hm μ) hs hμs x
-#align measure_theory.condexp_L1_clm_indicator_const_Lp MeasureTheory.condexpL1Clm_indicatorConstLp
+#align measure_theory.condexp_L1_clm_indicator_const_Lp MeasureTheory.condexpL1CLM_indicatorConstLp
-/
-#print MeasureTheory.condexpL1Clm_indicatorConst /-
-theorem condexpL1Clm_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
- (condexpL1Clm hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd hm μ s x := by
+#print MeasureTheory.condexpL1CLM_indicatorConst /-
+theorem condexpL1CLM_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
+ (condexpL1CLM hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd hm μ s x := by
rw [Lp.simple_func.coe_indicator_const]; exact condexp_L1_clm_indicator_const_Lp hs hμs x
-#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1Clm_indicatorConst
+#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1CLM_indicatorConst
-/
-#print MeasureTheory.set_integral_condexpL1Clm_of_measure_ne_top /-
+#print MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top /-
/-- Auxiliary lemma used in the proof of `set_integral_condexp_L1_clm`. -/
-theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : measurable_set[m] s)
- (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
+theorem set_integral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : measurable_set[m] s)
+ (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1CLM hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
by
refine'
Lp.induction ENNReal.one_ne_top
@@ -492,15 +492,15 @@ theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs :
hg]
· exact (continuous_set_integral s).comp (condexp_L1_clm hm μ).Continuous
· exact continuous_set_integral s
-#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1Clm_of_measure_ne_top
+#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top
-/
-#print MeasureTheory.set_integral_condexpL1Clm /-
+#print MeasureTheory.set_integral_condexpL1CLM /-
/-- The integral of the conditional expectation `condexp_L1_clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : measurable_set[m] s) :
- ∫ x in s, condexpL1Clm hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
+theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : measurable_set[m] s) :
+ ∫ x in s, condexpL1CLM hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
by
let S := spanning_sets (μ.trim hm)
have hS_meas : ∀ i, measurable_set[m] (S i) := measurable_spanning_sets (μ.trim hm)
@@ -539,12 +539,12 @@ theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : measurable_set[m]
rwa [← hs_eq] at h
rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
-#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1Clm
+#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1CLM
-/
-#print MeasureTheory.aestronglyMeasurable'_condexpL1Clm /-
-theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
- AEStronglyMeasurable' m (condexpL1Clm hm μ f) μ :=
+#print MeasureTheory.aestronglyMeasurable'_condexpL1CLM /-
+theorem aestronglyMeasurable'_condexpL1CLM (f : α →₁[μ] F') :
+ AEStronglyMeasurable' m (condexpL1CLM hm μ f) μ :=
by
refine'
Lp.induction ENNReal.one_ne_top
@@ -563,11 +563,11 @@ theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
rw [this]
refine' IsClosed.preimage (condexp_L1_clm hm μ).Continuous _
exact is_closed_ae_strongly_measurable' hm
-#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aestronglyMeasurable'_condexpL1Clm
+#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aestronglyMeasurable'_condexpL1CLM
-/
-#print MeasureTheory.condexpL1Clm_lpMeas /-
-theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f : α →₁[μ] F') = ↑f :=
+#print MeasureTheory.condexpL1CLM_lpMeas /-
+theorem condexpL1CLM_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1CLM hm μ (f : α →₁[μ] F') = ↑f :=
by
let g := Lp_meas_to_Lp_trim_lie F' ℝ 1 μ hm f
have hfg : f = (Lp_meas_to_Lp_trim_lie F' ℝ 1 μ hm).symm g := by
@@ -592,14 +592,14 @@ theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f :
exact LinearIsometryEquiv.continuous _
· refine' continuous_induced_dom.comp _
exact LinearIsometryEquiv.continuous _
-#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1Clm_lpMeas
+#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1CLM_lpMeas
-/
-#print MeasureTheory.condexpL1Clm_of_aestronglyMeasurable' /-
-theorem condexpL1Clm_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
- condexpL1Clm hm μ f = f :=
- condexpL1Clm_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
-#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aestronglyMeasurable'
+#print MeasureTheory.condexpL1CLM_of_aestronglyMeasurable' /-
+theorem condexpL1CLM_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
+ condexpL1CLM hm μ f = f :=
+ condexpL1CLM_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
+#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1CLM_of_aestronglyMeasurable'
-/
#print MeasureTheory.condexpL1 /-
@@ -617,7 +617,7 @@ theorem condexpL1_undef (hf : ¬Integrable f μ) : condexpL1 hm μ f = 0 :=
-/
#print MeasureTheory.condexpL1_eq /-
-theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1Clm hm μ (hf.toL1 f) :=
+theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1CLM hm μ (hf.toL1 f) :=
setToFun_eq (dominatedFinMeasAdditive_condexpInd F' hm μ) hf
#align measure_theory.condexp_L1_eq MeasureTheory.condexpL1_eq
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -375,7 +375,7 @@ theorem condexpInd_disjoint_union_apply (hs : MeasurableSet s) (ht : MeasurableS
theorem condexpInd_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) :
(condexpInd hm μ (s ∪ t) : G →L[ℝ] α →₁[μ] G) = condexpInd hm μ s + condexpInd hm μ t := by
- ext1; push_cast ; exact condexp_ind_disjoint_union_apply hs ht hμs hμt hst x
+ ext1; push_cast; exact condexp_ind_disjoint_union_apply hs ht hμs hμt hst x
#align measure_theory.condexp_ind_disjoint_union MeasureTheory.condexpInd_disjoint_union
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémy Degenne
-/
-import Mathbin.MeasureTheory.Function.ConditionalExpectation.CondexpL2
+import MeasureTheory.Function.ConditionalExpectation.CondexpL2
#align_import measure_theory.function.conditional_expectation.condexp_L1 from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2021 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 measure_theory.function.conditional_expectation.condexp_L1
-! leanprover-community/mathlib commit e160cefedc932ce41c7049bf0c4b0f061d06216e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.MeasureTheory.Function.ConditionalExpectation.CondexpL2
+#align_import measure_theory.function.conditional_expectation.condexp_L1 from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
+
/-! # Conditional expectation in L1
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/0723536a0522d24fc2f159a096fb3304bef77472
@@ -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 measure_theory.function.conditional_expectation.condexp_L1
-! leanprover-community/mathlib commit d8bbb04e2d2a44596798a9207ceefc0fb236e41e
+! leanprover-community/mathlib commit e160cefedc932ce41c7049bf0c4b0f061d06216e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -12,6 +12,9 @@ import Mathbin.MeasureTheory.Function.ConditionalExpectation.CondexpL2
/-! # Conditional expectation in L1
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file contains two more steps of the construction of the conditional expectation, which is
completed in `measure_theory.function.conditional_expectation.basic`. See that file for a
description of the full process.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -69,21 +69,26 @@ variable {m m0 : MeasurableSpace α} {μ : Measure α} {s t : Set α} [NormedSpa
section CondexpIndL1Fin
+#print MeasureTheory.condexpIndL1Fin /-
/-- Conditional expectation of the indicator of a measurable set with finite measure,
as a function in L1. -/
def condexpIndL1Fin (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : G) : α →₁[μ] G :=
- (integrable_condexpIndSmul hm hs hμs x).toL1 _
+ (integrable_condexpIndSMul hm hs hμs x).toL1 _
#align measure_theory.condexp_ind_L1_fin MeasureTheory.condexpIndL1Fin
+-/
-theorem condexpIndL1Fin_ae_eq_condexpIndSmul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
+#print MeasureTheory.condexpIndL1Fin_ae_eq_condexpIndSMul /-
+theorem condexpIndL1Fin_ae_eq_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
- condexpIndL1Fin hm hs hμs x =ᵐ[μ] condexpIndSmul hm hs hμs x :=
- (integrable_condexpIndSmul hm hs hμs x).coeFn_toL1
-#align measure_theory.condexp_ind_L1_fin_ae_eq_condexp_ind_smul MeasureTheory.condexpIndL1Fin_ae_eq_condexpIndSmul
+ condexpIndL1Fin hm hs hμs x =ᵐ[μ] condexpIndSMul hm hs hμs x :=
+ (integrable_condexpIndSMul hm hs hμs x).coeFn_toL1
+#align measure_theory.condexp_ind_L1_fin_ae_eq_condexp_ind_smul MeasureTheory.condexpIndL1Fin_ae_eq_condexpIndSMul
+-/
variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
+#print MeasureTheory.condexpIndL1Fin_add /-
theorem condexpIndL1Fin_add (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x y : G) :
condexpIndL1Fin hm hs hμs (x + y) = condexpIndL1Fin hm hs hμs x + condexpIndL1Fin hm hs hμs y :=
by
@@ -97,7 +102,9 @@ theorem condexpIndL1Fin_add (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x y :
refine' (Lp.coe_fn_add _ _).trans (eventually_of_forall fun a => _)
rfl
#align measure_theory.condexp_ind_L1_fin_add MeasureTheory.condexpIndL1Fin_add
+-/
+#print MeasureTheory.condexpIndL1Fin_smul /-
theorem condexpIndL1Fin_smul (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (c : ℝ) (x : G) :
condexpIndL1Fin hm hs hμs (c • x) = c • condexpIndL1Fin hm hs hμs x :=
by
@@ -109,7 +116,9 @@ theorem condexpIndL1Fin_smul (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (c :
refine' (condexp_ind_L1_fin_ae_eq_condexp_ind_smul hm hs hμs x).mono fun y hy => _
rw [Pi.smul_apply, Pi.smul_apply, hy]
#align measure_theory.condexp_ind_L1_fin_smul MeasureTheory.condexpIndL1Fin_smul
+-/
+#print MeasureTheory.condexpIndL1Fin_smul' /-
theorem condexpIndL1Fin_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs : MeasurableSet s)
(hμs : μ s ≠ ∞) (c : 𝕜) (x : F) :
condexpIndL1Fin hm hs hμs (c • x) = c • condexpIndL1Fin hm hs hμs x :=
@@ -122,7 +131,9 @@ theorem condexpIndL1Fin_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs
refine' (condexp_ind_L1_fin_ae_eq_condexp_ind_smul hm hs hμs x).mono fun y hy => _
rw [Pi.smul_apply, Pi.smul_apply, hy]
#align measure_theory.condexp_ind_L1_fin_smul' MeasureTheory.condexpIndL1Fin_smul'
+-/
+#print MeasureTheory.norm_condexpIndL1Fin_le /-
theorem norm_condexpIndL1Fin_le (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
‖condexpIndL1Fin hm hs hμs x‖ ≤ (μ s).toReal * ‖x‖ :=
by
@@ -143,7 +154,9 @@ theorem norm_condexpIndL1Fin_le (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x
rw [h_eq, ofReal_norm_eq_coe_nnnorm]
exact lintegral_nnnorm_condexp_ind_smul_le hm hs hμs x
#align measure_theory.norm_condexp_ind_L1_fin_le MeasureTheory.norm_condexpIndL1Fin_le
+-/
+#print MeasureTheory.condexpIndL1Fin_disjoint_union /-
theorem condexpIndL1Fin_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) (x : G) :
condexpIndL1Fin hm (hs.union ht)
@@ -169,6 +182,7 @@ theorem condexpIndL1Fin_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSe
refine' eventually_of_forall fun y => _
rfl
#align measure_theory.condexp_ind_L1_fin_disjoint_union MeasureTheory.condexpIndL1Fin_disjoint_union
+-/
end CondexpIndL1Fin
@@ -176,30 +190,39 @@ open scoped Classical
section CondexpIndL1
+#print MeasureTheory.condexpIndL1 /-
/-- Conditional expectation of the indicator of a set, as a function in L1. Its value for sets
which are not both measurable and of finite measure is not used: we set it to 0. -/
def condexpIndL1 {m m0 : MeasurableSpace α} (hm : m ≤ m0) (μ : Measure α) (s : Set α)
[SigmaFinite (μ.trim hm)] (x : G) : α →₁[μ] G :=
if hs : MeasurableSet s ∧ μ s ≠ ∞ then condexpIndL1Fin hm hs.1 hs.2 x else 0
#align measure_theory.condexp_ind_L1 MeasureTheory.condexpIndL1
+-/
variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
+#print MeasureTheory.condexpIndL1_of_measurableSet_of_measure_ne_top /-
theorem condexpIndL1_of_measurableSet_of_measure_ne_top (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : G) : condexpIndL1 hm μ s x = condexpIndL1Fin hm hs hμs x := by
simp only [condexp_ind_L1, And.intro hs hμs, dif_pos, Ne.def, not_false_iff, and_self_iff]
#align measure_theory.condexp_ind_L1_of_measurable_set_of_measure_ne_top MeasureTheory.condexpIndL1_of_measurableSet_of_measure_ne_top
+-/
+#print MeasureTheory.condexpIndL1_of_measure_eq_top /-
theorem condexpIndL1_of_measure_eq_top (hμs : μ s = ∞) (x : G) : condexpIndL1 hm μ s x = 0 := by
simp only [condexp_ind_L1, hμs, eq_self_iff_true, not_true, Ne.def, dif_neg, not_false_iff,
and_false_iff]
#align measure_theory.condexp_ind_L1_of_measure_eq_top MeasureTheory.condexpIndL1_of_measure_eq_top
+-/
+#print MeasureTheory.condexpIndL1_of_not_measurableSet /-
theorem condexpIndL1_of_not_measurableSet (hs : ¬MeasurableSet s) (x : G) :
condexpIndL1 hm μ s x = 0 := by
simp only [condexp_ind_L1, hs, dif_neg, not_false_iff, false_and_iff]
#align measure_theory.condexp_ind_L1_of_not_measurable_set MeasureTheory.condexpIndL1_of_not_measurableSet
+-/
+#print MeasureTheory.condexpIndL1_add /-
theorem condexpIndL1_add (x y : G) :
condexpIndL1 hm μ s (x + y) = condexpIndL1 hm μ s x + condexpIndL1 hm μ s y :=
by
@@ -210,7 +233,9 @@ theorem condexpIndL1_add (x y : G) :
· simp_rw [condexp_ind_L1_of_measurable_set_of_measure_ne_top hs hμs]
exact condexp_ind_L1_fin_add hs hμs x y
#align measure_theory.condexp_ind_L1_add MeasureTheory.condexpIndL1_add
+-/
+#print MeasureTheory.condexpIndL1_smul /-
theorem condexpIndL1_smul (c : ℝ) (x : G) :
condexpIndL1 hm μ s (c • x) = c • condexpIndL1 hm μ s x :=
by
@@ -221,7 +246,9 @@ theorem condexpIndL1_smul (c : ℝ) (x : G) :
· simp_rw [condexp_ind_L1_of_measurable_set_of_measure_ne_top hs hμs]
exact condexp_ind_L1_fin_smul hs hμs c x
#align measure_theory.condexp_ind_L1_smul MeasureTheory.condexpIndL1_smul
+-/
+#print MeasureTheory.condexpIndL1_smul' /-
theorem condexpIndL1_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (c : 𝕜) (x : F) :
condexpIndL1 hm μ s (c • x) = c • condexpIndL1 hm μ s x :=
by
@@ -232,7 +259,9 @@ theorem condexpIndL1_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (c :
· simp_rw [condexp_ind_L1_of_measurable_set_of_measure_ne_top hs hμs]
exact condexp_ind_L1_fin_smul' hs hμs c x
#align measure_theory.condexp_ind_L1_smul' MeasureTheory.condexpIndL1_smul'
+-/
+#print MeasureTheory.norm_condexpIndL1_le /-
theorem norm_condexpIndL1_le (x : G) : ‖condexpIndL1 hm μ s x‖ ≤ (μ s).toReal * ‖x‖ :=
by
by_cases hs : MeasurableSet s
@@ -245,11 +274,15 @@ theorem norm_condexpIndL1_le (x : G) : ‖condexpIndL1 hm μ s x‖ ≤ (μ s).t
· rw [condexp_ind_L1_of_measurable_set_of_measure_ne_top hs hμs x]
exact norm_condexp_ind_L1_fin_le hs hμs x
#align measure_theory.norm_condexp_ind_L1_le MeasureTheory.norm_condexpIndL1_le
+-/
+#print MeasureTheory.continuous_condexpIndL1 /-
theorem continuous_condexpIndL1 : Continuous fun x : G => condexpIndL1 hm μ s x :=
continuous_of_linear_of_bound condexpIndL1_add condexpIndL1_smul norm_condexpIndL1_le
#align measure_theory.continuous_condexp_ind_L1 MeasureTheory.continuous_condexpIndL1
+-/
+#print MeasureTheory.condexpIndL1_disjoint_union /-
theorem condexpIndL1_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) (x : G) :
condexpIndL1 hm μ (s ∪ t) x = condexpIndL1 hm μ s x + condexpIndL1 hm μ t x :=
@@ -261,9 +294,11 @@ theorem condexpIndL1_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t
condexp_ind_L1_of_measurable_set_of_measure_ne_top (hs.union ht) hμst x]
exact condexp_ind_L1_fin_disjoint_union hs ht hμs hμt hst x
#align measure_theory.condexp_ind_L1_disjoint_union MeasureTheory.condexpIndL1_disjoint_union
+-/
end CondexpIndL1
+#print MeasureTheory.condexpInd /-
/-- Conditional expectation of the indicator of a set, as a linear map from `G` to L1. -/
def condexpInd {m m0 : MeasurableSpace α} (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)]
(s : Set α) : G →L[ℝ] α →₁[μ] G
@@ -273,23 +308,29 @@ def condexpInd {m m0 : MeasurableSpace α} (hm : m ≤ m0) (μ : Measure α) [Si
map_smul' := condexpIndL1_smul
cont := continuous_condexpIndL1
#align measure_theory.condexp_ind MeasureTheory.condexpInd
+-/
-theorem condexpInd_ae_eq_condexpIndSmul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
+#print MeasureTheory.condexpInd_ae_eq_condexpIndSMul /-
+theorem condexpInd_ae_eq_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
- condexpInd hm μ s x =ᵐ[μ] condexpIndSmul hm hs hμs x :=
+ condexpInd hm μ s x =ᵐ[μ] condexpIndSMul hm hs hμs x :=
by
refine' eventually_eq.trans _ (condexp_ind_L1_fin_ae_eq_condexp_ind_smul hm hs hμs x)
simp [condexp_ind, condexp_ind_L1, hs, hμs]
-#align measure_theory.condexp_ind_ae_eq_condexp_ind_smul MeasureTheory.condexpInd_ae_eq_condexpIndSmul
+#align measure_theory.condexp_ind_ae_eq_condexp_ind_smul MeasureTheory.condexpInd_ae_eq_condexpIndSMul
+-/
variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
-theorem aEStronglyMeasurable'_condexpInd (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
+#print MeasureTheory.aestronglyMeasurable'_condexpInd /-
+theorem aestronglyMeasurable'_condexpInd (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
AEStronglyMeasurable' m (condexpInd hm μ s x) μ :=
- AEStronglyMeasurable'.congr (aEStronglyMeasurable'_condexpIndSmul hm hs hμs x)
- (condexpInd_ae_eq_condexpIndSmul hm hs hμs x).symm
-#align measure_theory.ae_strongly_measurable'_condexp_ind MeasureTheory.aEStronglyMeasurable'_condexpInd
+ AEStronglyMeasurable'.congr (aeStronglyMeasurable'_condexpIndSMul hm hs hμs x)
+ (condexpInd_ae_eq_condexpIndSMul hm hs hμs x).symm
+#align measure_theory.ae_strongly_measurable'_condexp_ind MeasureTheory.aestronglyMeasurable'_condexpInd
+-/
+#print MeasureTheory.condexpInd_empty /-
@[simp]
theorem condexpInd_empty : condexpInd hm μ ∅ = (0 : G →L[ℝ] α →₁[μ] G) :=
by
@@ -301,51 +342,67 @@ theorem condexpInd_empty : condexpInd hm μ ∅ = (0 : G →L[ℝ] α →₁[μ]
refine' eventually_eq.trans _ (Lp.coe_fn_zero G 1 μ).symm
rfl
#align measure_theory.condexp_ind_empty MeasureTheory.condexpInd_empty
+-/
+#print MeasureTheory.condexpInd_smul' /-
theorem condexpInd_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (c : 𝕜) (x : F) :
condexpInd hm μ s (c • x) = c • condexpInd hm μ s x :=
condexpIndL1_smul' c x
#align measure_theory.condexp_ind_smul' MeasureTheory.condexpInd_smul'
+-/
+#print MeasureTheory.norm_condexpInd_apply_le /-
theorem norm_condexpInd_apply_le (x : G) : ‖condexpInd hm μ s x‖ ≤ (μ s).toReal * ‖x‖ :=
norm_condexpIndL1_le x
#align measure_theory.norm_condexp_ind_apply_le MeasureTheory.norm_condexpInd_apply_le
+-/
+#print MeasureTheory.norm_condexpInd_le /-
theorem norm_condexpInd_le : ‖(condexpInd hm μ s : G →L[ℝ] α →₁[μ] G)‖ ≤ (μ s).toReal :=
ContinuousLinearMap.op_norm_le_bound _ ENNReal.toReal_nonneg norm_condexpInd_apply_le
#align measure_theory.norm_condexp_ind_le MeasureTheory.norm_condexpInd_le
+-/
+#print MeasureTheory.condexpInd_disjoint_union_apply /-
theorem condexpInd_disjoint_union_apply (hs : MeasurableSet s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) (x : G) :
condexpInd hm μ (s ∪ t) x = condexpInd hm μ s x + condexpInd hm μ t x :=
condexpIndL1_disjoint_union hs ht hμs hμt hst x
#align measure_theory.condexp_ind_disjoint_union_apply MeasureTheory.condexpInd_disjoint_union_apply
+-/
+#print MeasureTheory.condexpInd_disjoint_union /-
theorem condexpInd_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) :
(condexpInd hm μ (s ∪ t) : G →L[ℝ] α →₁[μ] G) = condexpInd hm μ s + condexpInd hm μ t := by
ext1; push_cast ; exact condexp_ind_disjoint_union_apply hs ht hμs hμt hst x
#align measure_theory.condexp_ind_disjoint_union MeasureTheory.condexpInd_disjoint_union
+-/
variable (G)
+#print MeasureTheory.dominatedFinMeasAdditive_condexpInd /-
theorem dominatedFinMeasAdditive_condexpInd (hm : m ≤ m0) (μ : Measure α)
[SigmaFinite (μ.trim hm)] :
DominatedFinMeasAdditive μ (condexpInd hm μ : Set α → G →L[ℝ] α →₁[μ] G) 1 :=
⟨fun s t => condexpInd_disjoint_union, fun s _ _ => norm_condexpInd_le.trans (one_mul _).symm.le⟩
#align measure_theory.dominated_fin_meas_additive_condexp_ind MeasureTheory.dominatedFinMeasAdditive_condexpInd
+-/
variable {G}
+#print MeasureTheory.set_integral_condexpInd /-
theorem set_integral_condexpInd (hs : measurable_set[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (x : G') : ∫ a in s, condexpInd hm μ t x a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
- ∫ a in s, condexpInd hm μ t x a ∂μ = ∫ a in s, condexpIndSmul hm ht hμt x a ∂μ :=
+ ∫ a in s, condexpInd hm μ t x a ∂μ = ∫ a in s, condexpIndSMul hm ht hμt x a ∂μ :=
set_integral_congr_ae (hm s hs)
- ((condexpInd_ae_eq_condexpIndSmul hm ht hμt x).mono fun x hx hxs => hx)
- _ = (μ (t ∩ s)).toReal • x := set_integral_condexpIndSmul hs ht hμs hμt x
+ ((condexpInd_ae_eq_condexpIndSMul hm ht hμt x).mono fun x hx hxs => hx)
+ _ = (μ (t ∩ s)).toReal • x := set_integral_condexpIndSMul hs ht hμs hμt x
#align measure_theory.set_integral_condexp_ind MeasureTheory.set_integral_condexpInd
+-/
+#print MeasureTheory.condexpInd_of_measurable /-
theorem condexpInd_of_measurable (hs : measurable_set[m] s) (hμs : μ s ≠ ∞) (c : G) :
condexpInd hm μ s c = indicatorConstLp 1 (hm s hs) hμs c :=
by
@@ -359,7 +416,9 @@ theorem condexpInd_of_measurable (hs : measurable_set[m] s) (hμs : μ s ≠ ∞
rw [hx]
by_cases hx_mem : x ∈ s <;> simp [hx_mem]
#align measure_theory.condexp_ind_of_measurable MeasureTheory.condexpInd_of_measurable
+-/
+#print MeasureTheory.condexpInd_nonneg /-
theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
(hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) : 0 ≤ condexpInd hm μ s x :=
by
@@ -367,6 +426,7 @@ theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E]
refine' eventually_le.trans_eq _ (condexp_ind_ae_eq_condexp_ind_smul hm hs hμs x).symm
exact (coe_fn_zero E 1 μ).trans_le (condexp_ind_smul_nonneg hs hμs x hx)
#align measure_theory.condexp_ind_nonneg MeasureTheory.condexpInd_nonneg
+-/
end CondexpInd
@@ -375,28 +435,37 @@ section CondexpL1
variable {m m0 : MeasurableSpace α} {μ : Measure α} {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
{f g : α → F'} {s : Set α}
+#print MeasureTheory.condexpL1Clm /-
/-- Conditional expectation of a function as a linear map from `α →₁[μ] F'` to itself. -/
def condexpL1Clm (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] :
(α →₁[μ] F') →L[ℝ] α →₁[μ] F' :=
L1.setToL1 (dominatedFinMeasAdditive_condexpInd F' hm μ)
#align measure_theory.condexp_L1_clm MeasureTheory.condexpL1Clm
+-/
+#print MeasureTheory.condexpL1Clm_smul /-
theorem condexpL1Clm_smul (c : 𝕜) (f : α →₁[μ] F') :
condexpL1Clm hm μ (c • f) = c • condexpL1Clm hm μ f :=
L1.setToL1_smul (dominatedFinMeasAdditive_condexpInd F' hm μ) (fun c s x => condexpInd_smul' c x)
c f
#align measure_theory.condexp_L1_clm_smul MeasureTheory.condexpL1Clm_smul
+-/
+#print MeasureTheory.condexpL1Clm_indicatorConstLp /-
theorem condexpL1Clm_indicatorConstLp (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
(condexpL1Clm hm μ) (indicatorConstLp 1 hs hμs x) = condexpInd hm μ s x :=
L1.setToL1_indicatorConstLp (dominatedFinMeasAdditive_condexpInd F' hm μ) hs hμs x
#align measure_theory.condexp_L1_clm_indicator_const_Lp MeasureTheory.condexpL1Clm_indicatorConstLp
+-/
+#print MeasureTheory.condexpL1Clm_indicatorConst /-
theorem condexpL1Clm_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
(condexpL1Clm hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd hm μ s x := by
rw [Lp.simple_func.coe_indicator_const]; exact condexp_L1_clm_indicator_const_Lp hs hμs x
#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1Clm_indicatorConst
+-/
+#print MeasureTheory.set_integral_condexpL1Clm_of_measure_ne_top /-
/-- Auxiliary lemma used in the proof of `set_integral_condexp_L1_clm`. -/
theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : measurable_set[m] s)
(hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm hm μ f x ∂μ = ∫ x in s, f x ∂μ :=
@@ -424,7 +493,9 @@ theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs :
· exact (continuous_set_integral s).comp (condexp_L1_clm hm μ).Continuous
· exact continuous_set_integral s
#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1Clm_of_measure_ne_top
+-/
+#print MeasureTheory.set_integral_condexpL1Clm /-
/-- The integral of the conditional expectation `condexp_L1_clm` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
@@ -469,8 +540,10 @@ theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : measurable_set[m]
rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1Clm
+-/
-theorem aEStronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
+#print MeasureTheory.aestronglyMeasurable'_condexpL1Clm /-
+theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
AEStronglyMeasurable' m (condexpL1Clm hm μ f) μ :=
by
refine'
@@ -490,8 +563,10 @@ theorem aEStronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
rw [this]
refine' IsClosed.preimage (condexp_L1_clm hm μ).Continuous _
exact is_closed_ae_strongly_measurable' hm
-#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aEStronglyMeasurable'_condexpL1Clm
+#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aestronglyMeasurable'_condexpL1Clm
+-/
+#print MeasureTheory.condexpL1Clm_lpMeas /-
theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f : α →₁[μ] F') = ↑f :=
by
let g := Lp_meas_to_Lp_trim_lie F' ℝ 1 μ hm f
@@ -518,37 +593,51 @@ theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f :
· refine' continuous_induced_dom.comp _
exact LinearIsometryEquiv.continuous _
#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1Clm_lpMeas
+-/
-theorem condexpL1Clm_of_aEStronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
+#print MeasureTheory.condexpL1Clm_of_aestronglyMeasurable' /-
+theorem condexpL1Clm_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
condexpL1Clm hm μ f = f :=
condexpL1Clm_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
-#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aEStronglyMeasurable'
+#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aestronglyMeasurable'
+-/
+#print MeasureTheory.condexpL1 /-
/-- Conditional expectation of a function, in L1. Its value is 0 if the function is not
integrable. The function-valued `condexp` should be used instead in most cases. -/
def condexpL1 (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] (f : α → F') : α →₁[μ] F' :=
setToFun μ (condexpInd hm μ) (dominatedFinMeasAdditive_condexpInd F' hm μ) f
#align measure_theory.condexp_L1 MeasureTheory.condexpL1
+-/
+#print MeasureTheory.condexpL1_undef /-
theorem condexpL1_undef (hf : ¬Integrable f μ) : condexpL1 hm μ f = 0 :=
setToFun_undef (dominatedFinMeasAdditive_condexpInd F' hm μ) hf
#align measure_theory.condexp_L1_undef MeasureTheory.condexpL1_undef
+-/
+#print MeasureTheory.condexpL1_eq /-
theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1Clm hm μ (hf.toL1 f) :=
setToFun_eq (dominatedFinMeasAdditive_condexpInd F' hm μ) hf
#align measure_theory.condexp_L1_eq MeasureTheory.condexpL1_eq
+-/
+#print MeasureTheory.condexpL1_zero /-
@[simp]
theorem condexpL1_zero : condexpL1 hm μ (0 : α → F') = 0 :=
setToFun_zero _
#align measure_theory.condexp_L1_zero MeasureTheory.condexpL1_zero
+-/
+#print MeasureTheory.condexpL1_measure_zero /-
@[simp]
theorem condexpL1_measure_zero (hm : m ≤ m0) : condexpL1 hm (0 : Measure α) f = 0 :=
setToFun_measure_zero _ rfl
#align measure_theory.condexp_L1_measure_zero MeasureTheory.condexpL1_measure_zero
+-/
-theorem aEStronglyMeasurable'_condexpL1 {f : α → F'} :
+#print MeasureTheory.aestronglyMeasurable'_condexpL1 /-
+theorem aestronglyMeasurable'_condexpL1 {f : α → F'} :
AEStronglyMeasurable' m (condexpL1 hm μ f) μ :=
by
by_cases hf : integrable f μ
@@ -557,17 +646,23 @@ theorem aEStronglyMeasurable'_condexpL1 {f : α → F'} :
· rw [condexp_L1_undef hf]
refine' ae_strongly_measurable'.congr _ (coe_fn_zero _ _ _).symm
exact strongly_measurable.ae_strongly_measurable' (@strongly_measurable_zero _ _ m _ _)
-#align measure_theory.ae_strongly_measurable'_condexp_L1 MeasureTheory.aEStronglyMeasurable'_condexpL1
+#align measure_theory.ae_strongly_measurable'_condexp_L1 MeasureTheory.aestronglyMeasurable'_condexpL1
+-/
+#print MeasureTheory.condexpL1_congr_ae /-
theorem condexpL1_congr_ae (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (h : f =ᵐ[μ] g) :
condexpL1 hm μ f = condexpL1 hm μ g :=
setToFun_congr_ae _ h
#align measure_theory.condexp_L1_congr_ae MeasureTheory.condexpL1_congr_ae
+-/
+#print MeasureTheory.integrable_condexpL1 /-
theorem integrable_condexpL1 (f : α → F') : Integrable (condexpL1 hm μ f) μ :=
L1.integrable_coeFn _
#align measure_theory.integrable_condexp_L1 MeasureTheory.integrable_condexpL1
+-/
+#print MeasureTheory.set_integral_condexpL1 /-
/-- The integral of the conditional expectation `condexp_L1` over an `m`-measurable set is equal to
the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
@@ -578,34 +673,46 @@ theorem set_integral_condexpL1 (hf : Integrable f μ) (hs : measurable_set[m] s)
rw [set_integral_condexp_L1_clm (hf.to_L1 f) hs]
exact set_integral_congr_ae (hm s hs) (hf.coe_fn_to_L1.mono fun x hx hxs => hx)
#align measure_theory.set_integral_condexp_L1 MeasureTheory.set_integral_condexpL1
+-/
+#print MeasureTheory.condexpL1_add /-
theorem condexpL1_add (hf : Integrable f μ) (hg : Integrable g μ) :
condexpL1 hm μ (f + g) = condexpL1 hm μ f + condexpL1 hm μ g :=
setToFun_add _ hf hg
#align measure_theory.condexp_L1_add MeasureTheory.condexpL1_add
+-/
+#print MeasureTheory.condexpL1_neg /-
theorem condexpL1_neg (f : α → F') : condexpL1 hm μ (-f) = -condexpL1 hm μ f :=
setToFun_neg _ f
#align measure_theory.condexp_L1_neg MeasureTheory.condexpL1_neg
+-/
+#print MeasureTheory.condexpL1_smul /-
theorem condexpL1_smul (c : 𝕜) (f : α → F') : condexpL1 hm μ (c • f) = c • condexpL1 hm μ f :=
setToFun_smul _ (fun c _ x => condexpInd_smul' c x) c f
#align measure_theory.condexp_L1_smul MeasureTheory.condexpL1_smul
+-/
+#print MeasureTheory.condexpL1_sub /-
theorem condexpL1_sub (hf : Integrable f μ) (hg : Integrable g μ) :
condexpL1 hm μ (f - g) = condexpL1 hm μ f - condexpL1 hm μ g :=
setToFun_sub _ hf hg
#align measure_theory.condexp_L1_sub MeasureTheory.condexpL1_sub
+-/
-theorem condexpL1_of_aEStronglyMeasurable' (hfm : AEStronglyMeasurable' m f μ)
+#print MeasureTheory.condexpL1_of_aestronglyMeasurable' /-
+theorem condexpL1_of_aestronglyMeasurable' (hfm : AEStronglyMeasurable' m f μ)
(hfi : Integrable f μ) : condexpL1 hm μ f =ᵐ[μ] f :=
by
rw [condexp_L1_eq hfi]
refine' eventually_eq.trans _ (integrable.coe_fn_to_L1 hfi)
rw [condexp_L1_clm_of_ae_strongly_measurable']
exact ae_strongly_measurable'.congr hfm (integrable.coe_fn_to_L1 hfi).symm
-#align measure_theory.condexp_L1_of_ae_strongly_measurable' MeasureTheory.condexpL1_of_aEStronglyMeasurable'
+#align measure_theory.condexp_L1_of_ae_strongly_measurable' MeasureTheory.condexpL1_of_aestronglyMeasurable'
+-/
+#print MeasureTheory.condexpL1_mono /-
theorem condexpL1_mono {E} [NormedLatticeAddCommGroup E] [CompleteSpace E] [NormedSpace ℝ E]
[OrderedSMul ℝ E] {f g : α → E} (hf : Integrable f μ) (hg : Integrable g μ) (hfg : f ≤ᵐ[μ] g) :
condexpL1 hm μ f ≤ᵐ[μ] condexpL1 hm μ g :=
@@ -615,6 +722,7 @@ theorem condexpL1_mono {E} [NormedLatticeAddCommGroup E] [CompleteSpace E] [Norm
fun s hs hμs x hx => condexp_ind_nonneg hs hμs.Ne x hx
exact set_to_fun_mono (dominated_fin_meas_additive_condexp_ind E hm μ) h_nonneg hf hg hfg
#align measure_theory.condexp_L1_mono MeasureTheory.condexpL1_mono
+-/
end CondexpL1
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -284,11 +284,11 @@ theorem condexpInd_ae_eq_condexpIndSmul (hm : m ≤ m0) [SigmaFinite (μ.trim hm
variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
-theorem aeStronglyMeasurable'_condexpInd (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
- AeStronglyMeasurable' m (condexpInd hm μ s x) μ :=
- AeStronglyMeasurable'.congr (aeStronglyMeasurable'_condexpIndSmul hm hs hμs x)
+theorem aEStronglyMeasurable'_condexpInd (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
+ AEStronglyMeasurable' m (condexpInd hm μ s x) μ :=
+ AEStronglyMeasurable'.congr (aEStronglyMeasurable'_condexpIndSmul hm hs hμs x)
(condexpInd_ae_eq_condexpIndSmul hm hs hμs x).symm
-#align measure_theory.ae_strongly_measurable'_condexp_ind MeasureTheory.aeStronglyMeasurable'_condexpInd
+#align measure_theory.ae_strongly_measurable'_condexp_ind MeasureTheory.aEStronglyMeasurable'_condexpInd
@[simp]
theorem condexpInd_empty : condexpInd hm μ ∅ = (0 : G →L[ℝ] α →₁[μ] G) :=
@@ -470,8 +470,8 @@ theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : measurable_set[m]
exact tendsto_nhds_unique h_left h_right
#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1Clm
-theorem aeStronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
- AeStronglyMeasurable' m (condexpL1Clm hm μ f) μ :=
+theorem aEStronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
+ AEStronglyMeasurable' m (condexpL1Clm hm μ f) μ :=
by
refine'
Lp.induction ENNReal.one_ne_top
@@ -490,7 +490,7 @@ theorem aeStronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
rw [this]
refine' IsClosed.preimage (condexp_L1_clm hm μ).Continuous _
exact is_closed_ae_strongly_measurable' hm
-#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aeStronglyMeasurable'_condexpL1Clm
+#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aEStronglyMeasurable'_condexpL1Clm
theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f : α →₁[μ] F') = ↑f :=
by
@@ -519,10 +519,10 @@ theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) : condexpL1Clm hm μ (f :
exact LinearIsometryEquiv.continuous _
#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1Clm_lpMeas
-theorem condexpL1Clm_of_aeStronglyMeasurable' (f : α →₁[μ] F') (hfm : AeStronglyMeasurable' m f μ) :
+theorem condexpL1Clm_of_aEStronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
condexpL1Clm hm μ f = f :=
condexpL1Clm_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
-#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aeStronglyMeasurable'
+#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aEStronglyMeasurable'
/-- Conditional expectation of a function, in L1. Its value is 0 if the function is not
integrable. The function-valued `condexp` should be used instead in most cases. -/
@@ -548,8 +548,8 @@ theorem condexpL1_measure_zero (hm : m ≤ m0) : condexpL1 hm (0 : Measure α) f
setToFun_measure_zero _ rfl
#align measure_theory.condexp_L1_measure_zero MeasureTheory.condexpL1_measure_zero
-theorem aeStronglyMeasurable'_condexpL1 {f : α → F'} :
- AeStronglyMeasurable' m (condexpL1 hm μ f) μ :=
+theorem aEStronglyMeasurable'_condexpL1 {f : α → F'} :
+ AEStronglyMeasurable' m (condexpL1 hm μ f) μ :=
by
by_cases hf : integrable f μ
· rw [condexp_L1_eq hf]
@@ -557,7 +557,7 @@ theorem aeStronglyMeasurable'_condexpL1 {f : α → F'} :
· rw [condexp_L1_undef hf]
refine' ae_strongly_measurable'.congr _ (coe_fn_zero _ _ _).symm
exact strongly_measurable.ae_strongly_measurable' (@strongly_measurable_zero _ _ m _ _)
-#align measure_theory.ae_strongly_measurable'_condexp_L1 MeasureTheory.aeStronglyMeasurable'_condexpL1
+#align measure_theory.ae_strongly_measurable'_condexp_L1 MeasureTheory.aEStronglyMeasurable'_condexpL1
theorem condexpL1_congr_ae (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (h : f =ᵐ[μ] g) :
condexpL1 hm μ f = condexpL1 hm μ g :=
@@ -597,14 +597,14 @@ theorem condexpL1_sub (hf : Integrable f μ) (hg : Integrable g μ) :
setToFun_sub _ hf hg
#align measure_theory.condexp_L1_sub MeasureTheory.condexpL1_sub
-theorem condexpL1_of_aeStronglyMeasurable' (hfm : AeStronglyMeasurable' m f μ)
+theorem condexpL1_of_aEStronglyMeasurable' (hfm : AEStronglyMeasurable' m f μ)
(hfi : Integrable f μ) : condexpL1 hm μ f =ᵐ[μ] f :=
by
rw [condexp_L1_eq hfi]
refine' eventually_eq.trans _ (integrable.coe_fn_to_L1 hfi)
rw [condexp_L1_clm_of_ae_strongly_measurable']
exact ae_strongly_measurable'.congr hfm (integrable.coe_fn_to_L1 hfi).symm
-#align measure_theory.condexp_L1_of_ae_strongly_measurable' MeasureTheory.condexpL1_of_aeStronglyMeasurable'
+#align measure_theory.condexp_L1_of_ae_strongly_measurable' MeasureTheory.condexpL1_of_aEStronglyMeasurable'
theorem condexpL1_mono {E} [NormedLatticeAddCommGroup E] [CompleteSpace E] [NormedSpace ℝ E]
[OrderedSMul ℝ E] {f g : α → E} (hf : Integrable f μ) (hg : Integrable g μ) (hfg : f ≤ᵐ[μ] g) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
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
.
@@ -332,14 +332,18 @@ theorem dominatedFinMeasAdditive_condexpInd (hm : m ≤ m0) (μ : Measure α)
variable {G}
-theorem set_integral_condexpInd (hs : MeasurableSet[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
+theorem setIntegral_condexpInd (hs : MeasurableSet[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
(hμt : μ t ≠ ∞) (x : G') : ∫ a in s, condexpInd G' hm μ t x a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
∫ a in s, condexpInd G' hm μ t x a ∂μ = ∫ a in s, condexpIndSMul hm ht hμt x a ∂μ :=
- set_integral_congr_ae (hm s hs)
+ setIntegral_congr_ae (hm s hs)
((condexpInd_ae_eq_condexpIndSMul hm ht hμt x).mono fun _ hx _ => hx)
- _ = (μ (t ∩ s)).toReal • x := set_integral_condexpIndSMul hs ht hμs hμt x
-#align measure_theory.set_integral_condexp_ind MeasureTheory.set_integral_condexpInd
+ _ = (μ (t ∩ s)).toReal • x := setIntegral_condexpIndSMul hs ht hμs hμt x
+#align measure_theory.set_integral_condexp_ind MeasureTheory.setIntegral_condexpInd
+
+@[deprecated]
+alias set_integral_condexpInd :=
+ setIntegral_condexpInd -- deprecated on 2024-04-17
theorem condexpInd_of_measurable (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) (c : G) :
condexpInd G hm μ s c = indicatorConstLp 1 (hm s hs) hμs c := by
@@ -398,34 +402,38 @@ theorem condexpL1CLM_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
rw [Lp.simpleFunc.coe_indicatorConst]; exact condexpL1CLM_indicatorConstLp hs hμs x
#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1CLM_indicatorConst
-/-- Auxiliary lemma used in the proof of `set_integral_condexpL1CLM`. -/
-theorem set_integral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
+/-- Auxiliary lemma used in the proof of `setIntegral_condexpL1CLM`. -/
+theorem setIntegral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
(hμs : μ s ≠ ∞) : ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
(fun f : α →₁[μ] F' => ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
(isClosed_eq _ _) f
· intro x t ht hμt
simp_rw [condexpL1CLM_indicatorConst ht hμt.ne x]
- rw [Lp.simpleFunc.coe_indicatorConst, set_integral_indicatorConstLp (hm _ hs)]
- exact set_integral_condexpInd hs ht hμs hμt.ne x
+ rw [Lp.simpleFunc.coe_indicatorConst, setIntegral_indicatorConstLp (hm _ hs)]
+ exact setIntegral_condexpInd hs ht hμs hμt.ne x
· intro f g hf_Lp hg_Lp _ hf hg
simp_rw [(condexpL1CLM F' hm μ).map_add]
- rw [set_integral_congr_ae (hm s hs) ((Lp.coeFn_add (condexpL1CLM F' hm μ (hf_Lp.toLp f))
+ rw [setIntegral_congr_ae (hm s hs) ((Lp.coeFn_add (condexpL1CLM F' hm μ (hf_Lp.toLp f))
(condexpL1CLM F' hm μ (hg_Lp.toLp g))).mono fun x hx _ => hx)]
- rw [set_integral_congr_ae (hm s hs)
+ rw [setIntegral_congr_ae (hm s hs)
((Lp.coeFn_add (hf_Lp.toLp f) (hg_Lp.toLp g)).mono fun x hx _ => hx)]
simp_rw [Pi.add_apply]
rw [integral_add (L1.integrable_coeFn _).integrableOn (L1.integrable_coeFn _).integrableOn,
integral_add (L1.integrable_coeFn _).integrableOn (L1.integrable_coeFn _).integrableOn, hf,
hg]
- · exact (continuous_set_integral s).comp (condexpL1CLM F' hm μ).continuous
- · exact continuous_set_integral s
-#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top
+ · exact (continuous_setIntegral s).comp (condexpL1CLM F' hm μ).continuous
+ · exact continuous_setIntegral s
+#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.setIntegral_condexpL1CLM_of_measure_ne_top
+
+@[deprecated]
+alias set_integral_condexpL1CLM_of_measure_ne_top :=
+ setIntegral_condexpL1CLM_of_measure_ne_top -- deprecated on 2024-04-17
/-- The integral of the conditional expectation `condexpL1CLM` over an `m`-measurable set is equal
-to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
+to the integral of `f` on that set. See also `setIntegral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
+theorem setIntegral_condexpL1CLM (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
let S := spanningSets (μ.trim hm)
have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
@@ -444,21 +452,25 @@ theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : MeasurableSet[m]
have h_eq_forall :
(fun i => ∫ x in S i ∩ s, condexpL1CLM F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
funext fun i =>
- set_integral_condexpL1CLM_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
+ setIntegral_condexpL1CLM_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
(hS_finite i).ne
have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
have h :=
- tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
+ tendsto_setIntegral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
(L1.integrable_coeFn f).integrableOn
rwa [← hs_eq] at h
have h_left : Tendsto (fun i => ∫ x in S i ∩ s, condexpL1CLM F' hm μ f x ∂μ) atTop
(𝓝 (∫ x in s, condexpL1CLM F' hm μ f x ∂μ)) := by
- have h := tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
+ have h := tendsto_setIntegral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
(L1.integrable_coeFn (condexpL1CLM F' hm μ f)).integrableOn
rwa [← hs_eq] at h
rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
-#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1CLM
+#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.setIntegral_condexpL1CLM
+
+@[deprecated]
+alias set_integral_condexpL1CLM :=
+ setIntegral_condexpL1CLM -- deprecated on 2024-04-17
theorem aestronglyMeasurable'_condexpL1CLM (f : α →₁[μ] F') :
AEStronglyMeasurable' m (condexpL1CLM F' hm μ f) μ := by
@@ -551,14 +563,18 @@ theorem integrable_condexpL1 (f : α → F') : Integrable (condexpL1 hm μ f) μ
#align measure_theory.integrable_condexp_L1 MeasureTheory.integrable_condexpL1
/-- The integral of the conditional expectation `condexpL1` over an `m`-measurable set is equal to
-the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
+the integral of `f` on that set. See also `setIntegral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1 (hf : Integrable f μ) (hs : MeasurableSet[m] s) :
+theorem setIntegral_condexpL1 (hf : Integrable f μ) (hs : MeasurableSet[m] s) :
∫ x in s, condexpL1 hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
simp_rw [condexpL1_eq hf]
- rw [set_integral_condexpL1CLM (hf.toL1 f) hs]
- exact set_integral_congr_ae (hm s hs) (hf.coeFn_toL1.mono fun x hx _ => hx)
-#align measure_theory.set_integral_condexp_L1 MeasureTheory.set_integral_condexpL1
+ rw [setIntegral_condexpL1CLM (hf.toL1 f) hs]
+ exact setIntegral_congr_ae (hm s hs) (hf.coeFn_toL1.mono fun x hx _ => hx)
+#align measure_theory.set_integral_condexp_L1 MeasureTheory.setIntegral_condexpL1
+
+@[deprecated]
+alias set_integral_condexpL1 :=
+ setIntegral_condexpL1 -- deprecated on 2024-04-17
theorem condexpL1_add (hf : Integrable f μ) (hg : Integrable g μ) :
condexpL1 hm μ (f + g) = condexpL1 hm μ f + condexpL1 hm μ g :=
@@ -184,11 +184,11 @@ variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
theorem condexpIndL1_of_measurableSet_of_measure_ne_top (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : G) : condexpIndL1 hm μ s x = condexpIndL1Fin hm hs hμs x := by
- simp only [condexpIndL1, And.intro hs hμs, dif_pos, Ne.def, not_false_iff, and_self_iff]
+ simp only [condexpIndL1, And.intro hs hμs, dif_pos, Ne, not_false_iff, and_self_iff]
#align measure_theory.condexp_ind_L1_of_measurable_set_of_measure_ne_top MeasureTheory.condexpIndL1_of_measurableSet_of_measure_ne_top
theorem condexpIndL1_of_measure_eq_top (hμs : μ s = ∞) (x : G) : condexpIndL1 hm μ s x = 0 := by
- simp only [condexpIndL1, hμs, eq_self_iff_true, not_true, Ne.def, dif_neg, not_false_iff,
+ simp only [condexpIndL1, hμs, eq_self_iff_true, not_true, Ne, dif_neg, not_false_iff,
and_false_iff]
#align measure_theory.condexp_ind_L1_of_measure_eq_top MeasureTheory.condexpIndL1_of_measure_eq_top
@@ -275,7 +275,7 @@ theorem condexpInd_ae_eq_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm
(hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
condexpInd G hm μ s x =ᵐ[μ] condexpIndSMul hm hs hμs x := by
refine' EventuallyEq.trans _ (condexpIndL1Fin_ae_eq_condexpIndSMul hm hs hμs x)
- simp [condexpInd, condexpIndL1, hs, hμs]; rfl
+ simp [condexpInd, condexpIndL1, hs, hμs]
#align measure_theory.condexp_ind_ae_eq_condexp_ind_smul MeasureTheory.condexpInd_ae_eq_condexpIndSMul
variable {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
IsROrC
to RCLike
(#10819)
IsROrC
contains data, which goes against the expectation that classes prefixed with Is
are prop-valued. People have been complaining about this on and off, so this PR renames IsROrC
to RCLike
.
@@ -37,7 +37,7 @@ open scoped NNReal ENNReal Topology BigOperators MeasureTheory
namespace MeasureTheory
-variable {α β F F' G G' 𝕜 : Type*} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α β F F' G G' 𝕜 : Type*} {p : ℝ≥0∞} [RCLike 𝕜]
-- 𝕜 for ℝ or ℂ
-- F for a Lp submodule
[NormedAddCommGroup F]
@@ -127,8 +127,7 @@ theorem condexpIndL1Fin_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs
theorem norm_condexpIndL1Fin_le (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
‖condexpIndL1Fin hm hs hμs x‖ ≤ (μ s).toReal * ‖x‖ := by
- have : 0 ≤ ∫ a : α, ‖condexpIndL1Fin hm hs hμs x a‖ ∂μ :=
- integral_nonneg fun a => norm_nonneg _
+ have : 0 ≤ ∫ a : α, ‖condexpIndL1Fin hm hs hμs x a‖ ∂μ := by positivity
rw [L1.norm_eq_integral_norm, ← ENNReal.toReal_ofReal (norm_nonneg x), ← ENNReal.toReal_mul, ←
ENNReal.toReal_ofReal this,
ENNReal.toReal_le_toReal ENNReal.ofReal_ne_top (ENNReal.mul_ne_top hμs ENNReal.ofReal_ne_top),
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.
@@ -163,8 +163,7 @@ theorem condexpIndL1Fin_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSe
push_cast
rw [((toSpanSingleton ℝ x).compLpL 2 μ).map_add]
refine' (Lp.coeFn_add _ _).trans _
- refine' eventually_of_forall fun y => _
- rfl
+ filter_upwards with y using rfl
#align measure_theory.condexp_ind_L1_fin_disjoint_union MeasureTheory.condexpIndL1Fin_disjoint_union
end CondexpIndL1Fin
@@ -484,7 +484,7 @@ theorem condexpL1CLM_lpMeas (f : lpMeas F' ℝ m 1 μ) :
condexpL1CLM F' hm μ (f : α →₁[μ] F') = ↑f := by
let g := lpMeasToLpTrimLie F' ℝ 1 μ hm f
have hfg : f = (lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g := by
- simp only [LinearIsometryEquiv.symm_apply_apply]
+ simp only [g, LinearIsometryEquiv.symm_apply_apply]
rw [hfg]
refine' @Lp.induction α F' m _ 1 (μ.trim hm) _ ENNReal.coe_ne_top (fun g : α →₁[μ.trim hm] F' =>
condexpL1CLM F' hm μ ((lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g : α →₁[μ] F') =
@@ -110,7 +110,7 @@ theorem condexpIndL1Fin_smul (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (c :
rw [condexpIndSMul_smul hs hμs c x]
refine' (Lp.coeFn_smul _ _).trans _
refine' (condexpIndL1Fin_ae_eq_condexpIndSMul hm hs hμs x).mono fun y hy => _
- rw [Pi.smul_apply, Pi.smul_apply, hy]
+ simp only [Pi.smul_apply, hy]
#align measure_theory.condexp_ind_L1_fin_smul MeasureTheory.condexpIndL1Fin_smul
theorem condexpIndL1Fin_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs : MeasurableSet s)
@@ -122,7 +122,7 @@ theorem condexpIndL1Fin_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs
rw [condexpIndSMul_smul' hs hμs c x]
refine' (Lp.coeFn_smul _ _).trans _
refine' (condexpIndL1Fin_ae_eq_condexpIndSMul hm hs hμs x).mono fun y hy => _
- rw [Pi.smul_apply, Pi.smul_apply, hy]
+ simp only [Pi.smul_apply, hy]
#align measure_theory.condexp_ind_L1_fin_smul' MeasureTheory.condexpIndL1Fin_smul'
theorem norm_condexpIndL1Fin_le (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
@@ -309,7 +309,7 @@ theorem norm_condexpInd_apply_le (x : G) : ‖condexpInd G hm μ s x‖ ≤ (μ
#align measure_theory.norm_condexp_ind_apply_le MeasureTheory.norm_condexpInd_apply_le
theorem norm_condexpInd_le : ‖(condexpInd G hm μ s : G →L[ℝ] α →₁[μ] G)‖ ≤ (μ s).toReal :=
- ContinuousLinearMap.op_norm_le_bound _ ENNReal.toReal_nonneg norm_condexpInd_apply_le
+ ContinuousLinearMap.opNorm_le_bound _ ENNReal.toReal_nonneg norm_condexpInd_apply_le
#align measure_theory.norm_condexp_ind_le MeasureTheory.norm_condexpInd_le
theorem condexpInd_disjoint_union_apply (hs : MeasurableSet s) (ht : MeasurableSet t)
Clm
-> CLM
, Cle
-> CLE
(#10018)
Rename
Complex.equivRealProdClm
→ Complex.equivRealProdCLM
;
CLE
?Complex.reClm
→ Complex.reCLM
;Complex.imClm
→ Complex.imCLM
;Complex.conjLie
→ Complex.conjLIE
;Complex.conjCle
→ Complex.conjCLE
;Complex.ofRealLi
→ Complex.ofRealLI
;Complex.ofRealClm
→ Complex.ofRealCLM
;fderivInnerClm
→ fderivInnerCLM
;LinearPMap.adjointDomainMkClm
→ LinearPMap.adjointDomainMkCLM
;LinearPMap.adjointDomainMkClmExtend
→ LinearPMap.adjointDomainMkCLMExtend
;IsROrC.reClm
→ IsROrC.reCLM
;IsROrC.imClm
→ IsROrC.imCLM
;IsROrC.conjLie
→ IsROrC.conjLIE
;IsROrC.conjCle
→ IsROrC.conjCLE
;IsROrC.ofRealLi
→ IsROrC.ofRealLI
;IsROrC.ofRealClm
→ IsROrC.ofRealCLM
;MeasureTheory.condexpL1Clm
→ MeasureTheory.condexpL1CLM
;algebraMapClm
→ algebraMapCLM
;WeakDual.CharacterSpace.toClm
→ WeakDual.CharacterSpace.toCLM
;BoundedContinuousFunction.evalClm
→ BoundedContinuousFunction.evalCLM
;ContinuousMap.evalClm
→ ContinuousMap.evalCLM
;TrivSqZeroExt.fstClm
→ TrivSqZeroExt.fstClm
;TrivSqZeroExt.sndClm
→ TrivSqZeroExt.sndCLM
;TrivSqZeroExt.inlClm
→ TrivSqZeroExt.inlCLM
;TrivSqZeroExt.inrClm
→ TrivSqZeroExt.inrCLM
and related theorems.
@@ -19,7 +19,7 @@ The contitional expectation of an `L²` function is defined in
is integrable and define a map `Set α → (E →L[ℝ] (α →₁[μ] E))` which to a set associates a linear
map. That linear map sends `x ∈ E` to the conditional expectation of the indicator of the set
with value `x`.
-* Extend that map to `condexpL1Clm : (α →₁[μ] E) →L[ℝ] (α →₁[μ] E)`. This is done using the same
+* Extend that map to `condexpL1CLM : (α →₁[μ] E) →L[ℝ] (α →₁[μ] E)`. This is done using the same
construction as the Bochner integral (see the file `MeasureTheory/Integral/SetToL1`).
## Main definitions
@@ -372,63 +372,63 @@ set_option linter.uppercaseLean3 false
variable {m m0 : MeasurableSpace α} {μ : Measure α} {hm : m ≤ m0} [SigmaFinite (μ.trim hm)]
{f g : α → F'} {s : Set α}
--- Porting note: `F'` is not automatically inferred in `condexpL1Clm` in Lean 4;
+-- Porting note: `F'` is not automatically inferred in `condexpL1CLM` in Lean 4;
-- to avoid repeatedly typing `(F' := ...)` it is made explicit.
variable (F')
/-- Conditional expectation of a function as a linear map from `α →₁[μ] F'` to itself. -/
-def condexpL1Clm (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] :
+def condexpL1CLM (hm : m ≤ m0) (μ : Measure α) [SigmaFinite (μ.trim hm)] :
(α →₁[μ] F') →L[ℝ] α →₁[μ] F' :=
L1.setToL1 (dominatedFinMeasAdditive_condexpInd F' hm μ)
-#align measure_theory.condexp_L1_clm MeasureTheory.condexpL1Clm
+#align measure_theory.condexp_L1_clm MeasureTheory.condexpL1CLM
variable {F'}
-theorem condexpL1Clm_smul (c : 𝕜) (f : α →₁[μ] F') :
- condexpL1Clm F' hm μ (c • f) = c • condexpL1Clm F' hm μ f := by
+theorem condexpL1CLM_smul (c : 𝕜) (f : α →₁[μ] F') :
+ condexpL1CLM F' hm μ (c • f) = c • condexpL1CLM F' hm μ f := by
refine' L1.setToL1_smul (dominatedFinMeasAdditive_condexpInd F' hm μ) _ c f
exact fun c s x => condexpInd_smul' c x
-#align measure_theory.condexp_L1_clm_smul MeasureTheory.condexpL1Clm_smul
+#align measure_theory.condexp_L1_clm_smul MeasureTheory.condexpL1CLM_smul
-theorem condexpL1Clm_indicatorConstLp (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
- (condexpL1Clm F' hm μ) (indicatorConstLp 1 hs hμs x) = condexpInd F' hm μ s x :=
+theorem condexpL1CLM_indicatorConstLp (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
+ (condexpL1CLM F' hm μ) (indicatorConstLp 1 hs hμs x) = condexpInd F' hm μ s x :=
L1.setToL1_indicatorConstLp (dominatedFinMeasAdditive_condexpInd F' hm μ) hs hμs x
-#align measure_theory.condexp_L1_clm_indicator_const_Lp MeasureTheory.condexpL1Clm_indicatorConstLp
+#align measure_theory.condexp_L1_clm_indicator_const_Lp MeasureTheory.condexpL1CLM_indicatorConstLp
-theorem condexpL1Clm_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
- (condexpL1Clm F' hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd F' hm μ s x := by
- rw [Lp.simpleFunc.coe_indicatorConst]; exact condexpL1Clm_indicatorConstLp hs hμs x
-#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1Clm_indicatorConst
+theorem condexpL1CLM_indicatorConst (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : F') :
+ (condexpL1CLM F' hm μ) ↑(simpleFunc.indicatorConst 1 hs hμs x) = condexpInd F' hm μ s x := by
+ rw [Lp.simpleFunc.coe_indicatorConst]; exact condexpL1CLM_indicatorConstLp hs hμs x
+#align measure_theory.condexp_L1_clm_indicator_const MeasureTheory.condexpL1CLM_indicatorConst
-/-- Auxiliary lemma used in the proof of `set_integral_condexpL1Clm`. -/
-theorem set_integral_condexpL1Clm_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
- (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
+/-- Auxiliary lemma used in the proof of `set_integral_condexpL1CLM`. -/
+theorem set_integral_condexpL1CLM_of_measure_ne_top (f : α →₁[μ] F') (hs : MeasurableSet[m] s)
+ (hμs : μ s ≠ ∞) : ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
- (fun f : α →₁[μ] F' => ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
+ (fun f : α →₁[μ] F' => ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ) _ _
(isClosed_eq _ _) f
· intro x t ht hμt
- simp_rw [condexpL1Clm_indicatorConst ht hμt.ne x]
+ simp_rw [condexpL1CLM_indicatorConst ht hμt.ne x]
rw [Lp.simpleFunc.coe_indicatorConst, set_integral_indicatorConstLp (hm _ hs)]
exact set_integral_condexpInd hs ht hμs hμt.ne x
· intro f g hf_Lp hg_Lp _ hf hg
- simp_rw [(condexpL1Clm F' hm μ).map_add]
- rw [set_integral_congr_ae (hm s hs) ((Lp.coeFn_add (condexpL1Clm F' hm μ (hf_Lp.toLp f))
- (condexpL1Clm F' hm μ (hg_Lp.toLp g))).mono fun x hx _ => hx)]
+ simp_rw [(condexpL1CLM F' hm μ).map_add]
+ rw [set_integral_congr_ae (hm s hs) ((Lp.coeFn_add (condexpL1CLM F' hm μ (hf_Lp.toLp f))
+ (condexpL1CLM F' hm μ (hg_Lp.toLp g))).mono fun x hx _ => hx)]
rw [set_integral_congr_ae (hm s hs)
((Lp.coeFn_add (hf_Lp.toLp f) (hg_Lp.toLp g)).mono fun x hx _ => hx)]
simp_rw [Pi.add_apply]
rw [integral_add (L1.integrable_coeFn _).integrableOn (L1.integrable_coeFn _).integrableOn,
integral_add (L1.integrable_coeFn _).integrableOn (L1.integrable_coeFn _).integrableOn, hf,
hg]
- · exact (continuous_set_integral s).comp (condexpL1Clm F' hm μ).continuous
+ · exact (continuous_set_integral s).comp (condexpL1CLM F' hm μ).continuous
· exact continuous_set_integral s
-#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1Clm_of_measure_ne_top
+#align measure_theory.set_integral_condexp_L1_clm_of_measure_ne_top MeasureTheory.set_integral_condexpL1CLM_of_measure_ne_top
-/-- The integral of the conditional expectation `condexpL1Clm` over an `m`-measurable set is equal
+/-- The integral of the conditional expectation `condexpL1CLM` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `set_integral_condexp`, the similar statement for
`condexp`. -/
-theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
- ∫ x in s, condexpL1Clm F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
+theorem set_integral_condexpL1CLM (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
+ ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
let S := spanningSets (μ.trim hm)
have hS_meas : ∀ i, MeasurableSet[m] (S i) := measurable_spanningSets (μ.trim hm)
have hS_meas0 : ∀ i, MeasurableSet (S i) := fun i => hm _ (hS_meas i)
@@ -444,70 +444,70 @@ theorem set_integral_condexpL1Clm (f : α →₁[μ] F') (hs : MeasurableSet[m]
simp_rw [Set.mem_inter_iff]
exact fun h => ⟨monotone_spanningSets (μ.trim hm) hij h.1, h.2⟩
have h_eq_forall :
- (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
+ (fun i => ∫ x in S i ∩ s, condexpL1CLM F' hm μ f x ∂μ) = fun i => ∫ x in S i ∩ s, f x ∂μ :=
funext fun i =>
- set_integral_condexpL1Clm_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
+ set_integral_condexpL1CLM_of_measure_ne_top f (@MeasurableSet.inter α m _ _ (hS_meas i) hs)
(hS_finite i).ne
have h_right : Tendsto (fun i => ∫ x in S i ∩ s, f x ∂μ) atTop (𝓝 (∫ x in s, f x ∂μ)) := by
have h :=
tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
(L1.integrable_coeFn f).integrableOn
rwa [← hs_eq] at h
- have h_left : Tendsto (fun i => ∫ x in S i ∩ s, condexpL1Clm F' hm μ f x ∂μ) atTop
- (𝓝 (∫ x in s, condexpL1Clm F' hm μ f x ∂μ)) := by
+ have h_left : Tendsto (fun i => ∫ x in S i ∩ s, condexpL1CLM F' hm μ f x ∂μ) atTop
+ (𝓝 (∫ x in s, condexpL1CLM F' hm μ f x ∂μ)) := by
have h := tendsto_set_integral_of_monotone (fun i => (hS_meas0 i).inter (hm s hs)) h_mono
- (L1.integrable_coeFn (condexpL1Clm F' hm μ f)).integrableOn
+ (L1.integrable_coeFn (condexpL1CLM F' hm μ f)).integrableOn
rwa [← hs_eq] at h
rw [h_eq_forall] at h_left
exact tendsto_nhds_unique h_left h_right
-#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1Clm
+#align measure_theory.set_integral_condexp_L1_clm MeasureTheory.set_integral_condexpL1CLM
-theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
- AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ := by
+theorem aestronglyMeasurable'_condexpL1CLM (f : α →₁[μ] F') :
+ AEStronglyMeasurable' m (condexpL1CLM F' hm μ f) μ := by
refine' @Lp.induction _ _ _ _ _ _ _ ENNReal.one_ne_top
- (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ) _ _ _ f
+ (fun f : α →₁[μ] F' => AEStronglyMeasurable' m (condexpL1CLM F' hm μ f) μ) _ _ _ f
· intro c s hs hμs
- rw [condexpL1Clm_indicatorConst hs hμs.ne c]
+ rw [condexpL1CLM_indicatorConst hs hμs.ne c]
exact aestronglyMeasurable'_condexpInd hs hμs.ne c
· intro f g hf hg _ hfm hgm
- rw [(condexpL1Clm F' hm μ).map_add]
+ rw [(condexpL1CLM F' hm μ).map_add]
refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
exact AEStronglyMeasurable'.add hfm hgm
- · have : {f : Lp F' 1 μ | AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ} =
- condexpL1Clm F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := rfl
+ · have : {f : Lp F' 1 μ | AEStronglyMeasurable' m (condexpL1CLM F' hm μ f) μ} =
+ condexpL1CLM F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := rfl
rw [this]
- refine' IsClosed.preimage (condexpL1Clm F' hm μ).continuous _
+ refine' IsClosed.preimage (condexpL1CLM F' hm μ).continuous _
exact isClosed_aeStronglyMeasurable' hm
-#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aestronglyMeasurable'_condexpL1Clm
+#align measure_theory.ae_strongly_measurable'_condexp_L1_clm MeasureTheory.aestronglyMeasurable'_condexpL1CLM
-theorem condexpL1Clm_lpMeas (f : lpMeas F' ℝ m 1 μ) :
- condexpL1Clm F' hm μ (f : α →₁[μ] F') = ↑f := by
+theorem condexpL1CLM_lpMeas (f : lpMeas F' ℝ m 1 μ) :
+ condexpL1CLM F' hm μ (f : α →₁[μ] F') = ↑f := by
let g := lpMeasToLpTrimLie F' ℝ 1 μ hm f
have hfg : f = (lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g := by
simp only [LinearIsometryEquiv.symm_apply_apply]
rw [hfg]
refine' @Lp.induction α F' m _ 1 (μ.trim hm) _ ENNReal.coe_ne_top (fun g : α →₁[μ.trim hm] F' =>
- condexpL1Clm F' hm μ ((lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g : α →₁[μ] F') =
+ condexpL1CLM F' hm μ ((lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g : α →₁[μ] F') =
↑((lpMeasToLpTrimLie F' ℝ 1 μ hm).symm g)) _ _ _ g
· intro c s hs hμs
rw [@Lp.simpleFunc.coe_indicatorConst _ _ m, lpMeasToLpTrimLie_symm_indicator hs hμs.ne c,
- condexpL1Clm_indicatorConstLp]
+ condexpL1CLM_indicatorConstLp]
exact condexpInd_of_measurable hs ((le_trim hm).trans_lt hμs).ne c
· intro f g hf hg _ hf_eq hg_eq
rw [LinearIsometryEquiv.map_add]
push_cast
rw [map_add, hf_eq, hg_eq]
· refine' isClosed_eq _ _
- · refine' (condexpL1Clm F' hm μ).continuous.comp (continuous_induced_dom.comp _)
+ · refine' (condexpL1CLM F' hm μ).continuous.comp (continuous_induced_dom.comp _)
exact LinearIsometryEquiv.continuous _
· refine' continuous_induced_dom.comp _
exact LinearIsometryEquiv.continuous _
-#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1Clm_lpMeas
+#align measure_theory.condexp_L1_clm_Lp_meas MeasureTheory.condexpL1CLM_lpMeas
-theorem condexpL1Clm_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
- condexpL1Clm F' hm μ f = f :=
- condexpL1Clm_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
-#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1Clm_of_aestronglyMeasurable'
+theorem condexpL1CLM_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
+ condexpL1CLM F' hm μ f = f :=
+ condexpL1CLM_lpMeas (⟨f, hfm⟩ : lpMeas F' ℝ m 1 μ)
+#align measure_theory.condexp_L1_clm_of_ae_strongly_measurable' MeasureTheory.condexpL1CLM_of_aestronglyMeasurable'
/-- Conditional expectation of a function, in L1. Its value is 0 if the function is not
integrable. The function-valued `condexp` should be used instead in most cases. -/
@@ -519,7 +519,7 @@ theorem condexpL1_undef (hf : ¬Integrable f μ) : condexpL1 hm μ f = 0 :=
setToFun_undef (dominatedFinMeasAdditive_condexpInd F' hm μ) hf
#align measure_theory.condexp_L1_undef MeasureTheory.condexpL1_undef
-theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1Clm F' hm μ (hf.toL1 f) :=
+theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1CLM F' hm μ (hf.toL1 f) :=
setToFun_eq (dominatedFinMeasAdditive_condexpInd F' hm μ) hf
#align measure_theory.condexp_L1_eq MeasureTheory.condexpL1_eq
@@ -537,7 +537,7 @@ theorem aestronglyMeasurable'_condexpL1 {f : α → F'} :
AEStronglyMeasurable' m (condexpL1 hm μ f) μ := by
by_cases hf : Integrable f μ
· rw [condexpL1_eq hf]
- exact aestronglyMeasurable'_condexpL1Clm _
+ exact aestronglyMeasurable'_condexpL1CLM _
· rw [condexpL1_undef hf]
refine AEStronglyMeasurable'.congr ?_ (coeFn_zero _ _ _).symm
exact StronglyMeasurable.aeStronglyMeasurable' (@stronglyMeasurable_zero _ _ m _ _)
@@ -558,7 +558,7 @@ the integral of `f` on that set. See also `set_integral_condexp`, the similar st
theorem set_integral_condexpL1 (hf : Integrable f μ) (hs : MeasurableSet[m] s) :
∫ x in s, condexpL1 hm μ f x ∂μ = ∫ x in s, f x ∂μ := by
simp_rw [condexpL1_eq hf]
- rw [set_integral_condexpL1Clm (hf.toL1 f) hs]
+ rw [set_integral_condexpL1CLM (hf.toL1 f) hs]
exact set_integral_congr_ae (hm s hs) (hf.coeFn_toL1.mono fun x hx _ => hx)
#align measure_theory.set_integral_condexp_L1 MeasureTheory.set_integral_condexpL1
@@ -585,7 +585,7 @@ theorem condexpL1_of_aestronglyMeasurable' (hfm : AEStronglyMeasurable' m f μ)
(hfi : Integrable f μ) : condexpL1 hm μ f =ᵐ[μ] f := by
rw [condexpL1_eq hfi]
refine' EventuallyEq.trans _ (Integrable.coeFn_toL1 hfi)
- rw [condexpL1Clm_of_aestronglyMeasurable']
+ rw [condexpL1CLM_of_aestronglyMeasurable']
exact AEStronglyMeasurable'.congr hfm (Integrable.coeFn_toL1 hfi).symm
#align measure_theory.condexp_L1_of_ae_strongly_measurable' MeasureTheory.condexpL1_of_aestronglyMeasurable'
@@ -474,7 +474,7 @@ theorem aestronglyMeasurable'_condexpL1Clm (f : α →₁[μ] F') :
refine' AEStronglyMeasurable'.congr _ (coeFn_add _ _).symm
exact AEStronglyMeasurable'.add hfm hgm
· have : {f : Lp F' 1 μ | AEStronglyMeasurable' m (condexpL1Clm F' hm μ f) μ} =
- condexpL1Clm F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := by rfl
+ condexpL1Clm F' hm μ ⁻¹' {f | AEStronglyMeasurable' m f μ} := rfl
rw [this]
refine' IsClosed.preimage (condexpL1Clm F' hm μ).continuous _
exact isClosed_aeStronglyMeasurable' hm
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -37,7 +37,7 @@ open scoped NNReal ENNReal Topology BigOperators MeasureTheory
namespace MeasureTheory
-variable {α β F F' G G' 𝕜 : Type _} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α β F F' G G' 𝕜 : Type*} {p : ℝ≥0∞} [IsROrC 𝕜]
-- 𝕜 for ℝ or ℂ
-- F for a Lp submodule
[NormedAddCommGroup F]
@@ -2,14 +2,11 @@
Copyright (c) 2021 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 measure_theory.function.conditional_expectation.condexp_L1
-! leanprover-community/mathlib commit d8bbb04e2d2a44596798a9207ceefc0fb236e41e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2
+#align_import measure_theory.function.conditional_expectation.condexp_L1 from "leanprover-community/mathlib"@"d8bbb04e2d2a44596798a9207ceefc0fb236e41e"
+
/-! # Conditional expectation in L1
This file contains two more steps of the construction of the conditional expectation, which is
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