Theorem: MeasureTheory.BoundedContinuousFunction.inner_toLp
File: Mathlib/MeasureTheory/Function/L2Space.lean

tactic: apply integral_congr_ae
state_before: α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
⊢ ⟪(BoundedContinuousFunction.toLp 2 μ 𝕜) f, (BoundedContinuousFunction.toLp 2 μ 𝕜) g⟫_𝕜 =
    ∫ (x : α), (starRingEnd 𝕜) (f x) * g x ∂μ
state_after: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a

tactic: have hf_ae := f.coeFn_toLp 2 μ 𝕜
state_before: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a
state_after: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a

tactic: have hg_ae := g.coeFn_toLp 2 μ 𝕜
state_before: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a
state_after: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a

tactic: filter_upwards [hf_ae, hg_ae] with _ hf hg
state_before: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
⊢ (fun a => ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a⟫_𝕜) =ᶠ[ae μ]
    fun a => (starRingEnd 𝕜) (f a) * g a
state_after: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
a✝ : α
hf : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝ = f a✝
hg : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝ = g a✝
⊢ ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝⟫_𝕜 =
    (starRingEnd 𝕜) (f a✝) * g a✝

tactic: rw [hf, hg]
state_before: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
a✝ : α
hf : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝ = f a✝
hg : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝ = g a✝
⊢ ⟪↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝, ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝⟫_𝕜 =
    (starRingEnd 𝕜) (f a✝) * g a✝
state_after: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
a✝ : α
hf : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝ = f a✝
hg : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝ = g a✝
⊢ ⟪f a✝, g a✝⟫_𝕜 = (starRingEnd 𝕜) (f a✝) * g a✝

tactic: simp
state_before: case h
α : Type u_1
𝕜 : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : MeasurableSpace α
inst✝² : BorelSpace α
inst✝¹ : RCLike 𝕜
μ : Measure α
inst✝ : IsFiniteMeasure μ
f g : α →ᵇ 𝕜
hf_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) =ᶠ[ae μ] ⇑f
hg_ae : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) =ᶠ[ae μ] ⇑g
a✝ : α
hf : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) f) a✝ = f a✝
hg : ↑↑((BoundedContinuousFunction.toLp 2 μ 𝕜) g) a✝ = g a✝
⊢ ⟪f a✝, g a✝⟫_𝕜 = (starRingEnd 𝕜) (f a✝) * g a✝
state_after: no goals