Theorem: MeasureTheory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: cases' le_or_lt p 0 with hp_nonpos hp_pos
state_before: α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
⊢ snorm' f p μ < ⊤

tactic: have hq_pos : 0 < q := lt_of_lt_of_le hp_pos hpq
state_before: case inr
α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_pos : 0 < p
⊢ snorm' f p μ < ⊤

tactic: calc
  snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) :=
    snorm'_le_snorm'_mul_rpow_measure_univ hp_pos hpq hf
  _ < ∞ := by
    rw [ENNReal.mul_lt_top_iff]
    refine' Or.inl ⟨hfq_lt_top, ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)⟩
    rwa [le_sub_comm, sub_zero, one_div, one_div, inv_le_inv hq_pos hp_pos]
state_before: case inr
α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_pos : 0 < p
hq_pos : 0 < q
⊢ snorm' f p μ < ⊤

tactic: rw [le_antisymm hp_nonpos hp_nonneg]
state_before: case inl
α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_nonpos : p ≤ 0
⊢ snorm' f p μ < ⊤

tactic: simp
state_before: case inl
α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_nonpos : p ≤ 0
⊢ snorm' f 0 μ < ⊤

tactic: rw [ENNReal.mul_lt_top_iff]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_pos : 0 < p
hq_pos : 0 < q
⊢ snorm' f q μ * ↑↑μ Set.univ ^ (1 / p - 1 / q) < ⊤

tactic: refine' Or.inl ⟨hfq_lt_top, ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)⟩
state_before: α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_pos : 0 < p
hq_pos : 0 < q
⊢ snorm' f q μ < ⊤ ∧ ↑↑μ Set.univ ^ (1 / p - 1 / q) < ⊤ ∨ snorm' f q μ = 0 ∨ ↑↑μ Set.univ ^ (1 / p - 1 / q) = 0

tactic: rwa [le_sub_comm, sub_zero, one_div, one_div, inv_le_inv hq_pos hp_pos]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.4187857
G : Type ?u.4187860
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q✝ : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
p q : ℝ
inst✝ : IsFiniteMeasure μ
f : α → E
hf : AEStronglyMeasurable f μ
hfq_lt_top : snorm' f q μ < ⊤
hp_nonneg : 0 ≤ p
hpq : p ≤ q
hp_pos : 0 < p
hq_pos : 0 < q
⊢ 0 ≤ 1 / p - 1 / q