Theorem: ENNReal.lintegral_rpow_add_le_add_snorm_mul_lintegral_rpow_add
File: Mathlib/MeasureTheory/Integral/MeanInequalities.lean

tactic: refine' lintegral_mono fun a => _
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
⊢ (∫⁻ (a : α), (f + g) a ^ p ∂μ) ≤ ∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ

tactic: dsimp only
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: by_cases h_zero : (f + g) a = 0
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: by_cases h_top : (f + g) a = ⊤
state_before: case neg
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: refine' le_of_eq _
state_before: case neg
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
h_top : ¬(f + g) a = ⊤
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: nth_rw 2 [← ENNReal.rpow_one ((f + g) a)]
state_before: case neg
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
h_top : ¬(f + g) a = ⊤
⊢ (f + g) a ^ p = (f + g) a * (f + g) a ^ (p - 1)

tactic: rw [← ENNReal.rpow_add _ _ h_zero h_top, add_sub_cancel'_right]
state_before: case neg
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
h_top : ¬(f + g) a = ⊤
⊢ (f + g) a ^ p = (f + g) a ^ 1 * (f + g) a ^ (p - 1)

tactic: rw [h_zero, ENNReal.zero_rpow_of_pos hpq.pos]
state_before: case pos
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : (f + g) a = 0
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: exact zero_le _
state_before: case pos
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : (f + g) a = 0
⊢ 0 ≤ 0 * 0 ^ (p - 1)

tactic: rw [h_top, ENNReal.top_rpow_of_pos hpq.sub_one_pos, ENNReal.top_mul_top]
state_before: case pos
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
h_top : (f + g) a = ⊤
⊢ (f + g) a ^ p ≤ (f + g) a * (f + g) a ^ (p - 1)

tactic: exact le_top
state_before: case pos
α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
a : α
h_zero : ¬(f + g) a = 0
h_top : (f + g) a = ⊤
⊢ ⊤ ^ p ≤ ⊤

tactic: have h_add_m : AEMeasurable (fun a : α => (f + g) a ^ (p - 1 : ℝ)) μ :=
  (hf.add hg).pow_const _
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
⊢ (∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ) =
    (∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ

tactic: have h_add_apply :
  (∫⁻ a : α, (f + g) a * (f + g) a ^ (p - 1) ∂μ) =
    ∫⁻ a : α, (f a + g a) * (f + g) a ^ (p - 1) ∂μ :=
  rfl
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
h_add_m : AEMeasurable fun a => (f + g) a ^ (p - 1)
⊢ (∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ) =
    (∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ

tactic: simp_rw [h_add_apply, add_mul]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
h_add_m : AEMeasurable fun a => (f + g) a ^ (p - 1)
h_add_apply : (∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ) = ∫⁻ (a : α), (f a + g a) * (f + g) a ^ (p - 1) ∂μ
⊢ (∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ) =
    (∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ

tactic: rw [lintegral_add_left' (hf.mul h_add_m)]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
h_add_m : AEMeasurable fun a => (f + g) a ^ (p - 1)
h_add_apply : (∫⁻ (a : α), (f + g) a * (f + g) a ^ (p - 1) ∂μ) = ∫⁻ (a : α), (f a + g a) * (f + g) a ^ (p - 1) ∂μ
⊢ (∫⁻ (a : α), f a * (f + g) a ^ (p - 1) + g a * (f + g) a ^ (p - 1) ∂μ) =
    (∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ

tactic: rw [add_mul]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
⊢ ((∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ) ≤
    ((∫⁻ (a : α), f a ^ p ∂μ) ^ (1 / p) + (∫⁻ (a : α), g a ^ p ∂μ) ^ (1 / p)) *
      (∫⁻ (a : α), (f a + g a) ^ p ∂μ) ^ (1 / q)

tactic: exact
  add_le_add
    (lintegral_mul_rpow_le_lintegral_rpow_mul_lintegral_rpow hpq hf (hf.add hg) hf_top)
    (lintegral_mul_rpow_le_lintegral_rpow_mul_lintegral_rpow hpq hg (hf.add hg) hg_top)
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hpq : Real.IsConjugateExponent p q
f g : α → ℝ≥0∞
hf : AEMeasurable f
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
hg : AEMeasurable g
hg_top : (∫⁻ (a : α), g a ^ p ∂μ) ≠ ⊤
⊢ ((∫⁻ (a : α), f a * (f + g) a ^ (p - 1) ∂μ) + ∫⁻ (a : α), g a * (f + g) a ^ (p - 1) ∂μ) ≤
    (∫⁻ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫⁻ (a : α), (f a + g a) ^ p ∂μ) ^ (1 / q) +
      (∫⁻ (a : α), g a ^ p ∂μ) ^ (1 / p) * (∫⁻ (a : α), (f a + g a) ^ p ∂μ) ^ (1 / q)