Theorem: MeasureTheory.Memℒp.snormEssSup_indicator_norm_ge_eq_zero
File: Mathlib/MeasureTheory/Function/UniformIntegrable.lean

tactic: have hbdd : snormEssSup f μ < ∞ := hf.snorm_lt_top
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
⊢ ∃ M, snormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ ∃ M, snormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0

tactic: refine ⟨(snorm f ∞ μ + 1).toReal, ?_⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ ∃ M, snormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ snormEssSup ({x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}.indicator f) μ = 0

tactic: rw [snormEssSup_indicator_eq_snormEssSup_restrict]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ snormEssSup ({x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ snormEssSup f (μ.restrict {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}) = 0

α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ MeasurableSet {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}

tactic: exact measurableSet_le measurable_const hmeas.nnnorm.measurable.subtype_coe
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ MeasurableSet {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}
state_after: no goals

tactic: rw [this, snormEssSup_measure_zero]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : μ.restrict {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊} = 0
⊢ snormEssSup f (μ.restrict {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}) = 0
state_after: no goals

tactic: simp only [coe_nnnorm, snorm_exponent_top, Measure.restrict_eq_zero]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ μ.restrict {x | (snorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊} = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ μ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} = 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
⊢ μ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
⊢ μ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ≤ 0

tactic: refine (measure_mono this).trans ?_
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
⊢ μ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ≤ 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0

tactic: have hle := coe_nnnorm_ae_le_snormEssSup f μ
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
hle : ∀ᵐ (x : α) ∂μ, ↑‖f x‖₊ ≤ snormEssSup f μ
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0

tactic: simp_rw [ae_iff, not_le] at hle
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
hle : ∀ᵐ (x : α) ∂μ, ↑‖f x‖₊ ≤ snormEssSup f μ
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
hle : μ {a | snormEssSup f μ < ↑‖f a‖₊} = 0
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0

tactic: exact nonpos_iff_eq_zero.2 hle
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
this : {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
hle : μ {a | snormEssSup f μ < ↑‖f a‖₊} = 0
⊢ μ {x | snormEssSup f μ < ↑‖f x‖₊} ≤ 0
state_after: no goals

tactic: intro x hx
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
⊢ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖} ⊆ {x | snormEssSup f μ < ↑‖f x‖₊}
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ x ∈ {x | snormEssSup f μ < ↑‖f x‖₊}

tactic: rw [Set.mem_setOf_eq, ← ENNReal.toReal_lt_toReal hbdd.ne ENNReal.coe_lt_top.ne,
  ENNReal.coe_toReal, coe_nnnorm]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ x ∈ {x | snormEssSup f μ < ↑‖f x‖₊}
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ (snormEssSup f μ).toReal < ‖f x‖

tactic: refine lt_of_lt_of_le ?_ hx
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ (snormEssSup f μ).toReal < ‖f x‖
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ (snormEssSup f μ).toReal < (snormEssSup f μ + 1).toReal

tactic: rw [ENNReal.toReal_lt_toReal hbdd.ne]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ (snormEssSup f μ).toReal < (snormEssSup f μ + 1).toReal
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ snormEssSup f μ < snormEssSup f μ + 1

α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ snormEssSup f μ + 1 ≠ ⊤

tactic: exact ENNReal.lt_add_right hbdd.ne one_ne_zero
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ snormEssSup f μ < snormEssSup f μ + 1
state_after: no goals

tactic: exact (ENNReal.add_lt_top.2 ⟨hbdd, ENNReal.one_lt_top⟩).ne
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : snormEssSup f μ < ⊤
x : α
hx : x ∈ {x | (snormEssSup f μ + 1).toReal ≤ ‖f x‖}
⊢ snormEssSup f μ + 1 ≠ ⊤
state_after: no goals