measure_theory.function.conditional_expectation.condexp_L2
⟷
Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL2
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
@@ -560,32 +560,32 @@ theorem condexpIndSMul_empty {x : G} :
#align measure_theory.condexp_ind_smul_empty MeasureTheory.condexpIndSMul_empty
-/
-#print MeasureTheory.set_integral_condexpL2_indicator /-
-theorem set_integral_condexpL2_indicator (hs : measurable_set[m] s) (ht : MeasurableSet t)
+#print MeasureTheory.setIntegral_condexpL2_indicator /-
+theorem setIntegral_condexpL2_indicator (hs : measurable_set[m] s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) :
∫ x in s, (condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ))) x ∂μ = (μ (t ∩ s)).toReal :=
calc
∫ x in s, (condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ))) x ∂μ =
∫ x in s, indicatorConstLp 2 ht hμt (1 : ℝ) x ∂μ :=
@integral_condexpL2_eq α _ ℝ _ _ _ _ _ _ _ _ _ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) hs hμs
- _ = (μ (t ∩ s)).toReal • 1 := (set_integral_indicatorConstLp (hm s hs) ht hμt (1 : ℝ))
+ _ = (μ (t ∩ s)).toReal • 1 := (setIntegral_indicatorConstLp (hm s hs) ht hμt (1 : ℝ))
_ = (μ (t ∩ s)).toReal := by rw [smul_eq_mul, mul_one]
-#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.set_integral_condexpL2_indicator
+#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.setIntegral_condexpL2_indicator
-/
-#print MeasureTheory.set_integral_condexpIndSMul /-
-theorem set_integral_condexpIndSMul (hs : measurable_set[m] s) (ht : MeasurableSet t)
- (hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) (x : G') :
+#print MeasureTheory.setIntegral_condexpIndSMul /-
+theorem setIntegral_condexpIndSMul (hs : measurable_set[m] s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
+ (hμt : μ t ≠ ∞) (x : G') :
∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ =
∫ a in s, condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) a • x ∂μ :=
- set_integral_congr_ae (hm s hs)
+ setIntegral_congr_ae (hm s hs)
((condexpIndSMul_ae_eq_smul hm ht hμt x).mono fun x hx hxs => hx)
_ = (∫ a in s, condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) a ∂μ) • x :=
(integral_smul_const _ x)
_ = (μ (t ∩ s)).toReal • x := by rw [set_integral_condexp_L2_indicator hs ht hμs hμt]
-#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.set_integral_condexpIndSMul
+#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.setIntegral_condexpIndSMul
-/
#print MeasureTheory.condexpL2_indicator_nonneg /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -42,7 +42,7 @@ open scoped ENNReal Topology MeasureTheory
namespace MeasureTheory
-variable {α E E' F G G' 𝕜 : Type _} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α E E' F G G' 𝕜 : Type _} {p : ℝ≥0∞} [RCLike 𝕜]
-- 𝕜 for ℝ or ℂ
-- E for an inner product space
[NormedAddCommGroup E]
@@ -319,7 +319,7 @@ theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : measurable_
#align measure_theory.integral_condexp_L2_eq MeasureTheory.integral_condexpL2_eq
-/
-variable {E'' 𝕜' : Type _} [IsROrC 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
+variable {E'' 𝕜' : Type _} [RCLike 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
[CompleteSpace E''] [NormedSpace ℝ E'']
variable (𝕜 𝕜')
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -220,11 +220,11 @@ theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : measurable_set[m] s) (hμs : μ
(hf : f =ᵐ[μ.restrict s] 0) : condexpL2 ℝ hm f =ᵐ[μ.restrict s] 0 :=
by
suffices h_nnnorm_eq_zero : ∫⁻ x in s, ‖condexp_L2 ℝ hm f x‖₊ ∂μ = 0
- · rw [lintegral_eq_zero_iff] at h_nnnorm_eq_zero
+ · rw [lintegral_eq_zero_iff] at h_nnnorm_eq_zero
refine' h_nnnorm_eq_zero.mono fun x hx => _
- dsimp only at hx
+ dsimp only at hx
rw [Pi.zero_apply] at hx ⊢
- · rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero] at hx
+ · rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero] at hx
· refine' Measurable.coe_nnreal_ennreal (Measurable.nnnorm _)
rw [Lp_meas_coe]
exact (Lp.strongly_measurable _).Measurable
@@ -343,7 +343,7 @@ theorem condexpL2_comp_continuousLinearMap (hm : m ≤ m0) (T : E' →L[ℝ] E''
(integrable_on_Lp_of_measure_ne_top f fact_one_le_two_ennreal.elim hμs.ne)]
· rw [← Lp_meas_coe]; exact Lp_meas.ae_strongly_measurable' _
· have h_coe := T.coe_fn_comp_Lp (condexp_L2 𝕜 hm f : α →₂[μ] E')
- rw [← eventually_eq] at h_coe
+ rw [← eventually_eq] at h_coe
refine' ae_strongly_measurable'.congr _ h_coe.symm
exact (Lp_meas.ae_strongly_measurable' (condexp_L2 𝕜 hm f)).continuous_comp T.continuous
#align measure_theory.condexp_L2_comp_continuous_linear_map MeasureTheory.condexpL2_comp_continuousLinearMap
@@ -365,7 +365,7 @@ theorem condexpL2_indicator_ae_eq_smul (hm : m ≤ m0) (hs : MeasurableSet s) (h
have h_comp :=
condexp_L2_comp_continuous_linear_map ℝ 𝕜 hm (to_span_singleton ℝ x)
(indicator_const_Lp 2 hs hμs (1 : ℝ))
- rw [← Lp_meas_coe] at h_comp
+ rw [← Lp_meas_coe] at h_comp
refine' h_comp.trans _
exact (to_span_singleton ℝ x).coeFn_compLp _
#align measure_theory.condexp_L2_indicator_ae_eq_smul MeasureTheory.condexpL2_indicator_ae_eq_smul
@@ -383,7 +383,7 @@ theorem condexpL2_indicator_eq_toSpanSingleton_comp (hm : m ≤ m0) (hs : Measur
have h_comp :=
(to_span_singleton ℝ x).coeFn_compLp
(condexp_L2 ℝ hm (indicator_const_Lp 2 hs hμs (1 : ℝ)) : α →₂[μ] ℝ)
- rw [← eventually_eq] at h_comp
+ rw [← eventually_eq] at h_comp
refine' eventually_eq.trans _ h_comp.symm
refine' eventually_of_forall fun y => _
rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -253,6 +253,8 @@ theorem lintegral_nnnorm_condexpL2_indicator_le_real (hs : MeasurableSet s) (hμ
refine' (@indicator_const_Lp_coe_fn _ _ _ 2 _ _ _ hs hμs (1 : ℝ)).mono fun x hx => _
rw [hx]
classical
+ simp_rw [Set.indicator_apply]
+ split_ifs <;> simp
rw [h_eq, lintegral_indicator _ hs, lintegral_const, measure.restrict_restrict hs]
simp only [one_mul, Set.univ_inter, MeasurableSet.univ, measure.restrict_apply]
#align measure_theory.lintegral_nnnorm_condexp_L2_indicator_le_real MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le_real
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -253,8 +253,6 @@ theorem lintegral_nnnorm_condexpL2_indicator_le_real (hs : MeasurableSet s) (hμ
refine' (@indicator_const_Lp_coe_fn _ _ _ 2 _ _ _ hs hμs (1 : ℝ)).mono fun x hx => _
rw [hx]
classical
- simp_rw [Set.indicator_apply]
- split_ifs <;> simp
rw [h_eq, lintegral_indicator _ hs, lintegral_const, measure.restrict_restrict hs]
simp only [one_mul, Set.univ_inter, MeasurableSet.univ, measure.restrict_apply]
#align measure_theory.lintegral_nnnorm_condexp_L2_indicator_le_real MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le_real
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ 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.Analysis.InnerProductSpace.Projection
-import Mathbin.MeasureTheory.Function.ConditionalExpectation.Unique
+import Analysis.InnerProductSpace.Projection
+import MeasureTheory.Function.ConditionalExpectation.Unique
#align_import measure_theory.function.conditional_expectation.condexp_L2 from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
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_L2
-! 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.Analysis.InnerProductSpace.Projection
import Mathbin.MeasureTheory.Function.ConditionalExpectation.Unique
+#align_import measure_theory.function.conditional_expectation.condexp_L2 from "leanprover-community/mathlib"@"e160cefedc932ce41c7049bf0c4b0f061d06216e"
+
/-! # Conditional expectation in L2
> 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_L2
-! 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.
-/
@@ -13,6 +13,9 @@ import Mathbin.MeasureTheory.Function.ConditionalExpectation.Unique
/-! # Conditional expectation in L2
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file contains one step 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
@@ -67,40 +67,53 @@ local notation "⟪" x ", " y "⟫₂" => @inner 𝕜 (α →₂[μ] E) _ x y
variable (𝕜)
+#print MeasureTheory.condexpL2 /-
/-- Conditional expectation of a function in L2 with respect to a sigma-algebra -/
noncomputable def condexpL2 (hm : m ≤ m0) : (α →₂[μ] E) →L[𝕜] lpMeas E 𝕜 m 2 μ :=
@orthogonalProjection 𝕜 (α →₂[μ] E) _ _ _ (lpMeas E 𝕜 m 2 μ)
haveI : Fact (m ≤ m0) := ⟨hm⟩
inferInstance
#align measure_theory.condexp_L2 MeasureTheory.condexpL2
+-/
variable {𝕜}
-theorem aEStronglyMeasurable'_condexpL2 (hm : m ≤ m0) (f : α →₂[μ] E) :
+#print MeasureTheory.aeStronglyMeasurable'_condexpL2 /-
+theorem aeStronglyMeasurable'_condexpL2 (hm : m ≤ m0) (f : α →₂[μ] E) :
AEStronglyMeasurable' m (condexpL2 𝕜 hm f) μ :=
lpMeas.aeStronglyMeasurable' _
-#align measure_theory.ae_strongly_measurable'_condexp_L2 MeasureTheory.aEStronglyMeasurable'_condexpL2
+#align measure_theory.ae_strongly_measurable'_condexp_L2 MeasureTheory.aeStronglyMeasurable'_condexpL2
+-/
+#print MeasureTheory.integrableOn_condexpL2_of_measure_ne_top /-
theorem integrableOn_condexpL2_of_measure_ne_top (hm : m ≤ m0) (hμs : μ s ≠ ∞) (f : α →₂[μ] E) :
IntegrableOn (condexpL2 𝕜 hm f) s μ :=
integrableOn_Lp_of_measure_ne_top (condexpL2 𝕜 hm f : α →₂[μ] E) fact_one_le_two_ennreal.elim hμs
#align measure_theory.integrable_on_condexp_L2_of_measure_ne_top MeasureTheory.integrableOn_condexpL2_of_measure_ne_top
+-/
+#print MeasureTheory.integrable_condexpL2_of_isFiniteMeasure /-
theorem integrable_condexpL2_of_isFiniteMeasure (hm : m ≤ m0) [IsFiniteMeasure μ] {f : α →₂[μ] E} :
Integrable (condexpL2 𝕜 hm f) μ :=
integrableOn_univ.mp <| integrableOn_condexpL2_of_measure_ne_top hm (measure_ne_top _ _) f
#align measure_theory.integrable_condexp_L2_of_is_finite_measure MeasureTheory.integrable_condexpL2_of_isFiniteMeasure
+-/
+#print MeasureTheory.norm_condexpL2_le_one /-
theorem norm_condexpL2_le_one (hm : m ≤ m0) : ‖@condexpL2 α E 𝕜 _ _ _ _ _ _ μ hm‖ ≤ 1 :=
haveI : Fact (m ≤ m0) := ⟨hm⟩
orthogonalProjection_norm_le _
#align measure_theory.norm_condexp_L2_le_one MeasureTheory.norm_condexpL2_le_one
+-/
+#print MeasureTheory.norm_condexpL2_le /-
theorem norm_condexpL2_le (hm : m ≤ m0) (f : α →₂[μ] E) : ‖condexpL2 𝕜 hm f‖ ≤ ‖f‖ :=
((@condexpL2 _ E 𝕜 _ _ _ _ _ _ μ hm).le_opNorm f).trans
(mul_le_of_le_one_left (norm_nonneg _) (norm_condexpL2_le_one hm))
#align measure_theory.norm_condexp_L2_le MeasureTheory.norm_condexpL2_le
+-/
+#print MeasureTheory.snorm_condexpL2_le /-
theorem snorm_condexpL2_le (hm : m ≤ m0) (f : α →₂[μ] E) :
snorm (condexpL2 𝕜 hm f) 2 μ ≤ snorm f 2 μ :=
by
@@ -108,7 +121,9 @@ theorem snorm_condexpL2_le (hm : m ≤ m0) (f : α →₂[μ] E) :
Lp.norm_def, ← Lp.norm_def, Submodule.norm_coe]
exact norm_condexp_L2_le hm f
#align measure_theory.snorm_condexp_L2_le MeasureTheory.snorm_condexpL2_le
+-/
+#print MeasureTheory.norm_condexpL2_coe_le /-
theorem norm_condexpL2_coe_le (hm : m ≤ m0) (f : α →₂[μ] E) :
‖(condexpL2 𝕜 hm f : α →₂[μ] E)‖ ≤ ‖f‖ :=
by
@@ -116,13 +131,17 @@ theorem norm_condexpL2_coe_le (hm : m ≤ m0) (f : α →₂[μ] E) :
refine' (ENNReal.toReal_le_toReal _ (Lp.snorm_ne_top _)).mpr (snorm_condexp_L2_le hm f)
exact Lp.snorm_ne_top _
#align measure_theory.norm_condexp_L2_coe_le MeasureTheory.norm_condexpL2_coe_le
+-/
+#print MeasureTheory.inner_condexpL2_left_eq_right /-
theorem inner_condexpL2_left_eq_right (hm : m ≤ m0) {f g : α →₂[μ] E} :
⟪(condexpL2 𝕜 hm f : α →₂[μ] E), g⟫₂ = ⟪f, (condexpL2 𝕜 hm g : α →₂[μ] E)⟫₂ :=
haveI : Fact (m ≤ m0) := ⟨hm⟩
inner_orthogonalProjection_left_eq_right _ f g
#align measure_theory.inner_condexp_L2_left_eq_right MeasureTheory.inner_condexpL2_left_eq_right
+-/
+#print MeasureTheory.condexpL2_indicator_of_measurable /-
theorem condexpL2_indicator_of_measurable (hm : m ≤ m0) (hs : measurable_set[m] s) (hμs : μ s ≠ ∞)
(c : E) :
(condexpL2 𝕜 hm (indicatorConstLp 2 (hm s hs) hμs c) : α →₂[μ] E) =
@@ -137,7 +156,9 @@ theorem condexpL2_indicator_of_measurable (hm : m ≤ m0) (hs : measurable_set[m
have h_orth_mem := orthogonalProjection_mem_subspace_eq_self ind
rw [← h_coe_ind, h_orth_mem]
#align measure_theory.condexp_L2_indicator_of_measurable MeasureTheory.condexpL2_indicator_of_measurable
+-/
+#print MeasureTheory.inner_condexpL2_eq_inner_fun /-
theorem inner_condexpL2_eq_inner_fun (hm : m ≤ m0) (f g : α →₂[μ] E)
(hg : AEStronglyMeasurable' m g μ) : ⟪(condexpL2 𝕜 hm f : α →₂[μ] E), g⟫₂ = ⟪f, g⟫₂ :=
by
@@ -145,11 +166,13 @@ theorem inner_condexpL2_eq_inner_fun (hm : m ≤ m0) (f g : α →₂[μ] E)
rw [← sub_eq_zero, ← inner_sub_left, condexp_L2]
simp only [mem_Lp_meas_iff_ae_strongly_measurable'.mpr hg, orthogonalProjection_inner_eq_zero]
#align measure_theory.inner_condexp_L2_eq_inner_fun MeasureTheory.inner_condexpL2_eq_inner_fun
+-/
section Real
variable {hm : m ≤ m0}
+#print MeasureTheory.integral_condexpL2_eq_of_fin_meas_real /-
theorem integral_condexpL2_eq_of_fin_meas_real (f : Lp 𝕜 2 μ) (hs : measurable_set[m] s)
(hμs : μ s ≠ ∞) : ∫ x in s, condexpL2 𝕜 hm f x ∂μ = ∫ x in s, f x ∂μ :=
by
@@ -162,7 +185,9 @@ theorem integral_condexpL2_eq_of_fin_meas_real (f : Lp 𝕜 2 μ) (hs : measurab
congr
rw [h_eq_inner, ← inner_condexp_L2_left_eq_right, condexp_L2_indicator_of_measurable hm hs hμs]
#align measure_theory.integral_condexp_L2_eq_of_fin_meas_real MeasureTheory.integral_condexpL2_eq_of_fin_meas_real
+-/
+#print MeasureTheory.lintegral_nnnorm_condexpL2_le /-
theorem lintegral_nnnorm_condexpL2_le (hs : measurable_set[m] s) (hμs : μ s ≠ ∞) (f : Lp ℝ 2 μ) :
∫⁻ x in s, ‖condexpL2 ℝ hm f x‖₊ ∂μ ≤ ∫⁻ x in s, ‖f x‖₊ ∂μ :=
by
@@ -188,7 +213,9 @@ theorem lintegral_nnnorm_condexpL2_le (hs : measurable_set[m] s) (hμs : μ s
rw [← integral_condexp_L2_eq_of_fin_meas_real f ht hμt.ne]
exact set_integral_congr_ae (hm t ht) (hg_eq.mono fun x hx _ => hx)
#align measure_theory.lintegral_nnnorm_condexp_L2_le MeasureTheory.lintegral_nnnorm_condexpL2_le
+-/
+#print MeasureTheory.condexpL2_ae_eq_zero_of_ae_eq_zero /-
theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : measurable_set[m] s) (hμs : μ s ≠ ∞) {f : Lp ℝ 2 μ}
(hf : f =ᵐ[μ.restrict s] 0) : condexpL2 ℝ hm f =ᵐ[μ.restrict s] 0 :=
by
@@ -210,7 +237,9 @@ theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : measurable_set[m] s) (hμs : μ
simp
· exact (Lp.strongly_measurable _).ennnorm
#align measure_theory.condexp_L2_ae_eq_zero_of_ae_eq_zero MeasureTheory.condexpL2_ae_eq_zero_of_ae_eq_zero
+-/
+#print MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le_real /-
theorem lintegral_nnnorm_condexpL2_indicator_le_real (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(ht : measurable_set[m] t) (hμt : μ t ≠ ∞) :
∫⁻ a in t, ‖condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)) a‖₊ ∂μ ≤ μ (s ∩ t) :=
@@ -229,9 +258,11 @@ theorem lintegral_nnnorm_condexpL2_indicator_le_real (hs : MeasurableSet s) (hμ
rw [h_eq, lintegral_indicator _ hs, lintegral_const, measure.restrict_restrict hs]
simp only [one_mul, Set.univ_inter, MeasurableSet.univ, measure.restrict_apply]
#align measure_theory.lintegral_nnnorm_condexp_L2_indicator_le_real MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le_real
+-/
end Real
+#print MeasureTheory.condexpL2_const_inner /-
/-- `condexp_L2` commutes with taking inner products with constants. See the lemma
`condexp_L2_comp_continuous_linear_map` for a more general result about commuting with continuous
linear maps. -/
@@ -262,7 +293,9 @@ theorem condexpL2_const_inner (hm : m ≤ m0) (f : Lp E 2 μ) (c : E) :
· refine' ae_strongly_measurable'.congr _ h_eq.symm
exact (Lp_meas.ae_strongly_measurable' _).const_inner _
#align measure_theory.condexp_L2_const_inner MeasureTheory.condexpL2_const_inner
+-/
+#print MeasureTheory.integral_condexpL2_eq /-
/-- `condexp_L2` verifies the equality of integrals defining the conditional expectation. -/
theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : measurable_set[m] s)
(hμs : μ s ≠ ∞) : ∫ x in s, condexpL2 𝕜 hm f x ∂μ = ∫ x in s, f x ∂μ :=
@@ -284,12 +317,14 @@ theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : measurable_
set_integral_congr_ae (hm s hs) (h_ae_eq_f.mono fun x hx _ => hx)]
exact integral_condexp_L2_eq_of_fin_meas_real _ hs hμs
#align measure_theory.integral_condexp_L2_eq MeasureTheory.integral_condexpL2_eq
+-/
variable {E'' 𝕜' : Type _} [IsROrC 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
[CompleteSpace E''] [NormedSpace ℝ E'']
variable (𝕜 𝕜')
+#print MeasureTheory.condexpL2_comp_continuousLinearMap /-
theorem condexpL2_comp_continuousLinearMap (hm : m ≤ m0) (T : E' →L[ℝ] E'') (f : α →₂[μ] E') :
(condexpL2 𝕜' hm (T.compLp f) : α →₂[μ] E'') =ᵐ[μ] T.compLp (condexpL2 𝕜 hm f : α →₂[μ] E') :=
by
@@ -312,6 +347,7 @@ theorem condexpL2_comp_continuousLinearMap (hm : m ≤ m0) (T : E' →L[ℝ] E''
refine' ae_strongly_measurable'.congr _ h_coe.symm
exact (Lp_meas.ae_strongly_measurable' (condexp_L2 𝕜 hm f)).continuous_comp T.continuous
#align measure_theory.condexp_L2_comp_continuous_linear_map MeasureTheory.condexpL2_comp_continuousLinearMap
+-/
variable {𝕜 𝕜'}
@@ -319,6 +355,7 @@ section CondexpL2Indicator
variable (𝕜)
+#print MeasureTheory.condexpL2_indicator_ae_eq_smul /-
theorem condexpL2_indicator_ae_eq_smul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : E') :
condexpL2 𝕜 hm (indicatorConstLp 2 hs hμs x) =ᵐ[μ] fun a =>
@@ -332,7 +369,9 @@ theorem condexpL2_indicator_ae_eq_smul (hm : m ≤ m0) (hs : MeasurableSet s) (h
refine' h_comp.trans _
exact (to_span_singleton ℝ x).coeFn_compLp _
#align measure_theory.condexp_L2_indicator_ae_eq_smul MeasureTheory.condexpL2_indicator_ae_eq_smul
+-/
+#print MeasureTheory.condexpL2_indicator_eq_toSpanSingleton_comp /-
theorem condexpL2_indicator_eq_toSpanSingleton_comp (hm : m ≤ m0) (hs : MeasurableSet s)
(hμs : μ s ≠ ∞) (x : E') :
(condexpL2 𝕜 hm (indicatorConstLp 2 hs hμs x) : α →₂[μ] E') =
@@ -349,9 +388,11 @@ theorem condexpL2_indicator_eq_toSpanSingleton_comp (hm : m ≤ m0) (hs : Measur
refine' eventually_of_forall fun y => _
rfl
#align measure_theory.condexp_L2_indicator_eq_to_span_singleton_comp MeasureTheory.condexpL2_indicator_eq_toSpanSingleton_comp
+-/
variable {𝕜}
+#print MeasureTheory.set_lintegral_nnnorm_condexpL2_indicator_le /-
theorem set_lintegral_nnnorm_condexpL2_indicator_le (hm : m ≤ m0) (hs : MeasurableSet s)
(hμs : μ s ≠ ∞) (x : E') {t : Set α} (ht : measurable_set[m] t) (hμt : μ t ≠ ∞) :
∫⁻ a in t, ‖condexpL2 𝕜 hm (indicatorConstLp 2 hs hμs x) a‖₊ ∂μ ≤ μ (s ∩ t) * ‖x‖₊ :=
@@ -368,7 +409,9 @@ theorem set_lintegral_nnnorm_condexpL2_indicator_le (hm : m ≤ m0) (hs : Measur
_ ≤ μ (s ∩ t) * ‖x‖₊ :=
mul_le_mul_right' (lintegral_nnnorm_condexpL2_indicator_le_real hs hμs ht hμt) _
#align measure_theory.set_lintegral_nnnorm_condexp_L2_indicator_le MeasureTheory.set_lintegral_nnnorm_condexpL2_indicator_le
+-/
+#print MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le /-
theorem lintegral_nnnorm_condexpL2_indicator_le (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : E') [SigmaFinite (μ.trim hm)] :
∫⁻ a, ‖condexpL2 𝕜 hm (indicatorConstLp 2 hs hμs x) a‖₊ ∂μ ≤ μ s * ‖x‖₊ :=
@@ -379,7 +422,9 @@ theorem lintegral_nnnorm_condexpL2_indicator_le (hm : m ≤ m0) (hs : Measurable
refine' (set_lintegral_nnnorm_condexp_L2_indicator_le hm hs hμs x ht hμt).trans _
exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
#align measure_theory.lintegral_nnnorm_condexp_L2_indicator_le MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le
+-/
+#print MeasureTheory.integrable_condexpL2_indicator /-
/-- If the measure `μ.trim hm` is sigma-finite, then the conditional expectation of a measurable set
with finite measure is integrable. -/
theorem integrable_condexpL2_indicator (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
@@ -394,6 +439,7 @@ theorem integrable_condexpL2_indicator (hm : m ≤ m0) [SigmaFinite (μ.trim hm)
(set_lintegral_nnnorm_condexp_L2_indicator_le hm hs hμs x ht hμt).trans _
exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
#align measure_theory.integrable_condexp_L2_indicator MeasureTheory.integrable_condexpL2_indicator
+-/
end CondexpL2Indicator
@@ -401,14 +447,17 @@ section CondexpIndSmul
variable [NormedSpace ℝ G] {hm : m ≤ m0}
+#print MeasureTheory.condexpIndSMul /-
/-- Conditional expectation of the indicator of a measurable set with finite measure, in L2. -/
-noncomputable def condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
+noncomputable def condexpIndSMul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
Lp G 2 μ :=
(toSpanSingleton ℝ x).compLpL 2 μ (condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)))
-#align measure_theory.condexp_ind_smul MeasureTheory.condexpIndSmul
+#align measure_theory.condexp_ind_smul MeasureTheory.condexpIndSMul
+-/
-theorem aEStronglyMeasurable'_condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
- (x : G) : AEStronglyMeasurable' m (condexpIndSmul hm hs hμs x) μ :=
+#print MeasureTheory.aeStronglyMeasurable'_condexpIndSMul /-
+theorem aeStronglyMeasurable'_condexpIndSMul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
+ (x : G) : AEStronglyMeasurable' m (condexpIndSMul hm hs hμs x) μ :=
by
have h : ae_strongly_measurable' m (condexp_L2 ℝ hm (indicator_const_Lp 2 hs hμs (1 : ℝ))) μ :=
ae_strongly_measurable'_condexp_L2 _ _
@@ -421,39 +470,49 @@ theorem aEStronglyMeasurable'_condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet
refine' eventually_eq.trans _ (coe_fn_comp_LpL _ _).symm
rw [Lp_meas_coe]
exact ae_strongly_measurable'.continuous_comp (to_span_singleton ℝ x).Continuous h
-#align measure_theory.ae_strongly_measurable'_condexp_ind_smul MeasureTheory.aEStronglyMeasurable'_condexpIndSmul
+#align measure_theory.ae_strongly_measurable'_condexp_ind_smul MeasureTheory.aeStronglyMeasurable'_condexpIndSMul
+-/
-theorem condexpIndSmul_add (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x y : G) :
- condexpIndSmul hm hs hμs (x + y) = condexpIndSmul hm hs hμs x + condexpIndSmul hm hs hμs y := by
+#print MeasureTheory.condexpIndSMul_add /-
+theorem condexpIndSMul_add (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x y : G) :
+ condexpIndSMul hm hs hμs (x + y) = condexpIndSMul hm hs hμs x + condexpIndSMul hm hs hμs y := by
simp_rw [condexp_ind_smul]; rw [to_span_singleton_add, add_comp_LpL, add_apply]
-#align measure_theory.condexp_ind_smul_add MeasureTheory.condexpIndSmul_add
+#align measure_theory.condexp_ind_smul_add MeasureTheory.condexpIndSMul_add
+-/
-theorem condexpIndSmul_smul (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (c : ℝ) (x : G) :
- condexpIndSmul hm hs hμs (c • x) = c • condexpIndSmul hm hs hμs x := by
+#print MeasureTheory.condexpIndSMul_smul /-
+theorem condexpIndSMul_smul (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (c : ℝ) (x : G) :
+ condexpIndSMul hm hs hμs (c • x) = c • condexpIndSMul hm hs hμs x := by
simp_rw [condexp_ind_smul]; rw [to_span_singleton_smul, smul_comp_LpL, smul_apply]
-#align measure_theory.condexp_ind_smul_smul MeasureTheory.condexpIndSmul_smul
+#align measure_theory.condexp_ind_smul_smul MeasureTheory.condexpIndSMul_smul
+-/
-theorem condexpIndSmul_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs : MeasurableSet s)
+#print MeasureTheory.condexpIndSMul_smul' /-
+theorem condexpIndSMul_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (hs : MeasurableSet s)
(hμs : μ s ≠ ∞) (c : 𝕜) (x : F) :
- condexpIndSmul hm hs hμs (c • x) = c • condexpIndSmul hm hs hμs x := by
+ condexpIndSMul hm hs hμs (c • x) = c • condexpIndSMul hm hs hμs x := by
rw [condexp_ind_smul, condexp_ind_smul, to_span_singleton_smul',
(to_span_singleton ℝ x).smul_compLpL c, smul_apply]
-#align measure_theory.condexp_ind_smul_smul' MeasureTheory.condexpIndSmul_smul'
+#align measure_theory.condexp_ind_smul_smul' MeasureTheory.condexpIndSMul_smul'
+-/
-theorem condexpIndSmul_ae_eq_smul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
- condexpIndSmul hm hs hμs x =ᵐ[μ] fun a =>
+#print MeasureTheory.condexpIndSMul_ae_eq_smul /-
+theorem condexpIndSMul_ae_eq_smul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
+ condexpIndSMul hm hs hμs x =ᵐ[μ] fun a =>
condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)) a • x :=
(toSpanSingleton ℝ x).coeFn_compLpL _
-#align measure_theory.condexp_ind_smul_ae_eq_smul MeasureTheory.condexpIndSmul_ae_eq_smul
+#align measure_theory.condexp_ind_smul_ae_eq_smul MeasureTheory.condexpIndSMul_ae_eq_smul
+-/
-theorem set_lintegral_nnnorm_condexpIndSmul_le (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
+#print MeasureTheory.set_lintegral_nnnorm_condexpIndSMul_le /-
+theorem set_lintegral_nnnorm_condexpIndSMul_le (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
(x : G) {t : Set α} (ht : measurable_set[m] t) (hμt : μ t ≠ ∞) :
- ∫⁻ a in t, ‖condexpIndSmul hm hs hμs x a‖₊ ∂μ ≤ μ (s ∩ t) * ‖x‖₊ :=
+ ∫⁻ a in t, ‖condexpIndSMul hm hs hμs x a‖₊ ∂μ ≤ μ (s ∩ t) * ‖x‖₊ :=
calc
- ∫⁻ a in t, ‖condexpIndSmul hm hs hμs x a‖₊ ∂μ =
+ ∫⁻ a in t, ‖condexpIndSMul hm hs hμs x a‖₊ ∂μ =
∫⁻ a in t, ‖condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)) a • x‖₊ ∂μ :=
set_lintegral_congr_fun (hm t ht)
- ((condexpIndSmul_ae_eq_smul hm hs hμs x).mono fun a ha hat => by rw [ha])
+ ((condexpIndSMul_ae_eq_smul hm hs hμs x).mono fun a ha hat => by rw [ha])
_ = (∫⁻ a in t, ‖condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)) a‖₊ ∂μ) * ‖x‖₊ :=
by
simp_rw [nnnorm_smul, ENNReal.coe_mul]
@@ -461,21 +520,25 @@ theorem set_lintegral_nnnorm_condexpIndSmul_le (hm : m ≤ m0) (hs : MeasurableS
exact (Lp.strongly_measurable _).ennnorm
_ ≤ μ (s ∩ t) * ‖x‖₊ :=
mul_le_mul_right' (lintegral_nnnorm_condexpL2_indicator_le_real hs hμs ht hμt) _
-#align measure_theory.set_lintegral_nnnorm_condexp_ind_smul_le MeasureTheory.set_lintegral_nnnorm_condexpIndSmul_le
+#align measure_theory.set_lintegral_nnnorm_condexp_ind_smul_le MeasureTheory.set_lintegral_nnnorm_condexpIndSMul_le
+-/
-theorem lintegral_nnnorm_condexpIndSmul_le (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
- (x : G) [SigmaFinite (μ.trim hm)] : ∫⁻ a, ‖condexpIndSmul hm hs hμs x a‖₊ ∂μ ≤ μ s * ‖x‖₊ :=
+#print MeasureTheory.lintegral_nnnorm_condexpIndSMul_le /-
+theorem lintegral_nnnorm_condexpIndSMul_le (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
+ (x : G) [SigmaFinite (μ.trim hm)] : ∫⁻ a, ‖condexpIndSMul hm hs hμs x a‖₊ ∂μ ≤ μ s * ‖x‖₊ :=
by
refine' lintegral_le_of_forall_fin_meas_le' hm (μ s * ‖x‖₊) _ fun t ht hμt => _
· exact (Lp.ae_strongly_measurable _).ennnorm
refine' (set_lintegral_nnnorm_condexp_ind_smul_le hm hs hμs x ht hμt).trans _
exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
-#align measure_theory.lintegral_nnnorm_condexp_ind_smul_le MeasureTheory.lintegral_nnnorm_condexpIndSmul_le
+#align measure_theory.lintegral_nnnorm_condexp_ind_smul_le MeasureTheory.lintegral_nnnorm_condexpIndSMul_le
+-/
+#print MeasureTheory.integrable_condexpIndSMul /-
/-- If the measure `μ.trim hm` is sigma-finite, then the conditional expectation of a measurable set
with finite measure is integrable. -/
-theorem integrable_condexpIndSmul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs : MeasurableSet s)
- (hμs : μ s ≠ ∞) (x : G) : Integrable (condexpIndSmul hm hs hμs x) μ :=
+theorem integrable_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs : MeasurableSet s)
+ (hμs : μ s ≠ ∞) (x : G) : Integrable (condexpIndSMul hm hs hμs x) μ :=
by
refine'
integrable_of_forall_fin_meas_le' hm (μ s * ‖x‖₊) (ENNReal.mul_lt_top hμs ENNReal.coe_ne_top) _
@@ -483,17 +546,21 @@ theorem integrable_condexpIndSmul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs
· exact Lp.ae_strongly_measurable _
· refine' fun t ht hμt => (set_lintegral_nnnorm_condexp_ind_smul_le hm hs hμs x ht hμt).trans _
exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
-#align measure_theory.integrable_condexp_ind_smul MeasureTheory.integrable_condexpIndSmul
+#align measure_theory.integrable_condexp_ind_smul MeasureTheory.integrable_condexpIndSMul
+-/
-theorem condexpIndSmul_empty {x : G} :
- condexpIndSmul hm MeasurableSet.empty ((@measure_empty _ _ μ).le.trans_lt ENNReal.coe_lt_top).Ne
+#print MeasureTheory.condexpIndSMul_empty /-
+theorem condexpIndSMul_empty {x : G} :
+ condexpIndSMul hm MeasurableSet.empty ((@measure_empty _ _ μ).le.trans_lt ENNReal.coe_lt_top).Ne
x =
0 :=
by
rw [condexp_ind_smul, indicator_const_empty]
simp only [coeFn_coeBase, Submodule.coe_zero, ContinuousLinearMap.map_zero]
-#align measure_theory.condexp_ind_smul_empty MeasureTheory.condexpIndSmul_empty
+#align measure_theory.condexp_ind_smul_empty MeasureTheory.condexpIndSMul_empty
+-/
+#print MeasureTheory.set_integral_condexpL2_indicator /-
theorem set_integral_condexpL2_indicator (hs : measurable_set[m] s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) :
∫ x in s, (condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ))) x ∂μ = (μ (t ∩ s)).toReal :=
@@ -504,20 +571,24 @@ theorem set_integral_condexpL2_indicator (hs : measurable_set[m] s) (ht : Measur
_ = (μ (t ∩ s)).toReal • 1 := (set_integral_indicatorConstLp (hm s hs) ht hμt (1 : ℝ))
_ = (μ (t ∩ s)).toReal := by rw [smul_eq_mul, mul_one]
#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.set_integral_condexpL2_indicator
+-/
-theorem set_integral_condexpIndSmul (hs : measurable_set[m] s) (ht : MeasurableSet t)
+#print MeasureTheory.set_integral_condexpIndSMul /-
+theorem set_integral_condexpIndSMul (hs : measurable_set[m] s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) (x : G') :
- ∫ a in s, (condexpIndSmul hm ht hμt x) a ∂μ = (μ (t ∩ s)).toReal • x :=
+ ∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
- ∫ a in s, (condexpIndSmul hm ht hμt x) a ∂μ =
+ ∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ =
∫ a in s, condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) a • x ∂μ :=
set_integral_congr_ae (hm s hs)
- ((condexpIndSmul_ae_eq_smul hm ht hμt x).mono fun x hx hxs => hx)
+ ((condexpIndSMul_ae_eq_smul hm ht hμt x).mono fun x hx hxs => hx)
_ = (∫ a in s, condexpL2 ℝ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) a ∂μ) • x :=
(integral_smul_const _ x)
_ = (μ (t ∩ s)).toReal • x := by rw [set_integral_condexp_L2_indicator hs ht hμs hμt]
-#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.set_integral_condexpIndSmul
+#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.set_integral_condexpIndSMul
+-/
+#print MeasureTheory.condexpL2_indicator_nonneg /-
theorem condexpL2_indicator_nonneg (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
[SigmaFinite (μ.trim hm)] : 0 ≤ᵐ[μ] condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)) :=
by
@@ -543,15 +614,18 @@ theorem condexpL2_indicator_nonneg (hm : m ≤ m0) (hs : MeasurableSet s) (hμs
set_integral_condexp_L2_indicator ht hs ((le_trim hm).trans_lt hμt).Ne hμs]
exact ENNReal.toReal_nonneg
#align measure_theory.condexp_L2_indicator_nonneg MeasureTheory.condexpL2_indicator_nonneg
+-/
-theorem condexpIndSmul_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
+#print MeasureTheory.condexpIndSMul_nonneg /-
+theorem condexpIndSMul_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
[SigmaFinite (μ.trim hm)] (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) :
- 0 ≤ᵐ[μ] condexpIndSmul hm hs hμs x :=
+ 0 ≤ᵐ[μ] condexpIndSMul hm hs hμs x :=
by
refine' eventually_le.trans_eq _ (condexp_ind_smul_ae_eq_smul hm hs hμs x).symm
filter_upwards [condexp_L2_indicator_nonneg hm hs hμs] with a ha
exact smul_nonneg ha hx
-#align measure_theory.condexp_ind_smul_nonneg MeasureTheory.condexpIndSmul_nonneg
+#align measure_theory.condexp_ind_smul_nonneg MeasureTheory.condexpIndSMul_nonneg
+-/
end CondexpIndSmul
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -61,10 +61,8 @@ variable {α E E' F G G' 𝕜 : Type _} {p : ℝ≥0∞} [IsROrC 𝕜]
variable {m m0 : MeasurableSpace α} {μ : Measure α} {s t : Set α}
--- mathport name: «expr⟪ , ⟫»
local notation "⟪" x ", " y "⟫" => @inner 𝕜 E _ x y
--- mathport name: «expr⟪ , ⟫₂»
local notation "⟪" x ", " y "⟫₂" => @inner 𝕜 (α →₂[μ] E) _ x y
variable (𝕜)
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -78,10 +78,10 @@ noncomputable def condexpL2 (hm : m ≤ m0) : (α →₂[μ] E) →L[𝕜] lpMea
variable {𝕜}
-theorem aeStronglyMeasurable'_condexpL2 (hm : m ≤ m0) (f : α →₂[μ] E) :
- AeStronglyMeasurable' m (condexpL2 𝕜 hm f) μ :=
+theorem aEStronglyMeasurable'_condexpL2 (hm : m ≤ m0) (f : α →₂[μ] E) :
+ AEStronglyMeasurable' m (condexpL2 𝕜 hm f) μ :=
lpMeas.aeStronglyMeasurable' _
-#align measure_theory.ae_strongly_measurable'_condexp_L2 MeasureTheory.aeStronglyMeasurable'_condexpL2
+#align measure_theory.ae_strongly_measurable'_condexp_L2 MeasureTheory.aEStronglyMeasurable'_condexpL2
theorem integrableOn_condexpL2_of_measure_ne_top (hm : m ≤ m0) (hμs : μ s ≠ ∞) (f : α →₂[μ] E) :
IntegrableOn (condexpL2 𝕜 hm f) s μ :=
@@ -141,7 +141,7 @@ theorem condexpL2_indicator_of_measurable (hm : m ≤ m0) (hs : measurable_set[m
#align measure_theory.condexp_L2_indicator_of_measurable MeasureTheory.condexpL2_indicator_of_measurable
theorem inner_condexpL2_eq_inner_fun (hm : m ≤ m0) (f g : α →₂[μ] E)
- (hg : AeStronglyMeasurable' m g μ) : ⟪(condexpL2 𝕜 hm f : α →₂[μ] E), g⟫₂ = ⟪f, g⟫₂ :=
+ (hg : AEStronglyMeasurable' m g μ) : ⟪(condexpL2 𝕜 hm f : α →₂[μ] E), g⟫₂ = ⟪f, g⟫₂ :=
by
symm
rw [← sub_eq_zero, ← inner_sub_left, condexp_L2]
@@ -409,8 +409,8 @@ noncomputable def condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs :
(toSpanSingleton ℝ x).compLpL 2 μ (condexpL2 ℝ hm (indicatorConstLp 2 hs hμs (1 : ℝ)))
#align measure_theory.condexp_ind_smul MeasureTheory.condexpIndSmul
-theorem aeStronglyMeasurable'_condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
- (x : G) : AeStronglyMeasurable' m (condexpIndSmul hm hs hμs x) μ :=
+theorem aEStronglyMeasurable'_condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
+ (x : G) : AEStronglyMeasurable' m (condexpIndSmul hm hs hμs x) μ :=
by
have h : ae_strongly_measurable' m (condexp_L2 ℝ hm (indicator_const_Lp 2 hs hμs (1 : ℝ))) μ :=
ae_strongly_measurable'_condexp_L2 _ _
@@ -423,7 +423,7 @@ theorem aeStronglyMeasurable'_condexpIndSmul (hm : m ≤ m0) (hs : MeasurableSet
refine' eventually_eq.trans _ (coe_fn_comp_LpL _ _).symm
rw [Lp_meas_coe]
exact ae_strongly_measurable'.continuous_comp (to_span_singleton ℝ x).Continuous h
-#align measure_theory.ae_strongly_measurable'_condexp_ind_smul MeasureTheory.aeStronglyMeasurable'_condexpIndSmul
+#align measure_theory.ae_strongly_measurable'_condexp_ind_smul MeasureTheory.aEStronglyMeasurable'_condexpIndSmul
theorem condexpIndSmul_add (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x y : G) :
condexpIndSmul hm hs hμs (x + y) = condexpIndSmul hm hs hμs x + condexpIndSmul hm hs hμs y := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -186,10 +186,10 @@ theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : MeasurableSet[m] s) (hμs : μ
(hf : f =ᵐ[μ.restrict s] 0) : condexpL2 ℝ ℝ hm f =ᵐ[μ.restrict s] (0 : α → ℝ) := by
suffices h_nnnorm_eq_zero : ∫⁻ x in s, ‖(condexpL2 ℝ ℝ hm f : α → ℝ) x‖₊ ∂μ = 0 by
rw [lintegral_eq_zero_iff] at h_nnnorm_eq_zero
- refine' h_nnnorm_eq_zero.mono fun x hx => _
- dsimp only at hx
- rw [Pi.zero_apply] at hx ⊢
- · rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero] at hx
+ · refine' h_nnnorm_eq_zero.mono fun x hx => _
+ dsimp only at hx
+ rw [Pi.zero_apply] at hx ⊢
+ · rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero] at hx
· refine' Measurable.coe_nnreal_ennreal (Measurable.nnnorm _)
rw [lpMeas_coe]
exact (Lp.stronglyMeasurable _).measurable
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
.
@@ -179,7 +179,7 @@ theorem lintegral_nnnorm_condexpL2_le (hs : MeasurableSet[m] s) (hμs : μ s ≠
exact integrableOn_condexpL2_of_measure_ne_top hm hμs f
· intro t ht hμt
rw [← integral_condexpL2_eq_of_fin_meas_real f ht hμt.ne]
- exact set_integral_congr_ae (hm t ht) (hg_eq.mono fun x hx _ => hx)
+ exact setIntegral_congr_ae (hm t ht) (hg_eq.mono fun x hx _ => hx)
#align measure_theory.lintegral_nnnorm_condexp_L2_le MeasureTheory.lintegral_nnnorm_condexpL2_le
theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) {f : Lp ℝ 2 μ}
@@ -235,7 +235,7 @@ theorem condexpL2_const_inner (hm : m ≤ m0) (f : Lp E 2 μ) (c : E) :
have h_eq : h_mem_Lp.toLp _ =ᵐ[μ] fun a => ⟪c, (condexpL2 E 𝕜 hm f : α → E) a⟫ :=
h_mem_Lp.coeFn_toLp
refine' EventuallyEq.trans _ h_eq
- refine' Lp.ae_eq_of_forall_set_integral_eq' 𝕜 hm _ _ two_ne_zero ENNReal.coe_ne_top
+ refine' Lp.ae_eq_of_forall_setIntegral_eq' 𝕜 hm _ _ two_ne_zero ENNReal.coe_ne_top
(fun s _ hμs => integrableOn_condexpL2_of_measure_ne_top hm hμs.ne _) _ _ _ _
· intro s _ hμs
rw [IntegrableOn, integrable_congr (ae_restrict_of_ae h_eq)]
@@ -243,10 +243,10 @@ theorem condexpL2_const_inner (hm : m ≤ m0) (f : Lp E 2 μ) (c : E) :
· intro s hs hμs
rw [← lpMeas_coe, integral_condexpL2_eq_of_fin_meas_real _ hs hμs.ne,
integral_congr_ae (ae_restrict_of_ae h_eq), lpMeas_coe, ←
- L2.inner_indicatorConstLp_eq_set_integral_inner 𝕜 (↑(condexpL2 E 𝕜 hm f)) (hm s hs) c hμs.ne,
+ L2.inner_indicatorConstLp_eq_setIntegral_inner 𝕜 (↑(condexpL2 E 𝕜 hm f)) (hm s hs) c hμs.ne,
← inner_condexpL2_left_eq_right, condexpL2_indicator_of_measurable _ hs,
- L2.inner_indicatorConstLp_eq_set_integral_inner 𝕜 f (hm s hs) c hμs.ne,
- set_integral_congr_ae (hm s hs)
+ L2.inner_indicatorConstLp_eq_setIntegral_inner 𝕜 f (hm s hs) c hμs.ne,
+ setIntegral_congr_ae (hm s hs)
((Memℒp.coeFn_toLp ((Lp.memℒp f).const_inner c)).mono fun x hx _ => hx)]
· rw [← lpMeas_coe]; exact lpMeas.aeStronglyMeasurable' _
· refine' AEStronglyMeasurable'.congr _ h_eq.symm
@@ -269,8 +269,8 @@ theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : MeasurableS
((integrableOn_Lp_of_measure_ne_top _ fact_one_le_two_ennreal.elim hμs).const_inner c)]
have h_ae_eq_f := Memℒp.coeFn_toLp (E := 𝕜) ((Lp.memℒp f).const_inner c)
rw [← lpMeas_coe, sub_eq_zero, ←
- set_integral_congr_ae (hm s hs) ((condexpL2_const_inner hm f c).mono fun x hx _ => hx), ←
- set_integral_congr_ae (hm s hs) (h_ae_eq_f.mono fun x hx _ => hx)]
+ setIntegral_congr_ae (hm s hs) ((condexpL2_const_inner hm f c).mono fun x hx _ => hx), ←
+ setIntegral_congr_ae (hm s hs) (h_ae_eq_f.mono fun x hx _ => hx)]
exact integral_condexpL2_eq_of_fin_meas_real _ hs hμs
#align measure_theory.integral_condexp_L2_eq MeasureTheory.integral_condexpL2_eq
@@ -282,15 +282,15 @@ variable (𝕜 𝕜')
theorem condexpL2_comp_continuousLinearMap (hm : m ≤ m0) (T : E' →L[ℝ] E'') (f : α →₂[μ] E') :
(condexpL2 E'' 𝕜' hm (T.compLp f) : α →₂[μ] E'') =ᵐ[μ]
T.compLp (condexpL2 E' 𝕜 hm f : α →₂[μ] E') := by
- refine' Lp.ae_eq_of_forall_set_integral_eq' 𝕜' hm _ _ two_ne_zero ENNReal.coe_ne_top
+ refine' Lp.ae_eq_of_forall_setIntegral_eq' 𝕜' hm _ _ two_ne_zero ENNReal.coe_ne_top
(fun s _ hμs => integrableOn_condexpL2_of_measure_ne_top hm hμs.ne _) (fun s _ hμs =>
integrableOn_Lp_of_measure_ne_top _ fact_one_le_two_ennreal.elim hμs.ne) _ _ _
· intro s hs hμs
- rw [T.set_integral_compLp _ (hm s hs),
+ rw [T.setIntegral_compLp _ (hm s hs),
T.integral_comp_comm
(integrableOn_Lp_of_measure_ne_top _ fact_one_le_two_ennreal.elim hμs.ne),
← lpMeas_coe, ← lpMeas_coe, integral_condexpL2_eq hm f hs hμs.ne,
- integral_condexpL2_eq hm (T.compLp f) hs hμs.ne, T.set_integral_compLp _ (hm s hs),
+ integral_condexpL2_eq hm (T.compLp f) hs hμs.ne, T.setIntegral_compLp _ (hm s hs),
T.integral_comp_comm
(integrableOn_Lp_of_measure_ne_top f fact_one_le_two_ennreal.elim hμs.ne)]
· rw [← lpMeas_coe]; exact lpMeas.aeStronglyMeasurable' _
@@ -468,29 +468,37 @@ theorem condexpIndSMul_empty {x : G} : condexpIndSMul hm MeasurableSet.empty
simp only [Submodule.coe_zero, ContinuousLinearMap.map_zero]
#align measure_theory.condexp_ind_smul_empty MeasureTheory.condexpIndSMul_empty
-theorem set_integral_condexpL2_indicator (hs : MeasurableSet[m] s) (ht : MeasurableSet t)
+theorem setIntegral_condexpL2_indicator (hs : MeasurableSet[m] s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) :
∫ x in s, (condexpL2 ℝ ℝ hm (indicatorConstLp 2 ht hμt 1) : α → ℝ) x ∂μ = (μ (t ∩ s)).toReal :=
calc
∫ x in s, (condexpL2 ℝ ℝ hm (indicatorConstLp 2 ht hμt 1) : α → ℝ) x ∂μ =
∫ x in s, indicatorConstLp 2 ht hμt (1 : ℝ) x ∂μ :=
@integral_condexpL2_eq α _ ℝ _ _ _ _ _ _ _ _ _ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) hs hμs
- _ = (μ (t ∩ s)).toReal • (1 : ℝ) := set_integral_indicatorConstLp (hm s hs) ht hμt 1
+ _ = (μ (t ∩ s)).toReal • (1 : ℝ) := setIntegral_indicatorConstLp (hm s hs) ht hμt 1
_ = (μ (t ∩ s)).toReal := by rw [smul_eq_mul, mul_one]
-#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.set_integral_condexpL2_indicator
+#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.setIntegral_condexpL2_indicator
-theorem set_integral_condexpIndSMul (hs : MeasurableSet[m] s) (ht : MeasurableSet t)
+@[deprecated]
+alias set_integral_condexpL2_indicator :=
+ setIntegral_condexpL2_indicator -- deprecated on 2024-04-17
+
+theorem setIntegral_condexpIndSMul (hs : MeasurableSet[m] s) (ht : MeasurableSet t)
(hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) (x : G') :
∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ = (μ (t ∩ s)).toReal • x :=
calc
∫ a in s, (condexpIndSMul hm ht hμt x) a ∂μ =
∫ a in s, (condexpL2 ℝ ℝ hm (indicatorConstLp 2 ht hμt 1) : α → ℝ) a • x ∂μ :=
- set_integral_congr_ae (hm s hs)
+ setIntegral_congr_ae (hm s hs)
((condexpIndSMul_ae_eq_smul hm ht hμt x).mono fun x hx _ => hx)
_ = (∫ a in s, (condexpL2 ℝ ℝ hm (indicatorConstLp 2 ht hμt 1) : α → ℝ) a ∂μ) • x :=
(integral_smul_const _ x)
- _ = (μ (t ∩ s)).toReal • x := by rw [set_integral_condexpL2_indicator hs ht hμs hμt]
-#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.set_integral_condexpIndSMul
+ _ = (μ (t ∩ s)).toReal • x := by rw [setIntegral_condexpL2_indicator hs ht hμs hμt]
+#align measure_theory.set_integral_condexp_ind_smul MeasureTheory.setIntegral_condexpIndSMul
+
+@[deprecated]
+alias set_integral_condexpIndSMul :=
+ setIntegral_condexpIndSMul -- deprecated on 2024-04-17
theorem condexpL2_indicator_nonneg (hm : m ≤ m0) (hs : MeasurableSet s) (hμs : μ s ≠ ∞)
[SigmaFinite (μ.trim hm)] : (0 : α → ℝ) ≤ᵐ[μ]
@@ -499,7 +507,7 @@ theorem condexpL2_indicator_nonneg (hm : m ≤ m0) (hs : MeasurableSet s) (hμs
aeStronglyMeasurable'_condexpL2 _ _
refine' EventuallyLE.trans_eq _ h.ae_eq_mk.symm
refine' @ae_le_of_ae_le_trim _ _ _ _ _ _ hm (0 : α → ℝ) _ _
- refine' ae_nonneg_of_forall_set_integral_nonneg_of_sigmaFinite _ _
+ refine' ae_nonneg_of_forall_setIntegral_nonneg_of_sigmaFinite _ _
· rintro t - -
refine @Integrable.integrableOn _ _ m _ _ _ _ ?_
refine' Integrable.trim hm _ _
@@ -507,13 +515,13 @@ theorem condexpL2_indicator_nonneg (hm : m ≤ m0) (hs : MeasurableSet s) (hμs
exact integrable_condexpL2_indicator hm hs hμs _
· exact h.stronglyMeasurable_mk
· intro t ht hμt
- rw [← set_integral_trim hm h.stronglyMeasurable_mk ht]
+ rw [← setIntegral_trim hm h.stronglyMeasurable_mk ht]
have h_ae :
∀ᵐ x ∂μ, x ∈ t → h.mk _ x = (condexpL2 ℝ ℝ hm (indicatorConstLp 2 hs hμs 1) : α → ℝ) x := by
filter_upwards [h.ae_eq_mk] with x hx
exact fun _ => hx.symm
- rw [set_integral_congr_ae (hm t ht) h_ae,
- set_integral_condexpL2_indicator ht hs ((le_trim hm).trans_lt hμt).ne hμs]
+ rw [setIntegral_congr_ae (hm t ht) h_ae,
+ setIntegral_condexpL2_indicator ht hs ((le_trim hm).trans_lt hμt).ne hμs]
exact ENNReal.toReal_nonneg
#align measure_theory.condexp_L2_indicator_nonneg MeasureTheory.condexpL2_indicator_nonneg
@@ -475,7 +475,7 @@ theorem set_integral_condexpL2_indicator (hs : MeasurableSet[m] s) (ht : Measura
∫ x in s, (condexpL2 ℝ ℝ hm (indicatorConstLp 2 ht hμt 1) : α → ℝ) x ∂μ =
∫ x in s, indicatorConstLp 2 ht hμt (1 : ℝ) x ∂μ :=
@integral_condexpL2_eq α _ ℝ _ _ _ _ _ _ _ _ _ hm (indicatorConstLp 2 ht hμt (1 : ℝ)) hs hμs
- _ = (μ (t ∩ s)).toReal • (1 : ℝ) := (set_integral_indicatorConstLp (hm s hs) ht hμt 1)
+ _ = (μ (t ∩ s)).toReal • (1 : ℝ) := set_integral_indicatorConstLp (hm s hs) ht hμt 1
_ = (μ (t ∩ s)).toReal := by rw [smul_eq_mul, mul_one]
#align measure_theory.set_integral_condexp_L2_indicator MeasureTheory.set_integral_condexpL2_indicator
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
.
@@ -26,7 +26,7 @@ the orthogonal projection on the subspace `lpMeas`.
## Implementation notes
Most of the results in this file are valid for a complete real normed space `F`.
-However, some lemmas also use `𝕜 : IsROrC`:
+However, some lemmas also use `𝕜 : RCLike`:
* `condexpL2` is defined only for an `InnerProductSpace` for now, and we use `𝕜` for its field.
* results about scalar multiplication are stated not only for `ℝ` but also for `𝕜` if we happen to
have `NormedSpace 𝕜 F`.
@@ -41,7 +41,7 @@ open scoped ENNReal Topology MeasureTheory
namespace MeasureTheory
-variable {α E E' F G G' 𝕜 : Type*} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α E E' F G G' 𝕜 : Type*} {p : ℝ≥0∞} [RCLike 𝕜]
-- 𝕜 for ℝ or ℂ
-- E for an inner product space
[NormedAddCommGroup E]
@@ -274,7 +274,7 @@ theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : MeasurableS
exact integral_condexpL2_eq_of_fin_meas_real _ hs hμs
#align measure_theory.integral_condexp_L2_eq MeasureTheory.integral_condexpL2_eq
-variable {E'' 𝕜' : Type*} [IsROrC 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
+variable {E'' 𝕜' : Type*} [RCLike 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
[CompleteSpace E''] [NormedSpace ℝ E'']
variable (𝕜 𝕜')
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.
@@ -329,8 +329,7 @@ theorem condexpL2_indicator_eq_toSpanSingleton_comp (hm : m ≤ m0) (hs : Measur
(condexpL2 ℝ ℝ hm (indicatorConstLp 2 hs hμs 1) : α →₂[μ] ℝ)
rw [← EventuallyEq] at h_comp
refine' EventuallyEq.trans _ h_comp.symm
- refine' eventually_of_forall fun y => _
- rfl
+ filter_upwards with y using rfl
#align measure_theory.condexp_L2_indicator_eq_to_span_singleton_comp MeasureTheory.condexpL2_indicator_eq_toSpanSingleton_comp
variable {𝕜}
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -184,8 +184,8 @@ theorem lintegral_nnnorm_condexpL2_le (hs : MeasurableSet[m] s) (hμs : μ s ≠
theorem condexpL2_ae_eq_zero_of_ae_eq_zero (hs : MeasurableSet[m] s) (hμs : μ s ≠ ∞) {f : Lp ℝ 2 μ}
(hf : f =ᵐ[μ.restrict s] 0) : condexpL2 ℝ ℝ hm f =ᵐ[μ.restrict s] (0 : α → ℝ) := by
- suffices h_nnnorm_eq_zero : ∫⁻ x in s, ‖(condexpL2 ℝ ℝ hm f : α → ℝ) x‖₊ ∂μ = 0
- · rw [lintegral_eq_zero_iff] at h_nnnorm_eq_zero
+ suffices h_nnnorm_eq_zero : ∫⁻ x in s, ‖(condexpL2 ℝ ℝ hm f : α → ℝ) x‖₊ ∂μ = 0 by
+ rw [lintegral_eq_zero_iff] at h_nnnorm_eq_zero
refine' h_nnnorm_eq_zero.mono fun x hx => _
dsimp only at hx
rw [Pi.zero_apply] at hx ⊢
@@ -99,7 +99,7 @@ theorem norm_condexpL2_le_one (hm : m ≤ m0) : ‖@condexpL2 α E 𝕜 _ _ _ _
#align measure_theory.norm_condexp_L2_le_one MeasureTheory.norm_condexpL2_le_one
theorem norm_condexpL2_le (hm : m ≤ m0) (f : α →₂[μ] E) : ‖condexpL2 E 𝕜 hm f‖ ≤ ‖f‖ :=
- ((@condexpL2 _ E 𝕜 _ _ _ _ _ _ μ hm).le_op_norm f).trans
+ ((@condexpL2 _ E 𝕜 _ _ _ _ _ _ μ hm).le_opNorm f).trans
(mul_le_of_le_one_left (norm_nonneg _) (norm_condexpL2_le_one hm))
#align measure_theory.norm_condexp_L2_le MeasureTheory.norm_condexpL2_le
@@ -5,6 +5,7 @@ Authors: Rémy Degenne
-/
import Mathlib.Analysis.InnerProductSpace.Projection
import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique
+import Mathlib.MeasureTheory.Function.L2Space
#align_import measure_theory.function.conditional_expectation.condexp_L2 from "leanprover-community/mathlib"@"d8bbb04e2d2a44596798a9207ceefc0fb236e41e"
Following on from previous gcongr
golfing PRs #4702 and #4784.
This is a replacement for #7901: this round of golfs, first introduced there, there exposed some performance issues in gcongr
, hopefully fixed by #8731, and I am opening a new PR so that the performance can be checked against current master rather than master at the time of #7901.
@@ -358,7 +358,8 @@ theorem lintegral_nnnorm_condexpL2_indicator_le (hm : m ≤ m0) (hs : Measurable
· rw [lpMeas_coe]
exact (Lp.aestronglyMeasurable _).ennnorm
refine' (set_lintegral_nnnorm_condexpL2_indicator_le hm hs hμs x ht hμt).trans _
- exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
+ gcongr
+ apply Set.inter_subset_left
#align measure_theory.lintegral_nnnorm_condexp_L2_indicator_le MeasureTheory.lintegral_nnnorm_condexpL2_indicator_le
/-- If the measure `μ.trim hm` is sigma-finite, then the conditional expectation of a measurable set
@@ -371,7 +372,8 @@ theorem integrable_condexpL2_indicator (hm : m ≤ m0) [SigmaFinite (μ.trim hm)
· rw [lpMeas_coe]; exact Lp.aestronglyMeasurable _
· refine' fun t ht hμt =>
(set_lintegral_nnnorm_condexpL2_indicator_le hm hs hμs x ht hμt).trans _
- exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
+ gcongr
+ apply Set.inter_subset_left
#align measure_theory.integrable_condexp_L2_indicator MeasureTheory.integrable_condexpL2_indicator
end CondexpL2Indicator
@@ -443,7 +445,8 @@ theorem lintegral_nnnorm_condexpIndSMul_le (hm : m ≤ m0) (hs : MeasurableSet s
refine' lintegral_le_of_forall_fin_meas_le' hm (μ s * ‖x‖₊) _ fun t ht hμt => _
· exact (Lp.aestronglyMeasurable _).ennnorm
refine' (set_lintegral_nnnorm_condexpIndSMul_le hm hs hμs x ht hμt).trans _
- exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
+ gcongr
+ apply Set.inter_subset_left
#align measure_theory.lintegral_nnnorm_condexp_ind_smul_le MeasureTheory.lintegral_nnnorm_condexpIndSMul_le
/-- If the measure `μ.trim hm` is sigma-finite, then the conditional expectation of a measurable set
@@ -455,7 +458,8 @@ theorem integrable_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs
_
· exact Lp.aestronglyMeasurable _
· refine' fun t ht hμt => (set_lintegral_nnnorm_condexpIndSMul_le hm hs hμs x ht hμt).trans _
- exact mul_le_mul_right' (measure_mono (Set.inter_subset_left _ _)) _
+ gcongr
+ apply Set.inter_subset_left
#align measure_theory.integrable_condexp_ind_smul MeasureTheory.integrable_condexpIndSMul
theorem condexpIndSMul_empty {x : G} : condexpIndSMul hm MeasurableSet.empty
@@ -131,7 +131,7 @@ theorem condexpL2_indicator_of_measurable (hm : m ≤ m0) (hs : MeasurableSet[m]
have h_mem : indicatorConstLp 2 (hm s hs) hμs c ∈ lpMeas E 𝕜 m 2 μ :=
mem_lpMeas_indicatorConstLp hm hs hμs
let ind := (⟨indicatorConstLp 2 (hm s hs) hμs c, h_mem⟩ : lpMeas E 𝕜 m 2 μ)
- have h_coe_ind : (ind : α →₂[μ] E) = indicatorConstLp 2 (hm s hs) hμs c := by rfl
+ have h_coe_ind : (ind : α →₂[μ] E) = indicatorConstLp 2 (hm s hs) hμs c := rfl
have h_orth_mem := orthogonalProjection_mem_subspace_eq_self ind
rw [← h_coe_ind, h_orth_mem]
#align measure_theory.condexp_L2_indicator_of_measurable MeasureTheory.condexpL2_indicator_of_measurable
MeasureTheory.indicatorConst_empty
to MeasureTheory.indicatorConstLp_empty
.@@ -460,7 +460,7 @@ theorem integrable_condexpIndSMul (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (hs
theorem condexpIndSMul_empty {x : G} : condexpIndSMul hm MeasurableSet.empty
((@measure_empty _ _ μ).le.trans_lt ENNReal.coe_lt_top).ne x = 0 := by
- rw [condexpIndSMul, indicatorConst_empty]
+ rw [condexpIndSMul, indicatorConstLp_empty]
simp only [Submodule.coe_zero, ContinuousLinearMap.map_zero]
#align measure_theory.condexp_ind_smul_empty MeasureTheory.condexpIndSMul_empty
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -40,7 +40,7 @@ open scoped ENNReal Topology MeasureTheory
namespace MeasureTheory
-variable {α E E' F G G' 𝕜 : Type _} {p : ℝ≥0∞} [IsROrC 𝕜]
+variable {α E E' F G G' 𝕜 : Type*} {p : ℝ≥0∞} [IsROrC 𝕜]
-- 𝕜 for ℝ or ℂ
-- E for an inner product space
[NormedAddCommGroup E]
@@ -273,7 +273,7 @@ theorem integral_condexpL2_eq (hm : m ≤ m0) (f : Lp E' 2 μ) (hs : MeasurableS
exact integral_condexpL2_eq_of_fin_meas_real _ hs hμs
#align measure_theory.integral_condexp_L2_eq MeasureTheory.integral_condexpL2_eq
-variable {E'' 𝕜' : Type _} [IsROrC 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
+variable {E'' 𝕜' : Type*} [IsROrC 𝕜'] [NormedAddCommGroup E''] [InnerProductSpace 𝕜' E'']
[CompleteSpace E''] [NormedSpace ℝ E'']
variable (𝕜 𝕜')
@@ -2,15 +2,12 @@
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_L2
-! 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.Analysis.InnerProductSpace.Projection
import Mathlib.MeasureTheory.Function.ConditionalExpectation.Unique
+#align_import measure_theory.function.conditional_expectation.condexp_L2 from "leanprover-community/mathlib"@"d8bbb04e2d2a44596798a9207ceefc0fb236e41e"
+
/-! # Conditional expectation in L2
This file contains one step of the construction of the conditional expectation, which is completed
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