Theorem: ProbabilityTheory.strong_law_Lp
File: Mathlib/Probability/StrongLaw.lean

Proof steps:
state_before: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
state_after: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
tactic: have hmeas : ∀ i, AEStronglyMeasurable (X i) ℙ := fun i =>
    (hident i).aestronglyMeasurable_iff.2 hℒp.1
state_before: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
state_after: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
tactic: have hint : Integrable (X 0) ℙ := hℒp.integrable hp
state_before: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
state_after: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
tactic: have havg : ∀ (n : ℕ),
      AEStronglyMeasurable (fun ω => (n : ℝ) ⁻¹ • (∑ i ∈ range n, X i ω)) ℙ := by
    intro n
    exact AEStronglyMeasurable.const_smul (aestronglyMeasurable_sum _ fun i _ => hmeas i) _
state_before: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ Tendsto (fun n => eLpNorm (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω - ∫ (a : Ω), X 0 a) p ℙ) atTop (𝓝 0)
state_after: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ UnifIntegrable (fun n ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) p ℙ
tactic: refine tendsto_Lp_finite_of_tendstoInMeasure hp hp' havg (memℒp_const _) ?_
    (tendstoInMeasure_of_tendsto_ae havg (strong_law_ae _ hint hindep hident))
state_before: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ UnifIntegrable (fun n ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) p ℙ
state_after: Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ UnifIntegrable (fun n => (↑n)⁻¹ • ∑ i ∈ range n, X i) p ℙ

Ω : Type u_1
inst✝⁶ : MeasureSpace Ω
inst✝⁵ : IsProbabilityMeasure ℙ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : CompleteSpace E
inst✝¹ : MeasurableSpace E
inst✝ : BorelSpace E
p : ℝ≥0∞
hp : 1 ≤ p
hp' : p ≠ ⊤
X : ℕ → Ω → E
hℒp : Memℒp (X 0) p ℙ
hindep : Pairwise fun i j => IndepFun (X i) (X j) ℙ
hident : ∀ (i : ℕ), IdentDistrib (X i) (X 0) ℙ ℙ
hmeas : ∀ (i : ℕ), AEStronglyMeasurable (X i) ℙ
hint : Integrable (X 0) ℙ
havg : ∀ (n : ℕ), AEStronglyMeasurable (fun ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) ℙ
⊢ (fun n ω => (↑n)⁻¹ • ∑ i ∈ range n, X i ω) = fun n => (↑n)⁻¹ • ∑ i ∈ range n, X i
tactic: rw [(_ : (fun (n : ℕ) ω => (n : ℝ)⁻¹ • (∑ i ∈ range n, X i ω))
            = fun (n : ℕ) => (n : ℝ)⁻¹ • (∑ i ∈ range n, X i))]