File: Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean

full_name: MeasureTheory.condexpIndL1Fin
code: /-- 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 
goal: ↥(MeasureTheory.Lp G 1 μ)

full_name: MeasureTheory.condexpIndL1Fin_ae_eq_condexpIndSMul
code: 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 
goal: ↑↑(MeasureTheory.condexpIndL1Fin hm hs hμs x) =ᵐ[μ] ↑↑(MeasureTheory.condexpIndSMul hm hs hμs x)

full_name: _private.Mathlib.MeasureTheory.Function.ConditionalExpectation.CondexpL1.0.MeasureTheory.q
code: private theorem q {hs : MeasurableSet s} {hμs : μ s ≠ ∞} {x : G} :
    Memℒp (condexpIndSMul hm hs hμs x) 1 μ 
goal: MeasureTheory.Memℒp (↑↑(MeasureTheory.condexpIndSMul hm hs hμs x)) 1 μ

full_name: MeasureTheory.condexpIndL1Fin_add
code: 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 
goal: MeasureTheory.condexpIndL1Fin hm hs hμs (x + y) =
  MeasureTheory.condexpIndL1Fin hm hs hμs x + MeasureTheory.condexpIndL1Fin hm hs hμs y

full_name: MeasureTheory.condexpIndL1Fin_smul
code: 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 
goal: MeasureTheory.condexpIndL1Fin hm hs hμs (c • x) = c • MeasureTheory.condexpIndL1Fin hm hs hμs x

full_name: MeasureTheory.condexpIndL1Fin_smul'
code: 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 
goal: MeasureTheory.condexpIndL1Fin hm hs hμs (c • x) = c • MeasureTheory.condexpIndL1Fin hm hs hμs x

full_name: MeasureTheory.norm_condexpIndL1Fin_le
code: theorem norm_condexpIndL1Fin_le (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
    ‖condexpIndL1Fin hm hs hμs x‖ ≤ (μ s).toReal * ‖x‖ 
goal: ‖MeasureTheory.condexpIndL1Fin hm hs hμs x‖ ≤ (μ s).toReal * ‖x‖

full_name: MeasureTheory.condexpIndL1Fin_disjoint_union
code: 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) ((measure_union_le s t).trans_lt
      (lt_top_iff_ne_top.mpr (ENNReal.add_ne_top.mpr ⟨hμs, hμt⟩))).ne x =
    condexpIndL1Fin hm hs hμs x + condexpIndL1Fin hm ht hμt x 
goal: MeasureTheory.condexpIndL1Fin hm ⋯ ⋯ x =
  MeasureTheory.condexpIndL1Fin hm hs hμs x + MeasureTheory.condexpIndL1Fin hm ht hμt x

full_name: MeasureTheory.condexpIndL1
code: /-- 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 
goal: ↥(MeasureTheory.Lp G 1 μ)

full_name: MeasureTheory.condexpIndL1_of_measurableSet_of_measure_ne_top
code: 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 
goal: MeasureTheory.condexpIndL1 hm μ s x = MeasureTheory.condexpIndL1Fin hm hs hμs x

full_name: MeasureTheory.condexpIndL1_of_measure_eq_top
code: theorem condexpIndL1_of_measure_eq_top (hμs : μ s = ∞) (x : G) : condexpIndL1 hm μ s x = 0 
goal: MeasureTheory.condexpIndL1 hm μ s x = 0

full_name: MeasureTheory.condexpIndL1_of_not_measurableSet
code: theorem condexpIndL1_of_not_measurableSet (hs : ¬MeasurableSet s) (x : G) :
    condexpIndL1 hm μ s x = 0 
goal: MeasureTheory.condexpIndL1 hm μ s x = 0

full_name: MeasureTheory.condexpIndL1_add
code: theorem condexpIndL1_add (x y : G) :
    condexpIndL1 hm μ s (x + y) = condexpIndL1 hm μ s x + condexpIndL1 hm μ s y 
goal: MeasureTheory.condexpIndL1 hm μ s (x + y) = MeasureTheory.condexpIndL1 hm μ s x + MeasureTheory.condexpIndL1 hm μ s y

full_name: MeasureTheory.condexpIndL1_smul
code: theorem condexpIndL1_smul (c : ℝ) (x : G) :
    condexpIndL1 hm μ s (c • x) = c • condexpIndL1 hm μ s x 
goal: MeasureTheory.condexpIndL1 hm μ s (c • x) = c • MeasureTheory.condexpIndL1 hm μ s x

full_name: MeasureTheory.condexpIndL1_smul'
code: theorem condexpIndL1_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (c : 𝕜) (x : F) :
    condexpIndL1 hm μ s (c • x) = c • condexpIndL1 hm μ s x 
goal: MeasureTheory.condexpIndL1 hm μ s (c • x) = c • MeasureTheory.condexpIndL1 hm μ s x

full_name: MeasureTheory.norm_condexpIndL1_le
code: theorem norm_condexpIndL1_le (x : G) : ‖condexpIndL1 hm μ s x‖ ≤ (μ s).toReal * ‖x‖ 
goal: ‖MeasureTheory.condexpIndL1 hm μ s x‖ ≤ (μ s).toReal * ‖x‖

full_name: MeasureTheory.continuous_condexpIndL1
code: theorem continuous_condexpIndL1 : Continuous fun x : G => condexpIndL1 hm μ s x 
goal: Continuous fun x => MeasureTheory.condexpIndL1 hm μ s x

full_name: MeasureTheory.condexpIndL1_disjoint_union
code: 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 
goal: MeasureTheory.condexpIndL1 hm μ (s ∪ t) x = MeasureTheory.condexpIndL1 hm μ s x + MeasureTheory.condexpIndL1 hm μ t x

full_name: MeasureTheory.condexpInd
code: /-- 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 
goal: G →L[ℝ] ↥(MeasureTheory.Lp G 1 μ)

full_name: MeasureTheory.condexpInd_ae_eq_condexpIndSMul
code: 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 
goal: ↑↑((MeasureTheory.condexpInd G hm μ s) x) =ᵐ[μ] ↑↑(MeasureTheory.condexpIndSMul hm hs hμs x)

full_name: MeasureTheory.aestronglyMeasurable'_condexpInd
code: theorem aestronglyMeasurable'_condexpInd (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : G) :
    AEStronglyMeasurable' m (condexpInd G hm μ s x) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (↑↑((MeasureTheory.condexpInd G hm μ s) x)) μ

full_name: MeasureTheory.condexpInd_empty
code: @[simp]
theorem condexpInd_empty : condexpInd G hm μ ∅ = (0 : G →L[ℝ] α →₁[μ] G) 
goal: MeasureTheory.condexpInd G hm μ ∅ = 0

full_name: MeasureTheory.condexpInd_smul'
code: theorem condexpInd_smul' [NormedSpace ℝ F] [SMulCommClass ℝ 𝕜 F] (c : 𝕜) (x : F) :
    condexpInd F hm μ s (c • x) = c • condexpInd F hm μ s x 
goal: (MeasureTheory.condexpInd F hm μ s) (c • x) = c • (MeasureTheory.condexpInd F hm μ s) x

full_name: MeasureTheory.norm_condexpInd_apply_le
code: theorem norm_condexpInd_apply_le (x : G) : ‖condexpInd G hm μ s x‖ ≤ (μ s).toReal * ‖x‖ 
goal: ‖(MeasureTheory.condexpInd G hm μ s) x‖ ≤ (μ s).toReal * ‖x‖

full_name: MeasureTheory.norm_condexpInd_le
code: theorem norm_condexpInd_le : ‖(condexpInd G hm μ s : G →L[ℝ] α →₁[μ] G)‖ ≤ (μ s).toReal 
goal: ‖MeasureTheory.condexpInd G hm μ s‖ ≤ (μ s).toReal

full_name: MeasureTheory.condexpInd_disjoint_union_apply
code: theorem condexpInd_disjoint_union_apply (hs : MeasurableSet s) (ht : MeasurableSet t)
    (hμs : μ s ≠ ∞) (hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) (x : G) :
    condexpInd G hm μ (s ∪ t) x = condexpInd G hm μ s x + condexpInd G hm μ t x 
goal: (MeasureTheory.condexpInd G hm μ (s ∪ t)) x =
  (MeasureTheory.condexpInd G hm μ s) x + (MeasureTheory.condexpInd G hm μ t) x

full_name: MeasureTheory.condexpInd_disjoint_union
code: theorem condexpInd_disjoint_union (hs : MeasurableSet s) (ht : MeasurableSet t) (hμs : μ s ≠ ∞)
    (hμt : μ t ≠ ∞) (hst : s ∩ t = ∅) : (condexpInd G hm μ (s ∪ t) : G →L[ℝ] α →₁[μ] G) =
    condexpInd G hm μ s + condexpInd G hm μ t 
goal: MeasureTheory.condexpInd G hm μ (s ∪ t) = MeasureTheory.condexpInd G hm μ s + MeasureTheory.condexpInd G hm μ t

full_name: MeasureTheory.dominatedFinMeasAdditive_condexpInd
code: theorem dominatedFinMeasAdditive_condexpInd (hm : m ≤ m0) (μ : Measure α)
    [SigmaFinite (μ.trim hm)] :
    DominatedFinMeasAdditive μ (condexpInd G hm μ : Set α → G →L[ℝ] α →₁[μ] G) 1 
goal: MeasureTheory.DominatedFinMeasAdditive μ (MeasureTheory.condexpInd G hm μ) 1

full_name: MeasureTheory.setIntegral_condexpInd
code: 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 
goal: ∫ (a : α) in s, ↑↑((MeasureTheory.condexpInd G' hm μ t) x) a ∂μ = (μ (t ∩ s)).toReal • x

full_name: MeasureTheory.condexpInd_of_measurable
code: 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 
goal: (MeasureTheory.condexpInd G hm μ s) c = MeasureTheory.indicatorConstLp 1 ⋯ hμs c

full_name: MeasureTheory.condexpInd_nonneg
code: theorem condexpInd_nonneg {E} [NormedLatticeAddCommGroup E] [NormedSpace ℝ E] [OrderedSMul ℝ E]
    (hs : MeasurableSet s) (hμs : μ s ≠ ∞) (x : E) (hx : 0 ≤ x) : 0 ≤ condexpInd E hm μ s x 
goal: 0 ≤ (MeasureTheory.condexpInd E hm μ s) x

full_name: MeasureTheory.condexpL1CLM
code: /-- 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' 
goal: ↥(MeasureTheory.Lp F' 1 μ) →L[ℝ] ↥(MeasureTheory.Lp F' 1 μ)

full_name: MeasureTheory.condexpL1CLM_smul
code: theorem condexpL1CLM_smul (c : 𝕜) (f : α →₁[μ] F') :
    condexpL1CLM F' hm μ (c • f) = c • condexpL1CLM F' hm μ f 
goal: (MeasureTheory.condexpL1CLM F' hm μ) (c • f) = c • (MeasureTheory.condexpL1CLM F' hm μ) f

full_name: MeasureTheory.condexpL1CLM_indicatorConstLp
code: 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 
goal: (MeasureTheory.condexpL1CLM F' hm μ) (MeasureTheory.indicatorConstLp 1 hs hμs x) =
  (MeasureTheory.condexpInd F' hm μ s) x

full_name: MeasureTheory.condexpL1CLM_indicatorConst
code: 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 
goal: (MeasureTheory.condexpL1CLM F' hm μ) ↑(MeasureTheory.Lp.simpleFunc.indicatorConst 1 hs hμs x) =
  (MeasureTheory.condexpInd F' hm μ s) x

full_name: MeasureTheory.setIntegral_condexpL1CLM_of_measure_ne_top
code: /-- 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 ∂μ 
goal: ∫ (x : α) in s, ↑↑((MeasureTheory.condexpL1CLM F' hm μ) f) x ∂μ = ∫ (x : α) in s, ↑↑f x ∂μ

full_name: MeasureTheory.setIntegral_condexpL1CLM
code: /-- The integral of the conditional expectation `condexpL1CLM` over an `m`-measurable set is equal
to the integral of `f` on that set. See also `setIntegral_condexp`, the similar statement for
`condexp`. -/
theorem setIntegral_condexpL1CLM (f : α →₁[μ] F') (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1CLM F' hm μ f x ∂μ = ∫ x in s, f x ∂μ 
goal: ∫ (x : α) in s, ↑↑((MeasureTheory.condexpL1CLM F' hm μ) f) x ∂μ = ∫ (x : α) in s, ↑↑f x ∂μ

full_name: MeasureTheory.aestronglyMeasurable'_condexpL1CLM
code: theorem aestronglyMeasurable'_condexpL1CLM (f : α →₁[μ] F') :
    AEStronglyMeasurable' m (condexpL1CLM F' hm μ f) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (↑↑((MeasureTheory.condexpL1CLM F' hm μ) f)) μ

full_name: MeasureTheory.condexpL1CLM_lpMeas
code: theorem condexpL1CLM_lpMeas (f : lpMeas F' ℝ m 1 μ) :
    condexpL1CLM F' hm μ (f : α →₁[μ] F') = ↑f 
goal: (MeasureTheory.condexpL1CLM F' hm μ) ↑f = ↑f

full_name: MeasureTheory.condexpL1CLM_of_aestronglyMeasurable'
code: theorem condexpL1CLM_of_aestronglyMeasurable' (f : α →₁[μ] F') (hfm : AEStronglyMeasurable' m f μ) :
    condexpL1CLM F' hm μ f = f 
goal: (MeasureTheory.condexpL1CLM F' hm μ) f = f

full_name: MeasureTheory.condexpL1
code: /-- 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' 
goal: ↥(MeasureTheory.Lp F' 1 μ)

full_name: MeasureTheory.condexpL1_undef
code: theorem condexpL1_undef (hf : ¬Integrable f μ) : condexpL1 hm μ f = 0 
goal: MeasureTheory.condexpL1 hm μ f = 0

full_name: MeasureTheory.condexpL1_eq
code: theorem condexpL1_eq (hf : Integrable f μ) : condexpL1 hm μ f = condexpL1CLM F' hm μ (hf.toL1 f) 
goal: MeasureTheory.condexpL1 hm μ f = (MeasureTheory.condexpL1CLM F' hm μ) (MeasureTheory.Integrable.toL1 f hf)

full_name: MeasureTheory.condexpL1_zero
code: @[simp]
theorem condexpL1_zero : condexpL1 hm μ (0 : α → F') = 0 
goal: MeasureTheory.condexpL1 hm μ 0 = 0

full_name: MeasureTheory.condexpL1_measure_zero
code: @[simp]
theorem condexpL1_measure_zero (hm : m ≤ m0) : condexpL1 hm (0 : Measure α) f = 0 
goal: MeasureTheory.condexpL1 hm 0 f = 0

full_name: MeasureTheory.aestronglyMeasurable'_condexpL1
code: theorem aestronglyMeasurable'_condexpL1 {f : α → F'} :
    AEStronglyMeasurable' m (condexpL1 hm μ f) μ 
goal: MeasureTheory.AEStronglyMeasurable' m (↑↑(MeasureTheory.condexpL1 hm μ f)) μ

full_name: MeasureTheory.condexpL1_congr_ae
code: theorem condexpL1_congr_ae (hm : m ≤ m0) [SigmaFinite (μ.trim hm)] (h : f =ᵐ[μ] g) :
    condexpL1 hm μ f = condexpL1 hm μ g 
goal: MeasureTheory.condexpL1 hm μ f = MeasureTheory.condexpL1 hm μ g

full_name: MeasureTheory.integrable_condexpL1
code: theorem integrable_condexpL1 (f : α → F') : Integrable (condexpL1 hm μ f) μ 
goal: MeasureTheory.Integrable (↑↑(MeasureTheory.condexpL1 hm μ f)) μ

full_name: MeasureTheory.setIntegral_condexpL1
code: /-- The integral of the conditional expectation `condexpL1` over an `m`-measurable set is equal to
the integral of `f` on that set. See also `setIntegral_condexp`, the similar statement for
`condexp`. -/
theorem setIntegral_condexpL1 (hf : Integrable f μ) (hs : MeasurableSet[m] s) :
    ∫ x in s, condexpL1 hm μ f x ∂μ = ∫ x in s, f x ∂μ 
goal: ∫ (x : α) in s, ↑↑(MeasureTheory.condexpL1 hm μ f) x ∂μ = ∫ (x : α) in s, f x ∂μ

full_name: MeasureTheory.condexpL1_add
code: theorem condexpL1_add (hf : Integrable f μ) (hg : Integrable g μ) :
    condexpL1 hm μ (f + g) = condexpL1 hm μ f + condexpL1 hm μ g 
goal: MeasureTheory.condexpL1 hm μ (f + g) = MeasureTheory.condexpL1 hm μ f + MeasureTheory.condexpL1 hm μ g

full_name: MeasureTheory.condexpL1_neg
code: theorem condexpL1_neg (f : α → F') : condexpL1 hm μ (-f) = -condexpL1 hm μ f 
goal: MeasureTheory.condexpL1 hm μ (-f) = -MeasureTheory.condexpL1 hm μ f

full_name: MeasureTheory.condexpL1_smul
code: theorem condexpL1_smul (c : 𝕜) (f : α → F') : condexpL1 hm μ (c • f) = c • condexpL1 hm μ f 
goal: MeasureTheory.condexpL1 hm μ (c • f) = c • MeasureTheory.condexpL1 hm μ f

full_name: MeasureTheory.condexpL1_sub
code: theorem condexpL1_sub (hf : Integrable f μ) (hg : Integrable g μ) :
    condexpL1 hm μ (f - g) = condexpL1 hm μ f - condexpL1 hm μ g 
goal: MeasureTheory.condexpL1 hm μ (f - g) = MeasureTheory.condexpL1 hm μ f - MeasureTheory.condexpL1 hm μ g

full_name: MeasureTheory.condexpL1_of_aestronglyMeasurable'
code: theorem condexpL1_of_aestronglyMeasurable' (hfm : AEStronglyMeasurable' m f μ)
    (hfi : Integrable f μ) : condexpL1 hm μ f =ᵐ[μ] f 
goal: ↑↑(MeasureTheory.condexpL1 hm μ f) =ᵐ[μ] f

full_name: MeasureTheory.condexpL1_mono
code: 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 
goal: ↑↑(MeasureTheory.condexpL1 hm μ f) ≤ᵐ[μ] ↑↑(MeasureTheory.condexpL1 hm μ g)