Theorem: MeasureTheory.snorm_indicator_const₀
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: congr 2
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (∫⁻ (x : α), ↑‖s.indicator (fun x => c) x‖₊ ^ p.toReal ∂μ) ^ (1 / p.toReal) =
    (∫⁻ (x : α), s.indicator (fun x => ↑‖c‖₊ ^ p.toReal) x ∂μ) ^ (1 / p.toReal)
state_after: case e_a.e_f
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (fun x => ↑‖s.indicator (fun x => c) x‖₊ ^ p.toReal) = fun x => s.indicator (fun x => ↑‖c‖₊ ^ p.toReal) x

tactic: refine (Set.comp_indicator_const c (fun x : G ↦ (‖x‖₊ : ℝ≥0∞) ^ p.toReal) ?_)
state_before: case e_a.e_f
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (fun x => ↑‖s.indicator (fun x => c) x‖₊ ^ p.toReal) = fun x => s.indicator (fun x => ↑‖c‖₊ ^ p.toReal) x
state_after: case e_a.e_f
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (fun x => ↑‖x‖₊ ^ p.toReal) 0 = 0

tactic: simp [hp_pos]
state_before: case e_a.e_f
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (fun x => ↑‖x‖₊ ^ p.toReal) 0 = 0
state_after: no goals

tactic: rw [lintegral_indicator_const₀ hs, ENNReal.mul_rpow_of_nonneg, ← ENNReal.rpow_mul,
  mul_one_div_cancel hp_pos.ne', ENNReal.rpow_one]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ (∫⁻ (x : α), s.indicator (fun x => ↑‖c‖₊ ^ p.toReal) x ∂μ) ^ (1 / p.toReal) = ↑‖c‖₊ * μ s ^ (1 / p.toReal)
state_after: case hz
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ 0 ≤ 1 / p.toReal

tactic: positivity
state_before: case hz
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hs : NullMeasurableSet s μ
hp : p ≠ 0
hp_top : p ≠ ⊤
hp_pos : 0 < p.toReal
⊢ 0 ≤ 1 / p.toReal
state_after: no goals