Theorem: MeasurableEmbedding.snorm_map_measure
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: by_cases hp_zero : p = 0
state_before: α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
⊢ snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ

tactic: by_cases hp : p = ∞
state_before: case neg
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
⊢ snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ

tactic: simp only [hp_zero, snorm_exponent_zero]
state_before: case pos
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : p = 0
⊢ snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ

tactic: simp_rw [hp, snorm_exponent_top]
state_before: case pos
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
hp : p = ⊤
⊢ snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ

tactic: exact hf.essSup_map_measure
state_before: case pos
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
hp : p = ⊤
⊢ snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ

tactic: simp_rw [snorm_eq_lintegral_rpow_nnnorm hp_zero hp]
state_before: case neg
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
hp : ¬p = ⊤
⊢ snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ

tactic: rw [hf.lintegral_map]
state_before: case neg
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
hp : ¬p = ⊤
⊢ (∫⁻ (x : β), ↑‖g x‖₊ ^ ENNReal.toReal p ∂Measure.map f μ) ^ (1 / ENNReal.toReal p) =
    (∫⁻ (x : α), ↑‖(g ∘ f) x‖₊ ^ ENNReal.toReal p ∂μ) ^ (1 / ENNReal.toReal p)

tactic: rfl
state_before: case neg
α : Type u_1
E : Type ?u.3101853
F : Type u_3
G : Type ?u.3101859
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
β : Type u_2
mβ : MeasurableSpace β
f : α → β
g✝ : β → E
g : β → F
hf : MeasurableEmbedding f
hp_zero : ¬p = 0
hp : ¬p = ⊤
⊢ (∫⁻ (a : α), ↑‖g (f a)‖₊ ^ ENNReal.toReal p ∂μ) ^ (1 / ENNReal.toReal p) =
    (∫⁻ (x : α), ↑‖(g ∘ f) x‖₊ ^ ENNReal.toReal p ∂μ) ^ (1 / ENNReal.toReal p)