Theorem: ProbabilityTheory.variance_def'
File: Mathlib/Probability/Variance.lean

Proof steps:
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ variance X ℙ = (∫ (a : Ω), (X ^ 2) a) - (∫ (a : Ω), X a) ^ 2
state_after: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), ((fun x => ∫ (x : Ω), X x) ^ 2) a) -
      ∫ (a : Ω), (2 * X * fun x => ∫ (x : Ω), X x) a =
    (∫ (a : Ω), (X ^ 2) a) - (∫ (a : Ω), X a) ^ 2

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable ((fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2 + (fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (2 * X * fun x => ∫ (x : Ω), X x) ℙ
tactic: rw [hX.variance_eq, sub_sq', integral_sub', integral_add']
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), ((fun x => ∫ (x : Ω), X x) ^ 2) a) -
      ∫ (a : Ω), (2 * X * fun x => ∫ (x : Ω), X x) a =
    (∫ (a : Ω), (X ^ 2) a) - (∫ (a : Ω), X a) ^ 2

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable ((fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2 + (fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (2 * X * fun x => ∫ (x : Ω), X x) ℙ
state_after: case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable ((fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (X ^ 2 + (fun x => ∫ (x : Ω), X x) ^ 2) ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ Integrable (2 * X * fun x => ∫ (x : Ω), X x) ℙ

Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), ((fun x => ∫ (x : Ω), X x) ^ 2) a) -
      ∫ (a : Ω), (2 * X * fun x => ∫ (x : Ω), X x) a =
    (∫ (a : Ω), (X ^ 2) a) - (∫ (a : Ω), X a) ^ 2
tactic: rotate_left
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), ((fun x => ∫ (x : Ω), X x) ^ 2) a) -
      ∫ (a : Ω), (2 * X * fun x => ∫ (x : Ω), X x) a =
    (∫ (a : Ω), (X ^ 2) a) - (∫ (a : Ω), X a) ^ 2
state_after: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ (∫ (a : Ω), X a ^ 2) + (∫ (x : Ω), X x) ^ 2 - (2 * ∫ (x : Ω), X x) * ∫ (x : Ω), X x =
    (∫ (a : Ω), X a ^ 2) - (∫ (x : Ω), X x) ^ 2
tactic: simp only [Pi.pow_apply, integral_const, measure_univ, ENNReal.one_toReal, smul_eq_mul, one_mul,
    Pi.mul_apply, Pi.ofNat_apply, Nat.cast_ofNat, integral_mul_right, integral_mul_left]
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X : Ω → ℝ
hX : Memℒp X 2 ℙ
⊢ (∫ (a : Ω), X a ^ 2) + (∫ (x : Ω), X x) ^ 2 - (2 * ∫ (x : Ω), X x) * ∫ (x : Ω), X x =
    (∫ (a : Ω), X a ^ 2) - (∫ (x : Ω), X x) ^ 2
state_after: no goals
tactic: ring