Theorem: ProbabilityTheory.IndepFun.integrable_left_of_integrable_mul
File: Mathlib/Probability/Integration.lean

tactic: refine' ⟨hX, _⟩
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
⊢ Integrable X

tactic: have I : (∫⁻ ω, ‖Y ω‖₊ ∂μ) ≠ 0 := fun H ↦ by
  have I : (fun ω => ‖Y ω‖₊ : Ω → ℝ≥0∞) =ᵐ[μ] 0 := (lintegral_eq_zero_iff' hY.ennnorm).1 H
  apply h'Y
  filter_upwards [I] with ω hω
  simpa using hω
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
⊢ HasFiniteIntegral X

tactic: refine lt_top_iff_ne_top.2 fun H => ?_
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
⊢ HasFiniteIntegral X

tactic: have J : IndepFun (fun ω => ‖X ω‖₊ : Ω → ℝ≥0∞) (fun ω => ‖Y ω‖₊ : Ω → ℝ≥0∞) μ := by
  have M : Measurable fun x : β => (‖x‖₊ : ℝ≥0∞) := measurable_nnnorm.coe_nnreal_ennreal
  apply IndepFun.comp hXY M M
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
⊢ False

tactic: have A : (∫⁻ ω, ‖X ω * Y ω‖₊ ∂μ) < ∞ := h'XY.2
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
J : IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊
⊢ False

tactic: simp only [nnnorm_mul, ENNReal.coe_mul] at A
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
J : IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊
A : (∫⁻ (ω : Ω), ↑‖X ω * Y ω‖₊ ∂μ) < ⊤
⊢ False

tactic: rw [lintegral_mul_eq_lintegral_mul_lintegral_of_indepFun'' hX.ennnorm hY.ennnorm J, H] at A
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
J : IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊
A : (∫⁻ (ω : Ω), ↑‖X ω‖₊ * ↑‖Y ω‖₊ ∂μ) < ⊤
⊢ False

tactic: simp only [ENNReal.top_mul I] at A
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
J : IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊
A : (⊤ * ∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) < ⊤
⊢ False

tactic: have I : (fun ω => ‖Y ω‖₊ : Ω → ℝ≥0∞) =ᵐ[μ] 0 := (lintegral_eq_zero_iff' hY.ennnorm).1 H
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
H : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) = 0
⊢ False

tactic: apply h'Y
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
H : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) = 0
I : (fun ω => ↑‖Y ω‖₊) =ᵐ[μ] 0
⊢ False

tactic: filter_upwards [I] with ω hω
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
H : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) = 0
I : (fun ω => ↑‖Y ω‖₊) =ᵐ[μ] 0
⊢ Y =ᵐ[μ] 0

tactic: simpa using hω
state_before: case h
Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
H : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) = 0
I : (fun ω => ↑‖Y ω‖₊) =ᵐ[μ] 0
ω : Ω
hω : ↑‖Y ω‖₊ = OfNat.ofNat 0 ω
⊢ Y ω = OfNat.ofNat 0 ω

tactic: have M : Measurable fun x : β => (‖x‖₊ : ℝ≥0∞) := measurable_nnnorm.coe_nnreal_ennreal
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
⊢ IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊

tactic: apply IndepFun.comp hXY M M
state_before: Ω : Type u_2
mΩ : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_1
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y
h'XY : Integrable (X * Y)
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'Y : ¬Y =ᵐ[μ] 0
I : (∫⁻ (ω : Ω), ↑‖Y ω‖₊ ∂μ) ≠ 0
H : (∫⁻ (a : Ω), ↑‖X a‖₊ ∂μ) = ⊤
M : Measurable fun x => ↑‖x‖₊
⊢ IndepFun (fun ω => ↑‖X ω‖₊) fun ω => ↑‖Y ω‖₊