Theorem: MeasureTheory.condexpL2_indicator_eq_toSpanSingleton_comp
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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
⊢ ↑((condexpL2 E' 𝕜 hm) (indicatorConstLp 2 hs hμs x)) =
    (toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))
state_after: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
⊢ ↑↑↑((condexpL2 E' 𝕜 hm) (indicatorConstLp 2 hs hμs x)) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
tactic: ext1
state_before: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
⊢ ↑↑↑((condexpL2 E' 𝕜 hm) (indicatorConstLp 2 hs hμs x)) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
state_after: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
tactic: refine (condexpL2_indicator_ae_eq_smul 𝕜 hm hs hμs x).trans ?_
state_before: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
state_after: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ∀ᵐ (a : α) ∂μ,
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) a =
      (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
tactic: have h_comp := (toSpanSingleton ℝ x).coeFn_compLp
    (condexpL2 ℝ ℝ hm (indicatorConstLp 2 hs hμs 1) : α →₂[μ] ℝ)
state_before: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ∀ᵐ (a : α) ∂μ,
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) a =
      (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
state_after: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
tactic: rw [← EventuallyEq] at h_comp
state_before: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ]
    ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)))
state_after: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
tactic: refine EventuallyEq.trans ?_ h_comp.symm
state_before: case h
α : 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''
hm : m ≤ m0
hs : MeasurableSet s
hμs : μ s ≠ ⊤
x : E'
h_comp :
  ↑↑((toSpanSingleton ℝ x).compLp ↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1))) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
⊢ (fun a => ↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a • x) =ᶠ[ae μ] fun a =>
    (toSpanSingleton ℝ x) (↑↑↑((condexpL2 ℝ ℝ hm) (indicatorConstLp 2 hs hμs 1)) a)
state_after: no goals
tactic: filter_upwards with y using rfl