Theorem: MeasureTheory.snormEssSup_indicator_eq_snormEssSup_restrict
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: simp_rw [snormEssSup, nnnorm_indicator_eq_indicator_nnnorm, ENNReal.coe_indicator]
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
⊢ snormEssSup (Set.indicator s f) μ = snormEssSup f (Measure.restrict μ s)

tactic: by_cases hs_null : μ s = 0
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
⊢ essSup (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) μ = essSup (fun x => ↑‖f x‖₊) (Measure.restrict μ s)

tactic: rw [essSup_indicator_eq_essSup_restrict (eventually_of_forall fun x => ?_) hs hs_null]
state_before: case neg
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ¬↑↑μ s = 0
⊢ essSup (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) μ = essSup (fun x => ↑‖f x‖₊) (Measure.restrict μ s)

tactic: rw [Pi.zero_apply]
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ¬↑↑μ s = 0
x : α
⊢ OfNat.ofNat 0 x ≤ ↑‖f x‖₊

tactic: exact zero_le _
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ¬↑↑μ s = 0
x : α
⊢ 0 ≤ ↑‖f x‖₊

tactic: rw [Measure.restrict_zero_set hs_null]
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
⊢ essSup (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) μ = essSup (fun x => ↑‖f x‖₊) (Measure.restrict μ s)

tactic: simp only [essSup_measure_zero, ENNReal.essSup_eq_zero_iff, ENNReal.bot_eq_zero]
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
⊢ essSup (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) μ = essSup (fun x => ↑‖f x‖₊) 0

tactic: have hs_empty : s =ᵐ[μ] (∅ : Set α) := by rw [ae_eq_set]; simpa using hs_null
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
⊢ (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) =ᵐ[μ] 0

tactic: refine' (indicator_ae_eq_of_ae_eq_set hs_empty).trans _
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
hs_empty : s =ᵐ[μ] ∅
⊢ (fun x => Set.indicator s (fun x => ↑‖f x‖₊) x) =ᵐ[μ] 0

tactic: rw [Set.indicator_empty]
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
hs_empty : s =ᵐ[μ] ∅
⊢ (Set.indicator ∅ fun x => ↑‖f x‖₊) =ᵐ[μ] 0

tactic: rfl
state_before: case pos
α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
hs_empty : s =ᵐ[μ] ∅
⊢ (fun x => 0) =ᵐ[μ] 0

tactic: rw [ae_eq_set]
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
⊢ s =ᵐ[μ] ∅

tactic: simpa using hs_null
state_before: α : Type u_1
E : Type ?u.655000
F : Type u_2
G : Type ?u.655006
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s : Set α
hs✝ : MeasurableSet s
c : E
f✝ : α → E
hf : AEStronglyMeasurable f✝ μ
f : α → F
hs : MeasurableSet s
hs_null : ↑↑μ s = 0
⊢ ↑↑μ (s \ ∅) = 0 ∧ ↑↑μ (∅ \ s) = 0