awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
rw : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
rw₁ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ≤ ‖‖f x‖ ^ p.toReal‖
rw₂ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ≤ ‖‖f x‖‖ ^ p.toReal
rw₃ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ≤ ‖f x‖ ^ p.toReal
rw₄ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ^ (1 / p.toReal) ≤ (‖f x‖ ^ p.toReal) ^ (1 / p.toReal)
rw₅ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ^ (1 / p.toReal) ≤ ‖f x‖ ^ (p.toReal * (1 / p.toReal))
rw₆ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ^ (1 / p.toReal) ≤ HPow.hPow (β := ℝ) ‖f x‖ 1
rw₇ rw₈ : M ^ (1 / p.toReal) ≤ ‖f x‖ ↔ M ^ (1 / p.toReal) ≤ ‖f x‖
⊢ M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)

Tactic:
rw [coe_nnnorm, coe_nnnorm, Real.norm_rpow_of_nonneg (norm_nonneg _), norm_norm,
      ← Real.rpow_le_rpow_iff hM' (by positivity)
        (one_div_pos.2 <| ENNReal.toReal_pos hp_ne_zero hp_ne_top), ← Real.rpow_mul (norm_nonneg _),
      mul_one_div_cancel (ENNReal.toReal_pos hp_ne_zero hp_ne_top).ne.symm, Real.rpow_one]

Premises used: Iff.mpr, Ne.symm, norm_norm, Real.rpow_one, mul_one_div_cancel, ENNReal.toReal_pos, coe_nnnorm, one_div_pos, Real.rpow_le_rpow_iff, Real.norm_rpow_of_nonneg, Real.rpow_mul, norm_nonneg, LT.lt.ne
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
⊢ M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)

Tactic:
have hiff : M ^ (1 / p.toReal) ≤ ‖f x‖₊ ↔ M ≤ ‖‖f x‖ ^ p.toReal‖₊ := by
    rw [coe_nnnorm, coe_nnnorm, Real.norm_rpow_of_nonneg (norm_nonneg _), norm_norm,
      ← Real.rpow_le_rpow_iff hM' (by positivity)
        (one_div_pos.2 <| ENNReal.toReal_pos hp_ne_zero hp_ne_top), ← Real.rpow_mul (norm_nonneg _),
      mul_one_div_cancel (ENNReal.toReal_pos hp_ne_zero hp_ne_top).ne.symm, Real.rpow_one]
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
pos :
  ∀ (hx : Membership.mem (γ := Set α) {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} x),
    HPow.hPow (α := ℝ≥0∞) (Set.indicator {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖ₑ) x)
        p.toReal =
      Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (a : α) ↦ ‖‖f a‖ ^ p.toReal‖ₑ) x
neg :
  ∀ (hx : x ∉ {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)}),
    HPow.hPow (α := ℝ≥0∞) (Set.indicator {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖ₑ) x)
        p.toReal =
      Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (a : α) ↦ ‖‖f a‖ ^ p.toReal‖ₑ) x
⊢ HPow.hPow (α := ℝ≥0∞) (Set.indicator {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖ₑ) x) p.toReal =
    Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (a : α) ↦ ‖‖f a‖ ^ p.toReal‖ₑ) x

Tactic:
by_cases hx : x ∈ { x : α | M ^ (1 / p.toReal) ≤ ‖f x‖₊ }

Premises used: HDiv.hDiv, ENNReal.toReal, OfNat.ofNat
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : Membership.mem (γ := Set α) {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} x
⊢ 0 ≤ ‖f x‖ ^ p.toReal

Tactic:
positivity
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : Membership.mem (γ := Set α) {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} x
pos : Membership.mem (γ := Set α) {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} x
⊢ HPow.hPow (α := ℝ≥0∞) (Set.indicator {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖ₑ) x) p.toReal =
    Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (a : α) ↦ ‖‖f a‖ ^ p.toReal‖ₑ) x

Tactic:
rw [Set.indicator_of_mem hx, Set.indicator_of_mem, Real.enorm_of_nonneg (by positivity),
      ← ENNReal.ofReal_rpow_of_nonneg (norm_nonneg _) ENNReal.toReal_nonneg, ofReal_norm]

Premises used: ENNReal.ofReal_rpow_of_nonneg, ENNReal.toReal_nonneg, Real.enorm_of_nonneg, Set.indicator_of_mem, ofReal_norm, norm_nonneg
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : Membership.mem (γ := Set α) {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} x
pos pos₁ pos₂ pos₃ : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)
⊢ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)

Tactic:
rwa [← hiff]
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : x ∉ {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)}
neg : HPow.hPow (α := ℝ≥0∞) 0 p.toReal = 0
neg₁ : x ∉ {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)}
⊢ HPow.hPow (α := ℝ≥0∞) (Set.indicator {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖ₑ) x) p.toReal =
    Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (a : α) ↦ ‖‖f a‖ ^ p.toReal‖ₑ) x

Tactic:
rw [Set.indicator_of_notMem hx, Set.indicator_of_notMem]

Premises used: Set.indicator_of_notMem
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : x ∉ {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)}
⊢ HPow.hPow (α := ℝ≥0∞) 0 p.toReal = 0

Tactic:
simp [ENNReal.toReal_pos hp_ne_zero hp_ne_top]

Premises used: ENNReal.toReal_pos
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
hp_ne_zero : ¬p = 0
hp_ne_top : ¬p = ∞
M : ℝ
hM' : 0 ≤ M
hM :
  ∫⁻ (x : α),
      ENorm.enorm (E := ℝ)
        (Set.indicator {x : α | M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)} (fun (x : α) ↦ ‖f x‖ ^ p.toReal) x) ∂μ ≤
    ENNReal.ofReal (ε ^ p.toReal)
x : α
hiff : M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ) ↔ M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)
hx : x ∉ {x : α | M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)}
neg neg₁ neg₂ neg₃ : ¬M ^ (1 / p.toReal) ≤ (↑‖f x‖₊ : ℝ)
⊢ ¬M ≤ (↑‖‖f x‖ ^ p.toReal‖₊ : ℝ)

Tactic:
rwa [← hiff]
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
obtain :
  ∀ (M : ℝ) (hM : eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε),
    ∃ (M : ℝ), 0 < M ∧ eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε
⊢ ∃ (M : ℝ), 0 < M ∧ eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε

Tactic:
obtain ⟨M, hM⟩ := hf.eLpNorm_indicator_norm_ge_le hmeas hε

Premises used: MeasureTheory.MemLp.eLpNorm_indicator_norm_ge_le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
M : ℝ
hM : eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε
⊢ ∃ (M : ℝ), 0 < M ∧ eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε

Tactic:
⟨max M 1, lt_of_lt_of_le zero_lt_one (le_max_right _ _), le_trans (eLpNorm_mono fun x => ?_) hM⟩

Premises used: le_max_right, zero_lt_one, Max.max, MeasureTheory.eLpNorm_mono, And.intro, Exists.intro, OfNat.ofNat, lt_of_lt_of_le, le_trans
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
M : ℝ
hM : eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε
M₁ : ∀ (x : α), ‖Set.indicator {x : α | max M 1 ≤ (↑‖f x‖₊ : ℝ)} f x‖ ≤ ‖Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f x‖
⊢ ∃ (M : ℝ), 0 < M ∧ eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε

Tactic:
refine
    ⟨max M 1, lt_of_lt_of_le zero_lt_one (le_max_right _ _), le_trans (eLpNorm_mono fun x => ?_) hM⟩
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
M : ℝ
hM : eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε
x : α
simp :
  LE.le (α := ℝ) (Set.indicator {x : α | max M 1 ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)
    (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)
⊢ ‖Set.indicator {x : α | max M 1 ≤ (↑‖f x‖₊ : ℝ)} f x‖ ≤ ‖Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f x‖

Tactic:
simp only [norm_indicator_eq_indicator_norm]

Premises used: norm_indicator_eq_indicator_norm
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : MemLp f p μ
hmeas : StronglyMeasurable f
ε : ℝ
hε : 0 < ε
M : ℝ
hM : eLpNorm (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} f) p μ ≤ ENNReal.ofReal ε
x : α
h₁ : 0 ≤ ‖f x‖
grw grw₁ :
  LE.le (α := ℝ) (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)
    (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)
⊢ LE.le (α := ℝ) (Set.indicator {x : α | max M 1 ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)
    (Set.indicator {x : α | M ≤ (↑‖f x‖₊ : ℝ)} (fun (a : α) ↦ ‖f a‖) x)

Tactic:
grw [← le_max_left]

Premises used: le_max_left
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
pos :
  ∀ (hM : M ≤ 0),
    ∃ (δ : ℝ) (_ : 0 < δ),
      ∀ (s : Set α),
        MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
neg :
  ∀ (hM : 0 < M),
    ∃ (δ : ℝ) (_ : 0 < δ),
      ∀ (s : Set α),
        MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
⊢ ∃ (δ : ℝ) (_ : 0 < δ),
    ∀ (s : Set α),
      MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
by_cases! hM : M ≤ 0
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
⊢ ∃ (δ : ℝ) (_ : 0 < δ),
    ∀ (s : Set α),
      MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
⟨1, zero_lt_one, fun s _ _ => ?_⟩

Premises used: zero_lt_one, Exists.intro, OfNat.ofNat
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
pos :
  ∀ (s : Set α),
    MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1 → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
⊢ ∃ (δ : ℝ) (_ : 0 < δ),
    ∀ (s : Set α),
      MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
refine ⟨1, zero_lt_one, fun s _ _ => ?_⟩
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h : MeasurableSet s
h_1 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
pos : eLpNorm.{u_1, u_2} (ε := β) (s.indicator 0) p μ ≤ ENNReal.ofReal ε
rw : f = 0
⊢ eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
rw [(_ : f = 0)]
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h : MeasurableSet s
h_1 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
⊢ eLpNorm.{u_1, u_2} (ε := β) (s.indicator 0) p μ ≤ ENNReal.ofReal ε

Tactic:
simp
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h_1 : MeasurableSet s
h_2 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
h : ∀ (x : α), f x = 0 x
⊢ f = 0

Tactic:
ext x
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h_1 : MeasurableSet s
h_2 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
x : α
h : ‖f x‖ ≤ 0
⊢ f x = 0 x

Tactic:
rw [Pi.zero_apply, ← norm_le_zero_iff]

Premises used: Pi.zero_apply, norm_le_zero_iff
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h : MeasurableSet s
h_1 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
x : α
⊢ ‖f x‖ ≤ 0

Tactic:
(lt_of_lt_of_le (hf x) hM).le

Premises used: LT.lt.le, lt_of_lt_of_le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : M ≤ 0
s : Set α
h : MeasurableSet s
h_1 : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal 1
x : α
⊢ ‖f x‖ ≤ 0

Tactic:
exact (lt_of_lt_of_le (hf x) hM).le

Premises used: LT.lt.le, lt_of_lt_of_le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
⊢ ∃ (δ : ℝ) (_ : 0 < δ),
    ∀ (s : Set α),
      MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
⟨(ε / M) ^ p.toReal, Real.rpow_pos_of_pos (div_pos hε hM) _, fun s hs hμ => ?_⟩

Premises used: Real.rpow_pos_of_pos, HDiv.hDiv, ENNReal.toReal, HPow.hPow, Exists.intro, div_pos
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
neg :
  ∀ (s : Set α) (hs : MeasurableSet s) (hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)),
    eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
⊢ ∃ (δ : ℝ) (_ : 0 < δ),
    ∀ (s : Set α),
      MeasurableSet s → (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal δ → eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
refine ⟨(ε / M) ^ p.toReal, Real.rpow_pos_of_pos (div_pos hε hM) _, fun s hs hμ => ?_⟩
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
pos : ∀ (hp : p = 0), eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
neg : ∀ (hp : ¬p = 0), eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε
⊢ eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
by_cases hp : p = 0
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : p = 0
⊢ eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
simp [hp]
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
neg : eLpNorm f p (μ.restrict s) ≤ ENNReal.ofReal ε
⊢ eLpNorm (s.indicator f) p μ ≤ ENNReal.ofReal ε

Tactic:
rw [eLpNorm_indicator_eq_eLpNorm_restrict hs]

Premises used: MeasureTheory.eLpNorm_indicator_eq_eLpNorm_restrict
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
h : ∀ (a : α), ‖f a‖ ≤ M
⊢ ∀ᵐ (x : α) ∂μ.restrict s, ‖f x‖ ≤ M

Tactic:
filter_upwards
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
⊢ ∀ (a : α), ‖f a‖ ≤ M

Tactic:
fun x => (hf x).le

Premises used: LT.lt.le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
⊢ ∀ (a : α), ‖f a‖ ≤ M

Tactic:
exact fun x => (hf x).le

Premises used: LT.lt.le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
⊢ ∀ᵐ (x : α) ∂μ.restrict s, ‖f x‖ ≤ M

Tactic:
have haebdd : ∀ᵐ x ∂μ.restrict s, ‖f x‖ ≤ M := by
    filter_upwards
    exact fun x => (hf x).le
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
haebdd : ∀ᵐ (x : α) ∂μ.restrict s, ‖f x‖ ≤ M
⊢ eLpNorm f p (μ.restrict s) ≤ ENNReal.ofReal ε

Tactic:
le_trans (eLpNorm_le_of_ae_bound haebdd) ?_

Premises used: MeasureTheory.eLpNorm_le_of_ae_bound, le_trans
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
haebdd : ∀ᵐ (x : α) ∂μ.restrict s, ‖f x‖ ≤ M
neg :
  HPow.hPow (α := ℝ≥0∞) ((μ.restrict s : (a : Set α) → ℝ≥0∞) univ : ℝ≥0∞) p.toReal⁻¹ * ENNReal.ofReal M ≤
    ENNReal.ofReal ε
⊢ eLpNorm f p (μ.restrict s) ≤ ENNReal.ofReal ε

Tactic:
refine le_trans (eLpNorm_le_of_ae_bound haebdd) ?_

Premises used: MeasureTheory.eLpNorm_le_of_ae_bound, le_trans
-- Module: Mathlib.MeasureTheory.Function.UniformIntegrable
Goal:
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ : Measure α
inst : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hp_top : p ≠ ∞
ε : ℝ
hε : 0 < ε
M : ℝ
hf : ∀ (x : α), ‖f x‖ < M
hM : 0 < M
s : Set α
hs : MeasurableSet s
hμ : (μ : (a : Set α) → ℝ≥0∞) s ≤ ENNReal.ofReal ((ε / M) ^ p.toReal)
hp : ¬p = 0
haebdd : ∀ᵐ (x : α) ∂μ.restrict s, ‖f x‖ ≤ M
neg : HPow.hPow (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) p.toReal⁻¹ ≤ ENNReal.ofReal ε / ENNReal.ofReal M
rw : ENNReal.ofReal M ≠ 0
⊢ HPow.hPow (α := ℝ≥0∞) ((μ.restrict s : (a : Set α) → ℝ≥0∞) univ : ℝ≥0∞) p.toReal⁻¹ * ENNReal.ofReal M ≤
    ENNReal.ofReal ε

Tactic:
rw [Measure.restrict_apply MeasurableSet.univ, Set.univ_inter,
    ← ENNReal.le_div_iff_mul_le (Or.inl _) (Or.inl ENNReal.ofReal_ne_top)]

Premises used: MeasureTheory.Measure.restrict_apply, ENNReal.le_div_iff_mul_le, Set.univ_inter, Or.inl, ENNReal.ofReal_ne_top, MeasurableSet.univ