Theorem: MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
File: Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean

tactic: have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _ : α, snormEssSup f μ ^ q ∂μ := by
  refine lintegral_mono_ae ?_
  have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
  exact h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
⊢ snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q)
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q)

tactic: rw [snorm', ← ENNReal.rpow_one (snormEssSup f μ)]
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q)
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) ≤ snormEssSup f μ ^ 1 * μ Set.univ ^ (1 / q)

tactic: nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) ≤ snormEssSup f μ ^ 1 * μ Set.univ ^ (1 / q)
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) ≤ snormEssSup f μ ^ (q * q⁻¹) * μ Set.univ ^ (1 / q)

tactic: rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) ≤ snormEssSup f μ ^ (q * q⁻¹) * μ Set.univ ^ (1 / q)
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ q⁻¹ ≤ (snormEssSup f μ ^ q * μ Set.univ) ^ q⁻¹

tactic: gcongr
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ (∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ) ^ q⁻¹ ≤ (snormEssSup f μ ^ q * μ Set.univ) ^ q⁻¹
state_after: case h₁
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ snormEssSup f μ ^ q * μ Set.univ

tactic: rwa [lintegral_const] at h_le
state_before: case h₁
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ snormEssSup f μ ^ q * μ Set.univ
state_after: no goals

tactic: refine lintegral_mono_ae ?_
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
⊢ ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
⊢ ∀ᵐ (a : α) ∂μ, ↑‖f a‖₊ ^ q ≤ snormEssSup f μ ^ q

tactic: have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
⊢ ∀ᵐ (a : α) ∂μ, ↑‖f a‖₊ ^ q ≤ snormEssSup f μ ^ q
state_after: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_nnnorm_le_snorm_ess_sup : ∀ᵐ (x : α) ∂μ, ↑‖f x‖₊ ≤ snormEssSup f μ
⊢ ∀ᵐ (a : α) ∂μ, ↑‖f a‖₊ ^ q ≤ snormEssSup f μ ^ q

tactic: exact h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_nnnorm_le_snorm_ess_sup : ∀ᵐ (x : α) ∂μ, ↑‖f x‖₊ ≤ snormEssSup f μ
⊢ ∀ᵐ (a : α) ∂μ, ↑‖f a‖₊ ^ q ≤ snormEssSup f μ ^ q
state_after: no goals

tactic: gcongr
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_nnnorm_le_snorm_ess_sup : ∀ᵐ (x : α) ∂μ, ↑‖f x‖₊ ≤ snormEssSup f μ
x : α
hx : ↑‖f x‖₊ ≤ snormEssSup f μ
⊢ ↑‖f x‖₊ ^ q ≤ snormEssSup f μ ^ q
state_after: no goals

tactic: simp [hq_pos.le]
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
μ : Measure α
f : α → E
q : ℝ
hq_pos : 0 < q
h_le : ∫⁻ (a : α), ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ (x : α), snormEssSup f μ ^ q ∂μ
⊢ 0 ≤ q⁻¹
state_after: no goals