Theorem: MeasureTheory.eLpNorm_le_eLpNorm_top_mul_eLpNorm
File: Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : p = ⊤
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ

case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ
tactic: by_cases hp_top : p = ∞
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
hp_zero : p = 0
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ

case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
hp_zero : ¬p = 0
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ
tactic: by_cases hp_zero : p = 0
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
hp_zero : ¬p = 0
⊢ eLpNorm (fun x => b (f x) (g x)) p μ ≤ eLpNorm f ⊤ μ * eLpNorm g p μ
state_after: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m : MeasurableSpace α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
μ : Measure α
f✝ : α → E
g✝ : α → F
p : ℝ≥0∞
f : α → E
g : α → F
hg : AEStronglyMeasurable g μ
b : E → F → G
h : ∀ᵐ (x : α) ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊
hp_top : ¬p = ⊤
hp_zero : ¬p = 0
⊢ (∫⁻ (x : α), ↑‖b (f x) (g x)‖₊ ^ p.toReal ∂μ) ^ (1 / p.toReal) ≤
    essSup (fun x => ↑‖f x‖₊) μ * (∫⁻ (x : α), ↑‖g x‖₊ ^ p.toReal ∂μ) ^ (1 / p.toReal)
tactic: simp_rw [eLpNorm_eq_lintegral_rpow_nnnorm hp_zero hp_top, eLpNorm_exponent_top, eLpNormEssSup]