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

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

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

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

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_1
mΩ : MeasurableSpace Ω
μ : Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_2
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y μ
h'XY : Integrable (X * Y) μ
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'X : ¬X =ᶠ[ae μ] 0
I : ∫⁻ (ω : Ω), ↑‖X ω‖₊ ∂μ ≠ 0
H : ∫⁻ (a : Ω), ↑‖Y a‖₊ ∂μ = ⊤
⊢ False
state_after: Ω : Type u_1
mΩ : MeasurableSpace Ω
μ : Measure Ω
f g : Ω → ℝ≥0∞
X✝ Y✝ : Ω → ℝ
β : Type u_2
inst✝² : MeasurableSpace β
X Y : Ω → β
inst✝¹ : NormedDivisionRing β
inst✝ : BorelSpace β
hXY : IndepFun X Y μ
h'XY : Integrable (X * Y) μ
hX : AEStronglyMeasurable X μ
hY : AEStronglyMeasurable Y μ
h'X : ¬X =ᶠ[ae μ] 0
I : ∫⁻ (ω : Ω), ↑‖X ω‖₊ ∂μ ≠ 0
H : ∫⁻ (a : Ω), ↑‖Y a‖₊ ∂μ = ⊤
J : IndepFun (fun ω => ↑‖X ω‖₊) (fun ω => ↑‖Y ω‖₊) μ
⊢ False

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

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

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

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

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

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

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

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

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