Skip to content

Commit 89acdbc

Browse files
committed
refactor(MeasureTheory): golf Mathlib/MeasureTheory/Function/LpSeminorm/Basic (#38455)
- reuses `eLpNorm'_mono_enorm_ae` to shorten `eLpNorm'_mono_nnnorm_ae` - reuses `eLpNorm_mono_enorm_ae` to shorten `eLpNorm_mono_nnnorm_ae` - rewrites `eLpNorm_le_of_ae_nnnorm_bound` as a direct `simpa` from `eLpNorm_le_of_ae_enorm_bound` Extracted from #38104 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
1 parent 82dd528 commit 89acdbc

1 file changed

Lines changed: 7 additions & 19 deletions

File tree

  • Mathlib/MeasureTheory/Function/LpSeminorm

Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,8 @@ lemma eLpNorm'_mono_enorm_ae {f : α → ε} {g : α → ε'} (hq : 0 ≤ q) (h
278278
gcongr
279279

280280
lemma eLpNorm'_mono_nnnorm_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
281-
eLpNorm' f q μ ≤ eLpNorm' g q μ := by
282-
simp only [eLpNorm'_eq_lintegral_enorm]
283-
gcongr ?_ ^ (1 / q)
284-
refine lintegral_mono_ae (h.mono fun x hx => ?_)
285-
dsimp [enorm]
286-
gcongr
281+
eLpNorm' f q μ ≤ eLpNorm' g q μ :=
282+
eLpNorm'_mono_enorm_ae hq <| h.mono fun _ hx => ENNReal.coe_le_coe.mpr hx
287283

288284
theorem eLpNorm'_mono_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) :
289285
eLpNorm' f q μ ≤ eLpNorm' g q μ :=
@@ -327,12 +323,8 @@ theorem eLpNorm_mono_enorm_ae {f : α → ε} {g : α → ε'} (h : ∀ᵐ x ∂
327323
· exact eLpNorm'_mono_enorm_ae ENNReal.toReal_nonneg h
328324

329325
theorem eLpNorm_mono_nnnorm_ae {f : α → F} {g : α → G} (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
330-
eLpNorm f p μ ≤ eLpNorm g p μ := by
331-
simp only [eLpNorm]
332-
split_ifs
333-
· exact le_rfl
334-
· exact essSup_mono_ae (h.mono fun x hx => ENNReal.coe_le_coe.mpr hx)
335-
· exact eLpNorm'_mono_nnnorm_ae ENNReal.toReal_nonneg h
326+
eLpNorm f p μ ≤ eLpNorm g p μ :=
327+
eLpNorm_mono_enorm_ae <| h.mono fun _ hx => ENNReal.coe_le_coe.mpr hx
336328

337329
theorem eLpNorm_mono_ae {f : α → F} {g : α → G} (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) :
338330
eLpNorm f p μ ≤ eLpNorm g p μ :=
@@ -401,13 +393,9 @@ theorem eLpNorm_le_of_ae_enorm_bound {ε} [TopologicalSpace ε] [ESeminormedAddM
401393

402394
theorem eLpNorm_le_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ C) :
403395
eLpNorm f p μ ≤ C • μ Set.univ ^ p.toReal⁻¹ := by
404-
rcases eq_zero_or_neZero μ with rfl | hμ
405-
· simp
406-
by_cases hp : p = 0
407-
· simp [hp]
408-
have : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖(C : ℝ)‖₊ := hfC.mono fun x hx => hx.trans_eq C.nnnorm_eq.symm
409-
refine (eLpNorm_mono_ae this).trans_eq ?_
410-
rw [eLpNorm_const _ hp (NeZero.ne μ), C.enorm_eq, one_div, ENNReal.smul_def, smul_eq_mul]
396+
simpa [C.enorm_eq, ENNReal.smul_def, smul_eq_mul] using
397+
(eLpNorm_le_of_ae_enorm_bound (f := f) (C := (C : ℝ≥0∞))
398+
(hfC.mono fun _ hx => by simpa using hx))
411399

412400
theorem eLpNorm_le_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) :
413401
eLpNorm f p μ ≤ μ Set.univ ^ p.toReal⁻¹ * ENNReal.ofReal C := by

0 commit comments

Comments
 (0)