Theorem: MeasureTheory.L2.integral_inner_eq_sq_snorm
File: Mathlib/MeasureTheory/Function/L2Space.lean

tactic: simp_rw [inner_self_eq_norm_sq_to_K]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ (∫ (a : α), inner (↑↑f a) (↑↑f a) ∂μ) = ↑(ENNReal.toReal (∫⁻ (a : α), ↑‖↑↑f a‖₊ ^ 2 ∂μ))

tactic: norm_cast
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ (∫ (a : α), ↑‖↑↑f a‖ ^ 2 ∂μ) = ↑(ENNReal.toReal (∫⁻ (a : α), ↑‖↑↑f a‖₊ ^ 2 ∂μ))

tactic: rw [integral_eq_lintegral_of_nonneg_ae]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ (∫ (a : α), ‖↑↑f a‖ ^ 2 ∂μ) = ENNReal.toReal (∫⁻ (a : α), ↑(‖↑↑f a‖₊ ^ 2) ∂μ)

tactic: rotate_left
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ ENNReal.toReal (∫⁻ (a : α), ENNReal.ofReal (‖↑↑f a‖ ^ 2) ∂μ) = ENNReal.toReal (∫⁻ (a : α), ↑(‖↑↑f a‖₊ ^ 2) ∂μ)

case hf
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ 0 ≤ᵐ[μ] fun a => ‖↑↑f a‖ ^ 2

case hfm
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ AEStronglyMeasurable (fun a => ‖↑↑f a‖ ^ 2) μ

tactic: congr
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ ENNReal.toReal (∫⁻ (a : α), ENNReal.ofReal (‖↑↑f a‖ ^ 2) ∂μ) = ENNReal.toReal (∫⁻ (a : α), ↑(‖↑↑f a‖₊ ^ 2) ∂μ)

tactic: ext1 x
state_before: case e_a.e_f
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ (fun a => ENNReal.ofReal (‖↑↑f a‖ ^ 2)) = fun a => ↑(‖↑↑f a‖₊ ^ 2)

tactic: have h_two : (2 : ℝ) = ((2 : ℕ) : ℝ) := by simp
state_before: case e_a.e_f.h
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
x : α
⊢ ENNReal.ofReal (‖↑↑f x‖ ^ 2) = ↑(‖↑↑f x‖₊ ^ 2)

tactic: rw [← Real.rpow_nat_cast _ 2, ← h_two, ←
  ENNReal.ofReal_rpow_of_nonneg (norm_nonneg _) zero_le_two, ofReal_norm_eq_coe_nnnorm]
state_before: case e_a.e_f.h
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
x : α
h_two : 2 = ↑2
⊢ ENNReal.ofReal (‖↑↑f x‖ ^ 2) = ↑(‖↑↑f x‖₊ ^ 2)

tactic: norm_cast
state_before: case e_a.e_f.h
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
x : α
h_two : 2 = ↑2
⊢ ↑‖↑↑f x‖₊ ^ 2 = ↑(‖↑↑f x‖₊ ^ 2)

tactic: exact Filter.eventually_of_forall fun x => sq_nonneg _
state_before: case hf
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ 0 ≤ᵐ[μ] fun a => ‖↑↑f a‖ ^ 2

tactic: exact ((Lp.aestronglyMeasurable f).norm.aemeasurable.pow_const _).aestronglyMeasurable
state_before: case hfm
α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
⊢ AEStronglyMeasurable (fun a => ‖↑↑f a‖ ^ 2) μ

tactic: simp
state_before: α : Type u_1
E : Type u_2
F : Type ?u.50966
𝕜 : Type u_3
inst✝⁴ : IsROrC 𝕜
inst✝³ : MeasurableSpace α
μ : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : InnerProductSpace 𝕜 E
inst✝ : NormedAddCommGroup F
f : { x // x ∈ Lp E 2 }
x : α
⊢ 2 = ↑2