Theorem: MeasureTheory.condexpL2_indicator_nonneg
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
⊢ 0 ≤ᶠ[ae μ] ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))
state_after: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae μ] ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))
tactic: have h : AEStronglyMeasurable' m (condexpL2 ℝ ℝ hm (indicatorConstLp 2 hs hμs 1) : α → ℝ) μ :=
    aeStronglyMeasurable'_condexpL2 _ _
state_before: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae μ] ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))
state_after: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae μ] AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h
tactic: refine EventuallyLE.trans_eq ?_ h.ae_eq_mk.symm
state_before: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae μ] AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h
state_after: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae (μ.trim hm)] AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h
tactic: refine @ae_le_of_ae_le_trim _ _ _ _ _ _ hm (0 : α → ℝ) _ ?_
state_before: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ 0 ≤ᶠ[ae (μ.trim hm)] AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h
state_after: case refine_1
α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ ∀ (s_1 : Set α),
    MeasurableSet s_1 →
      (μ.trim hm) s_1 < ⊤ →
        IntegrableOn (AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h) s_1
          (μ.trim hm)

case refine_2
α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝²⁰ : RCLike 𝕜
inst✝¹⁹ : NormedAddCommGroup E
inst✝¹⁸ : InnerProductSpace 𝕜 E
inst✝¹⁷ : CompleteSpace E
inst✝¹⁶ : NormedAddCommGroup E'
inst✝¹⁵ : InnerProductSpace 𝕜 E'
inst✝¹⁴ : CompleteSpace E'
inst✝¹³ : NormedSpace ℝ E'
inst✝¹² : NormedAddCommGroup F
inst✝¹¹ : NormedSpace 𝕜 F
inst✝¹⁰ : NormedAddCommGroup G
inst✝⁹ : NormedAddCommGroup G'
inst✝⁸ : NormedSpace ℝ G'
inst✝⁷ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁶ : RCLike 𝕜'
inst✝⁵ : NormedAddCommGroup E''
inst✝⁴ : InnerProductSpace 𝕜' E''
inst✝³ : CompleteSpace E''
inst✝² : NormedSpace ℝ E''
inst✝¹ : NormedSpace ℝ G
hm✝ hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
inst✝ : SigmaFinite (μ.trim hm)
h : AEStronglyMeasurable' m (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) μ
⊢ ∀ (s_1 : Set α),
    MeasurableSet s_1 →
      (μ.trim hm) s_1 < ⊤ →
        0 ≤
          ∫ (x : α) in s_1,
            AEStronglyMeasurable'.mk (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) h x ∂μ.trim hm
tactic: refine ae_nonneg_of_forall_setIntegral_nonneg_of_sigmaFinite ?_ ?_