Theorem: MeasureTheory.integrable_withDensity_iff_integrable_coe_smul
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: by_cases H : AEStronglyMeasurable (fun x : α => (f x : ℝ) • g x) μ
state_before: α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
⊢ Integrable g ↔ Integrable fun x => ↑(f x) • g x

tactic: simp only [Integrable, aestronglyMeasurable_withDensity_iff hf, HasFiniteIntegral, H,
  true_and_iff]
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ Integrable g ↔ Integrable fun x => ↑(f x) • g x

tactic: rw [lintegral_withDensity_eq_lintegral_mul₀' hf.coe_nnreal_ennreal.aemeasurable]
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ (∫⁻ (a : α), ↑‖g a‖₊ ∂Measure.withDensity μ fun x => ↑(f x)) < ⊤ ↔ (∫⁻ (a : α), ↑‖↑(f a) • g a‖₊ ∂μ) < ⊤

tactic: rw [iff_iff_eq]
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ (∫⁻ (a : α), ((fun x => ↑(f x)) * fun a => ↑‖g a‖₊) a ∂μ) < ⊤ ↔ (∫⁻ (a : α), ↑‖↑(f a) • g a‖₊ ∂μ) < ⊤

tactic: congr
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ ((∫⁻ (a : α), ((fun x => ↑(f x)) * fun a => ↑‖g a‖₊) a ∂μ) < ⊤) = ((∫⁻ (a : α), ↑‖↑(f a) • g a‖₊ ∂μ) < ⊤)

tactic: ext1 x
state_before: case pos.e_a.e_f
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ (fun a => ((fun x => ↑(f x)) * fun a => ↑‖g a‖₊) a) = fun a => ↑‖↑(f a) • g a‖₊

tactic: simp only [nnnorm_smul, NNReal.nnnorm_eq, coe_mul, Pi.mul_apply]
state_before: case pos.e_a.e_f.h
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
x : α
⊢ ((fun x => ↑(f x)) * fun a => ↑‖g a‖₊) x = ↑‖↑(f x) • g x‖₊

tactic: rw [aemeasurable_withDensity_ennreal_iff hf]
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ AEMeasurable fun a => ↑‖g a‖₊

tactic: convert H.ennnorm using 1
state_before: case pos
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ AEMeasurable fun x => ↑(f x) * ↑‖g x‖₊

tactic: ext1 x
state_before: case h.e'_5
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ (fun x => ↑(f x) * ↑‖g x‖₊) = fun a => ↑‖↑(f a) • g a‖₊

tactic: simp only [nnnorm_smul, NNReal.nnnorm_eq, coe_mul]
state_before: case h.e'_5.h
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
x : α
⊢ ↑(f x) * ↑‖g x‖₊ = ↑‖↑(f x) • g x‖₊

tactic: simp only [Integrable, aestronglyMeasurable_withDensity_iff hf, H, false_and_iff]
state_before: case neg
α : Type u_1
β : Type ?u.1006363
γ : Type ?u.1006366
δ : Type ?u.1006369
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f : α → ℝ≥0
hf : Measurable f
g : α → E
H : ¬AEStronglyMeasurable (fun x => ↑(f x) • g x) μ
⊢ Integrable g ↔ Integrable fun x => ↑(f x) • g x