Theorem: ProbabilityTheory.IndepFun.variance_add
File: Mathlib/Probability/Variance.lean

Proof steps:
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ variance (X + Y) ℙ = (∫ (a : Ω), (fun a => X a ^ 2 + Y a ^ 2 + 2 * X a * Y a) a) - (∫ (a : Ω), (X + Y) a) ^ 2
state_after: no goals
tactic: simp [variance_def' (hX.add hY), add_sq']
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ (∫ (a : Ω), (fun a => X a ^ 2 + Y a ^ 2 + 2 * X a * Y a) a) - (∫ (a : Ω), (X + Y) a) ^ 2 =
    (((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), (Y ^ 2) a) + 2 * ∫ (a : Ω), (X * Y) a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2
state_after: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ (∫ (a : Ω), X a ^ 2 + Y a ^ 2 + 2 * (X a * Y a)) - (∫ (a : Ω), X a + Y a) ^ 2 =
    (((∫ (a : Ω), X a ^ 2) + ∫ (a : Ω), Y a ^ 2) + 2 * ∫ (a : Ω), X a * Y a) - ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2
tactic: simp only [Pi.add_apply, Pi.pow_apply, Pi.mul_apply, mul_assoc]
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ (∫ (a : Ω), X a ^ 2 + Y a ^ 2 + 2 * (X a * Y a)) - (∫ (a : Ω), X a + Y a) ^ 2 =
    (((∫ (a : Ω), X a ^ 2) + ∫ (a : Ω), Y a ^ 2) + 2 * ∫ (a : Ω), X a * Y a) - ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2
state_after: case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ Integrable X ℙ

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ Integrable Y ℙ

case hf
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ Integrable (fun a => X a ^ 2) ℙ

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

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

case hg
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ Integrable (fun a => 2 * (X a * Y a)) ℙ
tactic: rw [integral_add, integral_add, integral_add, integral_mul_left]
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ (((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), (Y ^ 2) a) + 2 * ∫ (a : Ω), (X * Y) a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2 =
    ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), (Y ^ 2) a) + 2 * ((∫ (a : Ω), X a) * ∫ (a : Ω), Y a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2
state_after: case e_a.e_a.e_a
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ ∫ (a : Ω), (X * Y) a = (∫ (a : Ω), X a) * ∫ (a : Ω), Y a
tactic: congr
state_before: case e_a.e_a.e_a
Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ ∫ (a : Ω), (X * Y) a = (∫ (a : Ω), X a) * ∫ (a : Ω), Y a
state_after: no goals
tactic: exact h.integral_mul_of_integrable (hX.integrable one_le_two) (hY.integrable one_le_two)
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ ((∫ (a : Ω), (X ^ 2) a) + ∫ (a : Ω), (Y ^ 2) a) + 2 * ((∫ (a : Ω), X a) * ∫ (a : Ω), Y a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2 =
    variance X ℙ + variance Y ℙ
state_after: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ ((∫ (a : Ω), X a ^ 2) + ∫ (a : Ω), Y a ^ 2) + 2 * ((∫ (a : Ω), X a) * ∫ (a : Ω), Y a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2 =
    (∫ (a : Ω), X a ^ 2) - (∫ (a : Ω), X a) ^ 2 + ((∫ (a : Ω), Y a ^ 2) - (∫ (a : Ω), Y a) ^ 2)
tactic: simp only [variance_def', hX, hY, Pi.pow_apply]
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X✝ : Ω → ℝ
μ : Measure Ω
inst✝¹ : MeasureSpace Ω
inst✝ : IsProbabilityMeasure ℙ
X Y : Ω → ℝ
hX : Memℒp X 2 ℙ
hY : Memℒp Y 2 ℙ
h : IndepFun X Y ℙ
⊢ ((∫ (a : Ω), X a ^ 2) + ∫ (a : Ω), Y a ^ 2) + 2 * ((∫ (a : Ω), X a) * ∫ (a : Ω), Y a) -
      ((∫ (a : Ω), X a) + ∫ (a : Ω), Y a) ^ 2 =
    (∫ (a : Ω), X a ^ 2) - (∫ (a : Ω), X a) ^ 2 + ((∫ (a : Ω), Y a ^ 2) - (∫ (a : Ω), Y a) ^ 2)
state_after: no goals
tactic: ring