Theorem: MeasureTheory.snorm_add_le'
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: rcases eq_or_ne p 0 with (rfl | hp)
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
⊢ snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ)

tactic: rcases lt_or_le p 1 with (h'p | h'p)
state_before: case inr
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
⊢ snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ)

tactic: simp only [snorm_exponent_zero, add_zero, MulZeroClass.mul_zero, le_zero_iff]
state_before: case inl
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
⊢ snorm (f + g) 0 μ ≤ LpAddConst 0 * (snorm f 0 μ + snorm g 0 μ)

tactic: simp only [snorm_eq_snorm' hp (h'p.trans ENNReal.one_lt_top).ne]
state_before: case inr.inl
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : p < 1
⊢ snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ)

tactic: convert snorm'_add_le_of_le_one hf ENNReal.toReal_nonneg _
state_before: case inr.inl
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : p < 1
⊢ snorm' (f + g) (ENNReal.toReal p) μ ≤ LpAddConst p * (snorm' f (ENNReal.toReal p) μ + snorm' g (ENNReal.toReal p) μ)

tactic: have : p ∈ Set.Ioo (0 : ℝ≥0∞) 1 := ⟨hp.bot_lt, h'p⟩
state_before: case h.e'_4.h.e'_5
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : p < 1
⊢ LpAddConst p = 2 ^ (1 / ENNReal.toReal p - 1)

tactic: simp only [LpAddConst, if_pos this]
state_before: case h.e'_4.h.e'_5
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : p < 1
this : p ∈ Set.Ioo 0 1
⊢ LpAddConst p = 2 ^ (1 / ENNReal.toReal p - 1)

tactic: simpa using ENNReal.toReal_mono ENNReal.one_ne_top h'p.le
state_before: case inr.inl.convert_3
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : p < 1
⊢ ENNReal.toReal p ≤ 1

tactic: simp [LpAddConst_of_one_le h'p]
state_before: case inr.inr
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : 1 ≤ p
⊢ snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ)

tactic: exact snorm_add_le hf hg h'p
state_before: case inr.inr
α : Type u_1
E : Type u_2
F : Type ?u.3024839
G : Type ?u.3024842
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
hp : p ≠ 0
h'p : 1 ≤ p
⊢ snorm (f + g) p μ ≤ snorm f p μ + snorm g p μ