measure_theory.function.lp_seminormMathlib.MeasureTheory.Function.LpSeminorm.Trim

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -6,7 +6,7 @@ Authors: Rémy Degenne, Sébastien Gouëzel
 import Analysis.NormedSpace.IndicatorFunction
 import Analysis.SpecialFunctions.Pow.Continuity
 import MeasureTheory.Function.EssSup
-import MeasureTheory.Function.AeEqFun
+import MeasureTheory.Function.AEEqFun
 import MeasureTheory.Integral.MeanInequalities
 
 #align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
@@ -1984,31 +1984,31 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
 -/
 
-section IsROrC
+section RCLike
 
-variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type _} [RCLike 𝕜] {f : α → 𝕜}
 
 #print MeasureTheory.Memℒp.re /-
-theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p μ :=
+theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => RCLike.re (f x)) p μ :=
   by
-  have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
-    exact IsROrC.norm_re_le_norm (f x)
+  have : ∀ x, ‖RCLike.re (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
+    exact RCLike.norm_re_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_re.comp_ae_strongly_measurable hf.1
 #align measure_theory.mem_ℒp.re MeasureTheory.Memℒp.re
 -/
 
 #print MeasureTheory.Memℒp.im /-
-theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.im (f x)) p μ :=
+theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => RCLike.im (f x)) p μ :=
   by
-  have : ∀ x, ‖IsROrC.im (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
-    exact IsROrC.norm_im_le_norm (f x)
+  have : ∀ x, ‖RCLike.im (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
+    exact RCLike.norm_im_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_im.comp_ae_strongly_measurable hf.1
 #align measure_theory.mem_ℒp.im MeasureTheory.Memℒp.im
 -/
 
-end IsROrC
+end RCLike
 
 section Liminf
 
Diff
@@ -247,7 +247,7 @@ theorem snorm_zero : snorm (0 : α → F) p μ = 0 :=
   · simp [h0]
   by_cases h_top : p = ∞
   · simp only [h_top, snorm_exponent_top, snorm_ess_sup_zero]
-  rw [← Ne.def] at h0 
+  rw [← Ne.def] at h0
   simp [snorm_eq_snorm' h0 h_top, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_zero MeasureTheory.snorm_zero
 -/
@@ -304,7 +304,7 @@ theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 :=
   · simp [h0]
   by_cases h_top : p = ∞
   · simp [h_top]
-  rw [← Ne.def] at h0 
+  rw [← Ne.def] at h0
   simp [snorm_eq_snorm' h0 h_top, snorm', ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_measure_zero MeasureTheory.snorm_measure_zero
 -/
@@ -899,17 +899,17 @@ theorem snorm'_eq_zero_of_ae_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) {f : α 
 theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStronglyMeasurable f μ)
     (h : snorm' f q μ = 0) : f =ᵐ[μ] 0 :=
   by
-  rw [snorm', ENNReal.rpow_eq_zero_iff] at h 
+  rw [snorm', ENNReal.rpow_eq_zero_iff] at h
   cases h
-  · rw [lintegral_eq_zero_iff' (hf.ennnorm.pow_const q)] at h 
+  · rw [lintegral_eq_zero_iff' (hf.ennnorm.pow_const q)] at h
     refine' h.left.mono fun x hx => _
-    rw [Pi.zero_apply, ENNReal.rpow_eq_zero_iff] at hx 
+    rw [Pi.zero_apply, ENNReal.rpow_eq_zero_iff] at hx
     cases hx
     · cases' hx with hx _
-      rwa [← ENNReal.coe_zero, ENNReal.coe_inj, nnnorm_eq_zero] at hx 
+      rwa [← ENNReal.coe_zero, ENNReal.coe_inj, nnnorm_eq_zero] at hx
     · exact absurd hx.left ENNReal.coe_ne_top
   · exfalso
-    rw [one_div, inv_lt_zero] at h 
+    rw [one_div, inv_lt_zero] at h
     exact hq0.not_lt h.right
 #align measure_theory.ae_eq_zero_of_snorm'_eq_zero MeasureTheory.ae_eq_zero_of_snorm'_eq_zero
 -/
@@ -1073,7 +1073,7 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
     (ENNReal.Tendsto.const_mul (tendsto_id.add tendsto_id)
           (Or.inr (Lp_add_const_lt_top p).Ne)).mono_left
       nhdsWithin_le_nhds
-  simp only [add_zero, MulZeroClass.mul_zero] at this 
+  simp only [add_zero, MulZeroClass.mul_zero] at this
   rcases(((tendsto_order.1 this).2 δ hδ.bot_lt).And self_mem_nhdsWithin).exists with ⟨η, hη, ηpos⟩
   refine' ⟨η, ηpos, fun f g hf hg Hf Hg => _⟩
   calc
@@ -1347,7 +1347,7 @@ theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α →
   nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
   rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
   refine' ENNReal.rpow_le_rpow _ (by simp [hq_pos.le])
-  rwa [lintegral_const] at h_le 
+  rwa [lintegral_const] at h_le
 #align measure_theory.snorm'_le_snorm_ess_sup_mul_rpow_measure_univ MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
 -/
 
@@ -1358,7 +1358,7 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
   by
   by_cases hp0 : p = 0
   · simp [hp0, zero_le]
-  rw [← Ne.def] at hp0 
+  rw [← Ne.def] at hp0
   have hp0_lt : 0 < p := lt_of_le_of_ne (zero_le _) hp0.symm
   have hq0_lt : 0 < q := lt_of_lt_of_le hp0_lt hpq
   by_cases hq_top : q = ∞
@@ -1387,7 +1387,7 @@ theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ :=
   by
   have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
-  rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ 
+  rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ
 #align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
 -/
 
@@ -1491,27 +1491,27 @@ theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {
   cases' hfq with hfq_m hfq_lt_top
   by_cases hp0 : p = 0
   · rwa [hp0, mem_ℒp_zero_iff_ae_strongly_measurable]
-  rw [← Ne.def] at hp0 
+  rw [← Ne.def] at hp0
   refine' ⟨hfq_m, _⟩
   by_cases hp_top : p = ∞
-  · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq 
+  · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq
     rw [hp_top]
-    rwa [hq_top] at hfq_lt_top 
+    rwa [hq_top] at hfq_lt_top
   have hp_pos : 0 < p.to_real := ENNReal.toReal_pos hp0 hp_top
   by_cases hq_top : q = ∞
   · rw [snorm_eq_snorm' hp0 hp_top]
-    rw [hq_top, snorm_exponent_top] at hfq_lt_top 
+    rw [hq_top, snorm_exponent_top] at hfq_lt_top
     refine' lt_of_le_of_lt (snorm'_le_snorm_ess_sup_mul_rpow_measure_univ hp_pos) _
     refine' ENNReal.mul_lt_top hfq_lt_top.ne _
     exact (ENNReal.rpow_lt_top_of_nonneg (by simp [hp_pos.le]) (measure_ne_top μ Set.univ)).Ne
   have hq0 : q ≠ 0 := by
     by_contra hq_eq_zero
-    have hp_eq_zero : p = 0 := le_antisymm (by rwa [hq_eq_zero] at hpq ) (zero_le _)
-    rw [hp_eq_zero, ENNReal.zero_toReal] at hp_pos 
+    have hp_eq_zero : p = 0 := le_antisymm (by rwa [hq_eq_zero] at hpq) (zero_le _)
+    rw [hp_eq_zero, ENNReal.zero_toReal] at hp_pos
     exact (lt_irrefl _) hp_pos
   have hpq_real : p.to_real ≤ q.to_real := by rwa [ENNReal.toReal_le_toReal hp_top hq_top]
   rw [snorm_eq_snorm' hp0 hp_top]
-  rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top 
+  rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top
   exact snorm'_lt_top_of_snorm'_lt_top_of_exponent_le hfq_m hfq_lt_top (le_of_lt hp_pos) hpq_real
 #align measure_theory.mem_ℒp.mem_ℒp_of_exponent_le MeasureTheory.Memℒp.memℒp_of_exponent_le
 -/
@@ -1638,8 +1638,8 @@ theorem snorm_eq_zero_and_zero_of_ae_le_mul_neg {f : α → F} {g : α → G} {c
     (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖g x‖) (hc : c < 0) (p : ℝ≥0∞) : snorm f p μ = 0 ∧ snorm g p μ = 0 :=
   by
   simp_rw [le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg (norm_nonneg _) hc (norm_nonneg _),
-    norm_eq_zero, eventually_and] at h 
-  change f =ᵐ[μ] 0 ∧ g =ᵐ[μ] 0 at h 
+    norm_eq_zero, eventually_and] at h
+  change f =ᵐ[μ] 0 ∧ g =ᵐ[μ] 0 at h
   simp [snorm_congr_ae h.1, snorm_congr_ae h.2]
 #align measure_theory.snorm_eq_zero_and_zero_of_ae_le_mul_neg MeasureTheory.snorm_eq_zero_and_zero_of_ae_le_mul_neg
 -/
@@ -1761,11 +1761,11 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
   · simp [hp_zero]
   have hq_ne_zero : q ≠ 0 := by
     intro hq_zero
-    simp only [hq_zero, hp_zero, one_div, ENNReal.inv_zero, top_add, ENNReal.inv_eq_top] at hpqr 
+    simp only [hq_zero, hp_zero, one_div, ENNReal.inv_zero, top_add, ENNReal.inv_eq_top] at hpqr
     exact hpqr
   have hr_ne_zero : r ≠ 0 := by
     intro hr_zero
-    simp only [hr_zero, hp_zero, one_div, ENNReal.inv_zero, add_top, ENNReal.inv_eq_top] at hpqr 
+    simp only [hr_zero, hp_zero, one_div, ENNReal.inv_zero, add_top, ENNReal.inv_eq_top] at hpqr
     exact hpqr
   by_cases hq_top : q = ∞
   · have hpr : p = r := by
@@ -1779,7 +1779,7 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
     exact snorm_le_snorm_mul_snorm_top p hf g b h
   have hpq : p < q :=
     by
-    suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this 
+    suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this
     rw [hpqr]
     refine' ENNReal.lt_add_right _ _
     · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
@@ -1940,7 +1940,7 @@ theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
   · simp [snorm', hq_pos]
   refine' le_antisymm (snorm'_const_smul_le _ _ hq_pos) _
   have : snorm' _ q μ ≤ _ := snorm'_const_smul_le c⁻¹ (c • f) hq_pos
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
 #align measure_theory.snorm'_const_smul MeasureTheory.snorm'_const_smul
 -/
 
@@ -1958,7 +1958,7 @@ theorem snorm_const_smul (c : 𝕜) (f : α → F) : snorm (c • f) p μ = (‖
   · simp
   refine' le_antisymm (snorm_const_smul_le _ _) _
   have : snorm _ p μ ≤ _ := snorm_const_smul_le c⁻¹ (c • f)
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
 #align measure_theory.snorm_const_smul MeasureTheory.snorm_const_smul
 -/
 
@@ -2033,7 +2033,7 @@ theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α 
           (lt_of_le_of_lt _
             (ENNReal.rpow_lt_top_of_nonneg ENNReal.toReal_nonneg ENNReal.coe_ne_top :
               ↑R ^ p.to_real < ∞))).Ne
-  simp_rw [snorm_eq_lintegral_rpow_nnnorm hp hp'] at hbdd 
+  simp_rw [snorm_eq_lintegral_rpow_nnnorm hp hp'] at hbdd
   simp_rw [liminf_eq, eventually_at_top]
   exact
     sSup_le fun b ⟨a, ha⟩ =>
@@ -2049,11 +2049,11 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
   by
   by_cases hp' : p = ∞
   · subst hp'
-    simp_rw [snorm_exponent_top] at hbdd 
+    simp_rw [snorm_exponent_top] at hbdd
     have : ∀ n, ∀ᵐ x ∂μ, (‖f n x‖₊ : ℝ≥0∞) < R + 1 := fun n =>
       ae_lt_of_essSup_lt
         (lt_of_le_of_lt (hbdd n) <| ENNReal.lt_add_right ENNReal.coe_ne_top one_ne_zero)
-    rw [← ae_all_iff] at this 
+    rw [← ae_all_iff] at this
     filter_upwards [this] with x hx using
       lt_of_le_of_lt (liminf_le_of_frequently_le' <| frequently_of_forall fun n => (hx n).le)
         (ENNReal.add_lt_top.2 ⟨ENNReal.coe_lt_top, ENNReal.one_lt_top⟩)
@@ -2069,7 +2069,7 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
     refine' (OrderIso.liminf_apply (ENNReal.orderIsoRpow p.to_real _) _ _ _ _).symm <;>
       run_tac
         is_bounded_default
-  rw [this] at hx 
+  rw [this] at hx
   rw [← ENNReal.rpow_one (liminf (fun n => ‖f n x‖₊) at_top), ← mul_inv_cancel hppos.ne.symm,
     ENNReal.rpow_mul]
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.2 hppos.le) hx.ne
Diff
@@ -640,7 +640,7 @@ theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
       congr
       ext1 x
       nth_rw 2 [← nnnorm_norm]
-      rw [ENNReal.coe_rpow_of_nonneg _ hq_pos.le, ENNReal.coe_eq_coe]
+      rw [ENNReal.coe_rpow_of_nonneg _ hq_pos.le, ENNReal.coe_inj]
       ext
       push_cast
       rw [Real.norm_rpow_of_nonneg (norm_nonneg _)]
@@ -906,7 +906,7 @@ theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStro
     rw [Pi.zero_apply, ENNReal.rpow_eq_zero_iff] at hx 
     cases hx
     · cases' hx with hx _
-      rwa [← ENNReal.coe_zero, ENNReal.coe_eq_coe, nnnorm_eq_zero] at hx 
+      rwa [← ENNReal.coe_zero, ENNReal.coe_inj, nnnorm_eq_zero] at hx 
     · exact absurd hx.left ENNReal.coe_ne_top
   · exfalso
     rw [one_div, inv_lt_zero] at h 
Diff
@@ -620,7 +620,7 @@ theorem snorm'_norm_rpow (f : α → F) (p q : ℝ) (hq_pos : 0 < q) :
   congr
   ext1 x
   simp_rw [← ofReal_norm_eq_coe_nnnorm]
-  rw [Real.norm_eq_abs, abs_eq_self.mpr (Real.rpow_nonneg_of_nonneg (norm_nonneg _) _), mul_comm, ←
+  rw [Real.norm_eq_abs, abs_eq_self.mpr (Real.rpow_nonneg (norm_nonneg _) _), mul_comm, ←
     ENNReal.ofReal_rpow_of_nonneg (norm_nonneg _) hq_pos.le, ENNReal.rpow_mul]
 #align measure_theory.snorm'_norm_rpow MeasureTheory.snorm'_norm_rpow
 -/
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2020 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne, Sébastien Gouëzel
 -/
-import Mathbin.Analysis.NormedSpace.IndicatorFunction
-import Mathbin.Analysis.SpecialFunctions.Pow.Continuity
-import Mathbin.MeasureTheory.Function.EssSup
-import Mathbin.MeasureTheory.Function.AeEqFun
-import Mathbin.MeasureTheory.Integral.MeanInequalities
+import Analysis.NormedSpace.IndicatorFunction
+import Analysis.SpecialFunctions.Pow.Continuity
+import MeasureTheory.Function.EssSup
+import MeasureTheory.Function.AeEqFun
+import MeasureTheory.Integral.MeanInequalities
 
 #align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
 
Diff
@@ -682,7 +682,7 @@ theorem Memℒp.of_le {f : α → E} {g : α → F} (hg : Memℒp g p μ) (hf :
 #align measure_theory.mem_ℒp.of_le MeasureTheory.Memℒp.of_le
 -/
 
-alias mem_ℒp.of_le ← mem_ℒp.mono
+alias mem_ℒp.mono := mem_ℒp.of_le
 #align measure_theory.mem_ℒp.mono MeasureTheory.Memℒp.mono
 
 #print MeasureTheory.Memℒp.mono' /-
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne, Sébastien Gouëzel
-
-! This file was ported from Lean 3 source module measure_theory.function.lp_seminorm
-! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.NormedSpace.IndicatorFunction
 import Mathbin.Analysis.SpecialFunctions.Pow.Continuity
@@ -14,6 +9,8 @@ import Mathbin.MeasureTheory.Function.EssSup
 import Mathbin.MeasureTheory.Function.AeEqFun
 import Mathbin.MeasureTheory.Integral.MeanInequalities
 
+#align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"f60c6087a7275b72d5db3c5a1d0e19e35a429c0a"
+
 /-!
 # ℒp space
 
Diff
@@ -95,23 +95,31 @@ def snorm {m : MeasurableSpace α} (f : α → F) (p : ℝ≥0∞) (μ : Measure
 #align measure_theory.snorm MeasureTheory.snorm
 -/
 
+#print MeasureTheory.snorm_eq_snorm' /-
 theorem snorm_eq_snorm' (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) {f : α → F} :
     snorm f p μ = snorm' f (ENNReal.toReal p) μ := by simp [snorm, hp_ne_zero, hp_ne_top]
 #align measure_theory.snorm_eq_snorm' MeasureTheory.snorm_eq_snorm'
+-/
 
+#print MeasureTheory.snorm_eq_lintegral_rpow_nnnorm /-
 theorem snorm_eq_lintegral_rpow_nnnorm (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) {f : α → F} :
     snorm f p μ = (∫⁻ x, ‖f x‖₊ ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
   rw [snorm_eq_snorm' hp_ne_zero hp_ne_top, snorm']
 #align measure_theory.snorm_eq_lintegral_rpow_nnnorm MeasureTheory.snorm_eq_lintegral_rpow_nnnorm
+-/
 
+#print MeasureTheory.snorm_one_eq_lintegral_nnnorm /-
 theorem snorm_one_eq_lintegral_nnnorm {f : α → F} : snorm f 1 μ = ∫⁻ x, ‖f x‖₊ ∂μ := by
   simp_rw [snorm_eq_lintegral_rpow_nnnorm one_ne_zero ENNReal.coe_ne_top, ENNReal.one_toReal,
     one_div_one, ENNReal.rpow_one]
 #align measure_theory.snorm_one_eq_lintegral_nnnorm MeasureTheory.snorm_one_eq_lintegral_nnnorm
+-/
 
+#print MeasureTheory.snorm_exponent_top /-
 @[simp]
 theorem snorm_exponent_top {f : α → F} : snorm f ∞ μ = snormEssSup f μ := by simp [snorm]
 #align measure_theory.snorm_exponent_top MeasureTheory.snorm_exponent_top
+-/
 
 #print MeasureTheory.Memℒp /-
 /-- The property that `f:α→E` is ae strongly measurable and `(∫ ‖f a‖^p ∂μ)^(1/p)` is finite
@@ -129,32 +137,41 @@ theorem Memℒp.aestronglyMeasurable {f : α → E} {p : ℝ≥0∞} (h : Memℒ
 #align measure_theory.mem_ℒp.ae_strongly_measurable MeasureTheory.Memℒp.aestronglyMeasurable
 -/
 
+#print MeasureTheory.lintegral_rpow_nnnorm_eq_rpow_snorm' /-
 theorem lintegral_rpow_nnnorm_eq_rpow_snorm' {f : α → F} (hq0_lt : 0 < q) :
     ∫⁻ a, ‖f a‖₊ ^ q ∂μ = snorm' f q μ ^ q :=
   by
   rw [snorm', ← ENNReal.rpow_mul, one_div, inv_mul_cancel, ENNReal.rpow_one]
   exact (ne_of_lt hq0_lt).symm
 #align measure_theory.lintegral_rpow_nnnorm_eq_rpow_snorm' MeasureTheory.lintegral_rpow_nnnorm_eq_rpow_snorm'
+-/
 
 end ℒpSpaceDefinition
 
 section Top
 
+#print MeasureTheory.Memℒp.snorm_lt_top /-
 theorem Memℒp.snorm_lt_top {f : α → E} (hfp : Memℒp f p μ) : snorm f p μ < ∞ :=
   hfp.2
 #align measure_theory.mem_ℒp.snorm_lt_top MeasureTheory.Memℒp.snorm_lt_top
+-/
 
+#print MeasureTheory.Memℒp.snorm_ne_top /-
 theorem Memℒp.snorm_ne_top {f : α → E} (hfp : Memℒp f p μ) : snorm f p μ ≠ ∞ :=
   ne_of_lt hfp.2
 #align measure_theory.mem_ℒp.snorm_ne_top MeasureTheory.Memℒp.snorm_ne_top
+-/
 
+#print MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top /-
 theorem lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top {f : α → F} (hq0_lt : 0 < q)
     (hfq : snorm' f q μ < ∞) : ∫⁻ a, ‖f a‖₊ ^ q ∂μ < ∞ :=
   by
   rw [lintegral_rpow_nnnorm_eq_rpow_snorm' hq0_lt]
   exact ENNReal.rpow_lt_top_of_nonneg (le_of_lt hq0_lt) (ne_of_lt hfq)
 #align measure_theory.lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top
+-/
 
+#print MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top /-
 theorem lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top {f : α → F} (hp_ne_zero : p ≠ 0)
     (hp_ne_top : p ≠ ∞) (hfp : snorm f p μ < ∞) : ∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ < ∞ :=
   by
@@ -162,7 +179,9 @@ theorem lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top {f : α → F} (hp_ne_zero
   · exact ENNReal.toReal_pos hp_ne_zero hp_ne_top
   · simpa [snorm_eq_snorm' hp_ne_zero hp_ne_top] using hfp
 #align measure_theory.lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top
+-/
 
+#print MeasureTheory.snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top /-
 theorem snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top {f : α → F} (hp_ne_zero : p ≠ 0)
     (hp_ne_top : p ≠ ∞) : snorm f p μ < ∞ ↔ ∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ < ∞ :=
   ⟨lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top hp_ne_zero hp_ne_top,
@@ -173,28 +192,38 @@ theorem snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top {f : α → F} (hp_ne_zero
     simpa [snorm_eq_lintegral_rpow_nnnorm hp_ne_zero hp_ne_top] using
       ENNReal.rpow_lt_top_of_nonneg (le_of_lt this) (ne_of_lt h)⟩
 #align measure_theory.snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top MeasureTheory.snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top
+-/
 
 end Top
 
 section Zero
 
+#print MeasureTheory.snorm'_exponent_zero /-
 @[simp]
 theorem snorm'_exponent_zero {f : α → F} : snorm' f 0 μ = 1 := by
   rw [snorm', div_zero, ENNReal.rpow_zero]
 #align measure_theory.snorm'_exponent_zero MeasureTheory.snorm'_exponent_zero
+-/
 
+#print MeasureTheory.snorm_exponent_zero /-
 @[simp]
 theorem snorm_exponent_zero {f : α → F} : snorm f 0 μ = 0 := by simp [snorm]
 #align measure_theory.snorm_exponent_zero MeasureTheory.snorm_exponent_zero
+-/
 
+#print MeasureTheory.memℒp_zero_iff_aestronglyMeasurable /-
 theorem memℒp_zero_iff_aestronglyMeasurable {f : α → E} : Memℒp f 0 μ ↔ AEStronglyMeasurable f μ :=
   by simp [mem_ℒp, snorm_exponent_zero]
 #align measure_theory.mem_ℒp_zero_iff_ae_strongly_measurable MeasureTheory.memℒp_zero_iff_aestronglyMeasurable
+-/
 
+#print MeasureTheory.snorm'_zero /-
 @[simp]
 theorem snorm'_zero (hp0_lt : 0 < q) : snorm' (0 : α → F) q μ = 0 := by simp [snorm', hp0_lt]
 #align measure_theory.snorm'_zero MeasureTheory.snorm'_zero
+-/
 
+#print MeasureTheory.snorm'_zero' /-
 @[simp]
 theorem snorm'_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) : snorm' (0 : α → F) q μ = 0 :=
   by
@@ -202,14 +231,18 @@ theorem snorm'_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) : snorm' (0 : α → F)
   · exact snorm'_zero (lt_of_le_of_ne hq0 hq0_ne.symm)
   · simp [snorm', ENNReal.rpow_eq_zero_iff, hμ, hq_neg]
 #align measure_theory.snorm'_zero' MeasureTheory.snorm'_zero'
+-/
 
+#print MeasureTheory.snormEssSup_zero /-
 @[simp]
 theorem snormEssSup_zero : snormEssSup (0 : α → F) μ = 0 :=
   by
   simp_rw [snorm_ess_sup, Pi.zero_apply, nnnorm_zero, ENNReal.coe_zero, ← ENNReal.bot_eq_zero]
   exact essSup_const_bot
 #align measure_theory.snorm_ess_sup_zero MeasureTheory.snormEssSup_zero
+-/
 
+#print MeasureTheory.snorm_zero /-
 @[simp]
 theorem snorm_zero : snorm (0 : α → F) p μ = 0 :=
   by
@@ -220,37 +253,53 @@ theorem snorm_zero : snorm (0 : α → F) p μ = 0 :=
   rw [← Ne.def] at h0 
   simp [snorm_eq_snorm' h0 h_top, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_zero MeasureTheory.snorm_zero
+-/
 
+#print MeasureTheory.snorm_zero' /-
 @[simp]
 theorem snorm_zero' : snorm (fun x : α => (0 : F)) p μ = 0 := by convert snorm_zero
 #align measure_theory.snorm_zero' MeasureTheory.snorm_zero'
+-/
 
+#print MeasureTheory.zero_memℒp /-
 theorem zero_memℒp : Memℒp (0 : α → E) p μ :=
   ⟨aestronglyMeasurable_zero, by rw [snorm_zero]; exact ENNReal.coe_lt_top⟩
 #align measure_theory.zero_mem_ℒp MeasureTheory.zero_memℒp
+-/
 
+#print MeasureTheory.zero_mem_ℒp' /-
 theorem zero_mem_ℒp' : Memℒp (fun x : α => (0 : E)) p μ := by convert zero_mem_ℒp
 #align measure_theory.zero_mem_ℒp' MeasureTheory.zero_mem_ℒp'
+-/
 
 variable [MeasurableSpace α]
 
+#print MeasureTheory.snorm'_measure_zero_of_pos /-
 theorem snorm'_measure_zero_of_pos {f : α → F} (hq_pos : 0 < q) : snorm' f q (0 : Measure α) = 0 :=
   by simp [snorm', hq_pos]
 #align measure_theory.snorm'_measure_zero_of_pos MeasureTheory.snorm'_measure_zero_of_pos
+-/
 
+#print MeasureTheory.snorm'_measure_zero_of_exponent_zero /-
 theorem snorm'_measure_zero_of_exponent_zero {f : α → F} : snorm' f 0 (0 : Measure α) = 1 := by
   simp [snorm']
 #align measure_theory.snorm'_measure_zero_of_exponent_zero MeasureTheory.snorm'_measure_zero_of_exponent_zero
+-/
 
+#print MeasureTheory.snorm'_measure_zero_of_neg /-
 theorem snorm'_measure_zero_of_neg {f : α → F} (hq_neg : q < 0) : snorm' f q (0 : Measure α) = ∞ :=
   by simp [snorm', hq_neg]
 #align measure_theory.snorm'_measure_zero_of_neg MeasureTheory.snorm'_measure_zero_of_neg
+-/
 
+#print MeasureTheory.snormEssSup_measure_zero /-
 @[simp]
 theorem snormEssSup_measure_zero {f : α → F} : snormEssSup f (0 : Measure α) = 0 := by
   simp [snorm_ess_sup]
 #align measure_theory.snorm_ess_sup_measure_zero MeasureTheory.snormEssSup_measure_zero
+-/
 
+#print MeasureTheory.snorm_measure_zero /-
 @[simp]
 theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 :=
   by
@@ -261,11 +310,13 @@ theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 :=
   rw [← Ne.def] at h0 
   simp [snorm_eq_snorm' h0 h_top, snorm', ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_measure_zero MeasureTheory.snorm_measure_zero
+-/
 
 end Zero
 
 section Const
 
+#print MeasureTheory.snorm'_const /-
 theorem snorm'_const (c : F) (hq_pos : 0 < q) :
     snorm' (fun x : α => c) q μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / q) :=
   by
@@ -275,7 +326,9 @@ theorem snorm'_const (c : F) (hq_pos : 0 < q) :
   suffices hq_cancel : q * (1 / q) = 1; · rw [hq_cancel, ENNReal.rpow_one]
   rw [one_div, mul_inv_cancel (ne_of_lt hq_pos).symm]
 #align measure_theory.snorm'_const MeasureTheory.snorm'_const
+-/
 
+#print MeasureTheory.snorm'_const' /-
 theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_zero : q ≠ 0) :
     snorm' (fun x : α => c) q μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / q) :=
   by
@@ -290,15 +343,21 @@ theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne
       rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero]
     · exact Or.inl ENNReal.coe_ne_top
 #align measure_theory.snorm'_const' MeasureTheory.snorm'_const'
+-/
 
+#print MeasureTheory.snormEssSup_const /-
 theorem snormEssSup_const (c : F) (hμ : μ ≠ 0) : snormEssSup (fun x : α => c) μ = (‖c‖₊ : ℝ≥0∞) :=
   by rw [snorm_ess_sup, essSup_const _ hμ]
 #align measure_theory.snorm_ess_sup_const MeasureTheory.snormEssSup_const
+-/
 
+#print MeasureTheory.snorm'_const_of_isProbabilityMeasure /-
 theorem snorm'_const_of_isProbabilityMeasure (c : F) (hq_pos : 0 < q) [IsProbabilityMeasure μ] :
     snorm' (fun x : α => c) q μ = (‖c‖₊ : ℝ≥0∞) := by simp [snorm'_const c hq_pos, measure_univ]
 #align measure_theory.snorm'_const_of_is_probability_measure MeasureTheory.snorm'_const_of_isProbabilityMeasure
+-/
 
+#print MeasureTheory.snorm_const /-
 theorem snorm_const (c : F) (h0 : p ≠ 0) (hμ : μ ≠ 0) :
     snorm (fun x : α => c) p μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / ENNReal.toReal p) :=
   by
@@ -306,12 +365,16 @@ theorem snorm_const (c : F) (h0 : p ≠ 0) (hμ : μ ≠ 0) :
   · simp [h_top, snorm_ess_sup_const c hμ]
   simp [snorm_eq_snorm' h0 h_top, snorm'_const, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_const MeasureTheory.snorm_const
+-/
 
+#print MeasureTheory.snorm_const' /-
 theorem snorm_const' (c : F) (h0 : p ≠ 0) (h_top : p ≠ ∞) :
     snorm (fun x : α => c) p μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / ENNReal.toReal p) := by
   simp [snorm_eq_snorm' h0 h_top, snorm'_const, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_const' MeasureTheory.snorm_const'
+-/
 
+#print MeasureTheory.snorm_const_lt_top_iff /-
 theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) :
     snorm (fun x : α => c) p μ < ∞ ↔ c = 0 ∨ μ Set.univ < ∞ :=
   by
@@ -332,7 +395,9 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
     _root_.inv_pos, or_self_iff, hμ_top, Ne.lt_top hμ_top, iff_true_iff]
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.mpr hp.le) hμ_top
 #align measure_theory.snorm_const_lt_top_iff MeasureTheory.snorm_const_lt_top_iff
+-/
 
+#print MeasureTheory.memℒp_const /-
 theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun a : α => c) p μ :=
   by
   refine' ⟨ae_strongly_measurable_const, _⟩
@@ -345,7 +410,9 @@ theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun a : α => c) p
   refine' (ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)).Ne
   simp
 #align measure_theory.mem_ℒp_const MeasureTheory.memℒp_const
+-/
 
+#print MeasureTheory.memℒp_top_const /-
 theorem memℒp_top_const (c : E) : Memℒp (fun a : α => c) ∞ μ :=
   by
   refine' ⟨ae_strongly_measurable_const, _⟩
@@ -354,16 +421,20 @@ theorem memℒp_top_const (c : E) : Memℒp (fun a : α => c) ∞ μ :=
   · rw [snorm_const _ ENNReal.top_ne_zero h]
     simp only [ENNReal.top_toReal, div_zero, ENNReal.rpow_zero, mul_one, ENNReal.coe_lt_top]
 #align measure_theory.mem_ℒp_top_const MeasureTheory.memℒp_top_const
+-/
 
+#print MeasureTheory.memℒp_const_iff /-
 theorem memℒp_const_iff {p : ℝ≥0∞} {c : E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) :
     Memℒp (fun x : α => c) p μ ↔ c = 0 ∨ μ Set.univ < ∞ :=
   by
   rw [← snorm_const_lt_top_iff hp_ne_zero hp_ne_top]
   exact ⟨fun h => h.2, fun h => ⟨ae_strongly_measurable_const, h⟩⟩
 #align measure_theory.mem_ℒp_const_iff MeasureTheory.memℒp_const_iff
+-/
 
 end Const
 
+#print MeasureTheory.snorm'_mono_nnnorm_ae /-
 theorem snorm'_mono_nnnorm_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
     snorm' f q μ ≤ snorm' g q μ := by
   rw [snorm']
@@ -371,12 +442,16 @@ theorem snorm'_mono_nnnorm_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h :
   refine' lintegral_mono_ae (h.mono fun x hx => _)
   exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 hx) hq
 #align measure_theory.snorm'_mono_nnnorm_ae MeasureTheory.snorm'_mono_nnnorm_ae
+-/
 
+#print MeasureTheory.snorm'_mono_ae /-
 theorem snorm'_mono_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) :
     snorm' f q μ ≤ snorm' g q μ :=
   snorm'_mono_nnnorm_ae hq h
 #align measure_theory.snorm'_mono_ae MeasureTheory.snorm'_mono_ae
+-/
 
+#print MeasureTheory.snorm'_congr_nnnorm_ae /-
 theorem snorm'_congr_nnnorm_ae {f g : α → F} (hfg : ∀ᵐ x ∂μ, ‖f x‖₊ = ‖g x‖₊) :
     snorm' f q μ = snorm' g q μ :=
   by
@@ -384,25 +459,35 @@ theorem snorm'_congr_nnnorm_ae {f g : α → F} (hfg : ∀ᵐ x ∂μ, ‖f x‖
     hfg.mono fun x hx => by simp_rw [hx]
   simp only [snorm', lintegral_congr_ae this]
 #align measure_theory.snorm'_congr_nnnorm_ae MeasureTheory.snorm'_congr_nnnorm_ae
+-/
 
+#print MeasureTheory.snorm'_congr_norm_ae /-
 theorem snorm'_congr_norm_ae {f g : α → F} (hfg : ∀ᵐ x ∂μ, ‖f x‖ = ‖g x‖) :
     snorm' f q μ = snorm' g q μ :=
   snorm'_congr_nnnorm_ae <| hfg.mono fun x hx => NNReal.eq hx
 #align measure_theory.snorm'_congr_norm_ae MeasureTheory.snorm'_congr_norm_ae
+-/
 
+#print MeasureTheory.snorm'_congr_ae /-
 theorem snorm'_congr_ae {f g : α → F} (hfg : f =ᵐ[μ] g) : snorm' f q μ = snorm' g q μ :=
   snorm'_congr_nnnorm_ae (hfg.fun_comp _)
 #align measure_theory.snorm'_congr_ae MeasureTheory.snorm'_congr_ae
+-/
 
+#print MeasureTheory.snormEssSup_congr_ae /-
 theorem snormEssSup_congr_ae {f g : α → F} (hfg : f =ᵐ[μ] g) : snormEssSup f μ = snormEssSup g μ :=
   essSup_congr_ae (hfg.fun_comp (coe ∘ nnnorm))
 #align measure_theory.snorm_ess_sup_congr_ae MeasureTheory.snormEssSup_congr_ae
+-/
 
+#print MeasureTheory.snormEssSup_mono_nnnorm_ae /-
 theorem snormEssSup_mono_nnnorm_ae {f g : α → F} (hfg : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
     snormEssSup f μ ≤ snormEssSup g μ :=
   essSup_mono_ae <| hfg.mono fun x hx => ENNReal.coe_le_coe.mpr hx
 #align measure_theory.snorm_ess_sup_mono_nnnorm_ae MeasureTheory.snormEssSup_mono_nnnorm_ae
+-/
 
+#print MeasureTheory.snorm_mono_nnnorm_ae /-
 theorem snorm_mono_nnnorm_ae {f : α → F} {g : α → G} (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
     snorm f p μ ≤ snorm g p μ := by
   simp only [snorm]
@@ -411,51 +496,71 @@ theorem snorm_mono_nnnorm_ae {f : α → F} {g : α → G} (h : ∀ᵐ x ∂μ,
   · exact essSup_mono_ae (h.mono fun x hx => ennreal.coe_le_coe.mpr hx)
   · exact snorm'_mono_nnnorm_ae ENNReal.toReal_nonneg h
 #align measure_theory.snorm_mono_nnnorm_ae MeasureTheory.snorm_mono_nnnorm_ae
+-/
 
+#print MeasureTheory.snorm_mono_ae /-
 theorem snorm_mono_ae {f : α → F} {g : α → G} (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) :
     snorm f p μ ≤ snorm g p μ :=
   snorm_mono_nnnorm_ae h
 #align measure_theory.snorm_mono_ae MeasureTheory.snorm_mono_ae
+-/
 
+#print MeasureTheory.snorm_mono_ae_real /-
 theorem snorm_mono_ae_real {f : α → F} {g : α → ℝ} (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ g x) :
     snorm f p μ ≤ snorm g p μ :=
   snorm_mono_ae <| h.mono fun x hx => hx.trans ((le_abs_self _).trans (Real.norm_eq_abs _).symm.le)
 #align measure_theory.snorm_mono_ae_real MeasureTheory.snorm_mono_ae_real
+-/
 
+#print MeasureTheory.snorm_mono_nnnorm /-
 theorem snorm_mono_nnnorm {f : α → F} {g : α → G} (h : ∀ x, ‖f x‖₊ ≤ ‖g x‖₊) :
     snorm f p μ ≤ snorm g p μ :=
   snorm_mono_nnnorm_ae (eventually_of_forall fun x => h x)
 #align measure_theory.snorm_mono_nnnorm MeasureTheory.snorm_mono_nnnorm
+-/
 
+#print MeasureTheory.snorm_mono /-
 theorem snorm_mono {f : α → F} {g : α → G} (h : ∀ x, ‖f x‖ ≤ ‖g x‖) : snorm f p μ ≤ snorm g p μ :=
   snorm_mono_nnnorm h
 #align measure_theory.snorm_mono MeasureTheory.snorm_mono
+-/
 
+#print MeasureTheory.snorm_mono_real /-
 theorem snorm_mono_real {f : α → F} {g : α → ℝ} (h : ∀ x, ‖f x‖ ≤ g x) :
     snorm f p μ ≤ snorm g p μ :=
   snorm_mono_ae_real (eventually_of_forall fun x => h x)
 #align measure_theory.snorm_mono_real MeasureTheory.snorm_mono_real
+-/
 
+#print MeasureTheory.snormEssSup_le_of_ae_nnnorm_bound /-
 theorem snormEssSup_le_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ C) :
     snormEssSup f μ ≤ C :=
   essSup_le_of_ae_le C <| hfC.mono fun x hx => ENNReal.coe_le_coe.mpr hx
 #align measure_theory.snorm_ess_sup_le_of_ae_nnnorm_bound MeasureTheory.snormEssSup_le_of_ae_nnnorm_bound
+-/
 
+#print MeasureTheory.snormEssSup_le_of_ae_bound /-
 theorem snormEssSup_le_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) :
     snormEssSup f μ ≤ ENNReal.ofReal C :=
   snormEssSup_le_of_ae_nnnorm_bound <| hfC.mono fun x hx => hx.trans C.le_coe_toNNReal
 #align measure_theory.snorm_ess_sup_le_of_ae_bound MeasureTheory.snormEssSup_le_of_ae_bound
+-/
 
+#print MeasureTheory.snormEssSup_lt_top_of_ae_nnnorm_bound /-
 theorem snormEssSup_lt_top_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ C) :
     snormEssSup f μ < ∞ :=
   (snormEssSup_le_of_ae_nnnorm_bound hfC).trans_lt ENNReal.coe_lt_top
 #align measure_theory.snorm_ess_sup_lt_top_of_ae_nnnorm_bound MeasureTheory.snormEssSup_lt_top_of_ae_nnnorm_bound
+-/
 
+#print MeasureTheory.snormEssSup_lt_top_of_ae_bound /-
 theorem snormEssSup_lt_top_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) :
     snormEssSup f μ < ∞ :=
   (snormEssSup_le_of_ae_bound hfC).trans_lt ENNReal.ofReal_lt_top
 #align measure_theory.snorm_ess_sup_lt_top_of_ae_bound MeasureTheory.snormEssSup_lt_top_of_ae_bound
+-/
 
+#print MeasureTheory.snorm_le_of_ae_nnnorm_bound /-
 theorem snorm_le_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ C) :
     snorm f p μ ≤ C • μ Set.univ ^ p.toReal⁻¹ :=
   by
@@ -468,34 +573,46 @@ theorem snorm_le_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x
   refine' (snorm_mono_ae this).trans_eq _
   rw [snorm_const _ hp hμ, C.nnnorm_eq, one_div, ENNReal.smul_def, smul_eq_mul]
 #align measure_theory.snorm_le_of_ae_nnnorm_bound MeasureTheory.snorm_le_of_ae_nnnorm_bound
+-/
 
+#print MeasureTheory.snorm_le_of_ae_bound /-
 theorem snorm_le_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) :
     snorm f p μ ≤ μ Set.univ ^ p.toReal⁻¹ * ENNReal.ofReal C :=
   by
   rw [← mul_comm]
   exact snorm_le_of_ae_nnnorm_bound (hfC.mono fun x hx => hx.trans C.le_coe_to_nnreal)
 #align measure_theory.snorm_le_of_ae_bound MeasureTheory.snorm_le_of_ae_bound
+-/
 
+#print MeasureTheory.snorm_congr_nnnorm_ae /-
 theorem snorm_congr_nnnorm_ae {f : α → F} {g : α → G} (hfg : ∀ᵐ x ∂μ, ‖f x‖₊ = ‖g x‖₊) :
     snorm f p μ = snorm g p μ :=
   le_antisymm (snorm_mono_nnnorm_ae <| EventuallyEq.le hfg)
     (snorm_mono_nnnorm_ae <| (EventuallyEq.symm hfg).le)
 #align measure_theory.snorm_congr_nnnorm_ae MeasureTheory.snorm_congr_nnnorm_ae
+-/
 
+#print MeasureTheory.snorm_congr_norm_ae /-
 theorem snorm_congr_norm_ae {f : α → F} {g : α → G} (hfg : ∀ᵐ x ∂μ, ‖f x‖ = ‖g x‖) :
     snorm f p μ = snorm g p μ :=
   snorm_congr_nnnorm_ae <| hfg.mono fun x hx => NNReal.eq hx
 #align measure_theory.snorm_congr_norm_ae MeasureTheory.snorm_congr_norm_ae
+-/
 
+#print MeasureTheory.snorm'_norm /-
 @[simp]
 theorem snorm'_norm {f : α → F} : snorm' (fun a => ‖f a‖) q μ = snorm' f q μ := by simp [snorm']
 #align measure_theory.snorm'_norm MeasureTheory.snorm'_norm
+-/
 
+#print MeasureTheory.snorm_norm /-
 @[simp]
 theorem snorm_norm (f : α → F) : snorm (fun x => ‖f x‖) p μ = snorm f p μ :=
   snorm_congr_norm_ae <| eventually_of_forall fun x => norm_norm _
 #align measure_theory.snorm_norm MeasureTheory.snorm_norm
+-/
 
+#print MeasureTheory.snorm'_norm_rpow /-
 theorem snorm'_norm_rpow (f : α → F) (p q : ℝ) (hq_pos : 0 < q) :
     snorm' (fun x => ‖f x‖ ^ q) p μ = snorm' f (p * q) μ ^ q :=
   by
@@ -509,7 +626,9 @@ theorem snorm'_norm_rpow (f : α → F) (p q : ℝ) (hq_pos : 0 < q) :
   rw [Real.norm_eq_abs, abs_eq_self.mpr (Real.rpow_nonneg_of_nonneg (norm_nonneg _) _), mul_comm, ←
     ENNReal.ofReal_rpow_of_nonneg (norm_nonneg _) hq_pos.le, ENNReal.rpow_mul]
 #align measure_theory.snorm'_norm_rpow MeasureTheory.snorm'_norm_rpow
+-/
 
+#print MeasureTheory.snorm_norm_rpow /-
 theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
     snorm (fun x => ‖f x‖ ^ q) p μ = snorm f (p * ENNReal.ofReal q) μ ^ q :=
   by
@@ -539,52 +658,72 @@ theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
   rw [ENNReal.toReal_mul, ENNReal.toReal_ofReal hq_pos.le]
   exact snorm'_norm_rpow f p.to_real q hq_pos
 #align measure_theory.snorm_norm_rpow MeasureTheory.snorm_norm_rpow
+-/
 
+#print MeasureTheory.snorm_congr_ae /-
 theorem snorm_congr_ae {f g : α → F} (hfg : f =ᵐ[μ] g) : snorm f p μ = snorm g p μ :=
   snorm_congr_norm_ae <| hfg.mono fun x hx => hx ▸ rfl
 #align measure_theory.snorm_congr_ae MeasureTheory.snorm_congr_ae
+-/
 
+#print MeasureTheory.memℒp_congr_ae /-
 theorem memℒp_congr_ae {f g : α → E} (hfg : f =ᵐ[μ] g) : Memℒp f p μ ↔ Memℒp g p μ := by
   simp only [mem_ℒp, snorm_congr_ae hfg, aestronglyMeasurable_congr hfg]
 #align measure_theory.mem_ℒp_congr_ae MeasureTheory.memℒp_congr_ae
+-/
 
+#print MeasureTheory.Memℒp.ae_eq /-
 theorem Memℒp.ae_eq {f g : α → E} (hfg : f =ᵐ[μ] g) (hf_Lp : Memℒp f p μ) : Memℒp g p μ :=
   (memℒp_congr_ae hfg).1 hf_Lp
 #align measure_theory.mem_ℒp.ae_eq MeasureTheory.Memℒp.ae_eq
+-/
 
+#print MeasureTheory.Memℒp.of_le /-
 theorem Memℒp.of_le {f : α → E} {g : α → F} (hg : Memℒp g p μ) (hf : AEStronglyMeasurable f μ)
     (hfg : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) : Memℒp f p μ :=
   ⟨hf, (snorm_mono_ae hfg).trans_lt hg.snorm_lt_top⟩
 #align measure_theory.mem_ℒp.of_le MeasureTheory.Memℒp.of_le
+-/
 
 alias mem_ℒp.of_le ← mem_ℒp.mono
 #align measure_theory.mem_ℒp.mono MeasureTheory.Memℒp.mono
 
+#print MeasureTheory.Memℒp.mono' /-
 theorem Memℒp.mono' {f : α → E} {g : α → ℝ} (hg : Memℒp g p μ) (hf : AEStronglyMeasurable f μ)
     (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ g a) : Memℒp f p μ :=
   hg.mono hf <| h.mono fun x hx => le_trans hx (le_abs_self _)
 #align measure_theory.mem_ℒp.mono' MeasureTheory.Memℒp.mono'
+-/
 
+#print MeasureTheory.Memℒp.congr_norm /-
 theorem Memℒp.congr_norm {f : α → E} {g : α → F} (hf : Memℒp f p μ) (hg : AEStronglyMeasurable g μ)
     (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : Memℒp g p μ :=
   hf.mono hg <| EventuallyEq.le <| EventuallyEq.symm h
 #align measure_theory.mem_ℒp.congr_norm MeasureTheory.Memℒp.congr_norm
+-/
 
+#print MeasureTheory.memℒp_congr_norm /-
 theorem memℒp_congr_norm {f : α → E} {g : α → F} (hf : AEStronglyMeasurable f μ)
     (hg : AEStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : Memℒp f p μ ↔ Memℒp g p μ :=
   ⟨fun h2f => h2f.congr_norm hg h, fun h2g => h2g.congr_norm hf <| EventuallyEq.symm h⟩
 #align measure_theory.mem_ℒp_congr_norm MeasureTheory.memℒp_congr_norm
+-/
 
+#print MeasureTheory.memℒp_top_of_bound /-
 theorem memℒp_top_of_bound {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
     (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) : Memℒp f ∞ μ :=
   ⟨hf, by rw [snorm_exponent_top]; exact snorm_ess_sup_lt_top_of_ae_bound hfC⟩
 #align measure_theory.mem_ℒp_top_of_bound MeasureTheory.memℒp_top_of_bound
+-/
 
+#print MeasureTheory.Memℒp.of_bound /-
 theorem Memℒp.of_bound [IsFiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
     (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) : Memℒp f p μ :=
   (memℒp_const C).of_le hf (hfC.mono fun x hx => le_trans hx (le_abs_self _))
 #align measure_theory.mem_ℒp.of_bound MeasureTheory.Memℒp.of_bound
+-/
 
+#print MeasureTheory.snorm'_mono_measure /-
 @[mono]
 theorem snorm'_mono_measure (f : α → F) (hμν : ν ≤ μ) (hq : 0 ≤ q) : snorm' f q ν ≤ snorm' f q μ :=
   by
@@ -593,12 +732,16 @@ theorem snorm'_mono_measure (f : α → F) (hμν : ν ≤ μ) (hq : 0 ≤ q) :
   exact ENNReal.rpow_le_rpow h_integral_mono (by simp [hq])
   exact lintegral_mono' hμν le_rfl
 #align measure_theory.snorm'_mono_measure MeasureTheory.snorm'_mono_measure
+-/
 
+#print MeasureTheory.snormEssSup_mono_measure /-
 @[mono]
 theorem snormEssSup_mono_measure (f : α → F) (hμν : ν ≪ μ) : snormEssSup f ν ≤ snormEssSup f μ := by
   simp_rw [snorm_ess_sup]; exact essSup_mono_measure hμν
 #align measure_theory.snorm_ess_sup_mono_measure MeasureTheory.snormEssSup_mono_measure
+-/
 
+#print MeasureTheory.snorm_mono_measure /-
 @[mono]
 theorem snorm_mono_measure (f : α → F) (hμν : ν ≤ μ) : snorm f p ν ≤ snorm f p μ :=
   by
@@ -609,24 +752,33 @@ theorem snorm_mono_measure (f : α → F) (hμν : ν ≤ μ) : snorm f p ν ≤
   simp_rw [snorm_eq_snorm' hp0 hp_top]
   exact snorm'_mono_measure f hμν ENNReal.toReal_nonneg
 #align measure_theory.snorm_mono_measure MeasureTheory.snorm_mono_measure
+-/
 
+#print MeasureTheory.Memℒp.mono_measure /-
 theorem Memℒp.mono_measure {f : α → E} (hμν : ν ≤ μ) (hf : Memℒp f p μ) : Memℒp f p ν :=
   ⟨hf.1.mono_measure hμν, (snorm_mono_measure f hμν).trans_lt hf.2⟩
 #align measure_theory.mem_ℒp.mono_measure MeasureTheory.Memℒp.mono_measure
+-/
 
+#print MeasureTheory.Memℒp.restrict /-
 theorem Memℒp.restrict (s : Set α) {f : α → E} (hf : Memℒp f p μ) : Memℒp f p (μ.restrict s) :=
   hf.mono_measure Measure.restrict_le_self
 #align measure_theory.mem_ℒp.restrict MeasureTheory.Memℒp.restrict
+-/
 
+#print MeasureTheory.snorm'_smul_measure /-
 theorem snorm'_smul_measure {p : ℝ} (hp : 0 ≤ p) {f : α → F} (c : ℝ≥0∞) :
     snorm' f p (c • μ) = c ^ (1 / p) * snorm' f p μ := by
   rw [snorm', lintegral_smul_measure, ENNReal.mul_rpow_of_nonneg, snorm']; simp [hp]
 #align measure_theory.snorm'_smul_measure MeasureTheory.snorm'_smul_measure
+-/
 
+#print MeasureTheory.snormEssSup_smul_measure /-
 theorem snormEssSup_smul_measure {f : α → F} {c : ℝ≥0∞} (hc : c ≠ 0) :
     snormEssSup f (c • μ) = snormEssSup f μ := by simp_rw [snorm_ess_sup];
   exact essSup_smul_measure hc
 #align measure_theory.snorm_ess_sup_smul_measure MeasureTheory.snormEssSup_smul_measure
+-/
 
 /-- Use `snorm_smul_measure_of_ne_top` instead. -/
 private theorem snorm_smul_measure_of_ne_zero_of_ne_top {p : ℝ≥0∞} (hp_ne_zero : p ≠ 0)
@@ -639,6 +791,7 @@ private theorem snorm_smul_measure_of_ne_zero_of_ne_top {p : ℝ≥0∞} (hp_ne_
   simp_rw [one_div]
   rw [ENNReal.toReal_inv]
 
+#print MeasureTheory.snorm_smul_measure_of_ne_zero /-
 theorem snorm_smul_measure_of_ne_zero {p : ℝ≥0∞} {f : α → F} {c : ℝ≥0∞} (hc : c ≠ 0) :
     snorm f p (c • μ) = c ^ (1 / p).toReal • snorm f p μ :=
   by
@@ -648,7 +801,9 @@ theorem snorm_smul_measure_of_ne_zero {p : ℝ≥0∞} {f : α → F} {c : ℝ
   · simp [hp_top, snorm_ess_sup_smul_measure hc]
   exact snorm_smul_measure_of_ne_zero_of_ne_top hp0 hp_top c
 #align measure_theory.snorm_smul_measure_of_ne_zero MeasureTheory.snorm_smul_measure_of_ne_zero
+-/
 
+#print MeasureTheory.snorm_smul_measure_of_ne_top /-
 theorem snorm_smul_measure_of_ne_top {p : ℝ≥0∞} (hp_ne_top : p ≠ ∞) {f : α → F} (c : ℝ≥0∞) :
     snorm f p (c • μ) = c ^ (1 / p).toReal • snorm f p μ :=
   by
@@ -656,11 +811,15 @@ theorem snorm_smul_measure_of_ne_top {p : ℝ≥0∞} (hp_ne_top : p ≠ ∞) {f
   · simp [hp0]
   · exact snorm_smul_measure_of_ne_zero_of_ne_top hp0 hp_ne_top c
 #align measure_theory.snorm_smul_measure_of_ne_top MeasureTheory.snorm_smul_measure_of_ne_top
+-/
 
+#print MeasureTheory.snorm_one_smul_measure /-
 theorem snorm_one_smul_measure {f : α → F} (c : ℝ≥0∞) : snorm f 1 (c • μ) = c * snorm f 1 μ := by
   rw [@snorm_smul_measure_of_ne_top _ _ _ μ _ 1 (@ENNReal.coe_ne_top 1) f c]; simp
 #align measure_theory.snorm_one_smul_measure MeasureTheory.snorm_one_smul_measure
+-/
 
+#print MeasureTheory.Memℒp.of_measure_le_smul /-
 theorem Memℒp.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
     {f : α → E} (hf : Memℒp f p μ) : Memℒp f p μ' :=
   by
@@ -672,30 +831,35 @@ theorem Memℒp.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c 
   refine' ENNReal.mul_lt_top _ hf.2.Ne
   simp [hc, hc0]
 #align measure_theory.mem_ℒp.of_measure_le_smul MeasureTheory.Memℒp.of_measure_le_smul
+-/
 
+#print MeasureTheory.Memℒp.smul_measure /-
 theorem Memℒp.smul_measure {f : α → E} {c : ℝ≥0∞} (hf : Memℒp f p μ) (hc : c ≠ ∞) :
     Memℒp f p (c • μ) :=
   hf.of_measure_le_smul c hc le_rfl
 #align measure_theory.mem_ℒp.smul_measure MeasureTheory.Memℒp.smul_measure
+-/
 
-include m
-
+#print MeasureTheory.snorm_one_add_measure /-
 theorem snorm_one_add_measure (f : α → F) (μ ν : Measure α) :
     snorm f 1 (μ + ν) = snorm f 1 μ + snorm f 1 ν := by simp_rw [snorm_one_eq_lintegral_nnnorm];
   rw [lintegral_add_measure _ μ ν]
 #align measure_theory.snorm_one_add_measure MeasureTheory.snorm_one_add_measure
+-/
 
+#print MeasureTheory.snorm_le_add_measure_right /-
 theorem snorm_le_add_measure_right (f : α → F) (μ ν : Measure α) {p : ℝ≥0∞} :
     snorm f p μ ≤ snorm f p (μ + ν) :=
   snorm_mono_measure f <| Measure.le_add_right <| le_refl _
 #align measure_theory.snorm_le_add_measure_right MeasureTheory.snorm_le_add_measure_right
+-/
 
+#print MeasureTheory.snorm_le_add_measure_left /-
 theorem snorm_le_add_measure_left (f : α → F) (μ ν : Measure α) {p : ℝ≥0∞} :
     snorm f p ν ≤ snorm f p (μ + ν) :=
   snorm_mono_measure f <| Measure.le_add_left <| le_refl _
 #align measure_theory.snorm_le_add_measure_left MeasureTheory.snorm_le_add_measure_left
-
-omit m
+-/
 
 #print MeasureTheory.Memℒp.left_of_add_measure /-
 theorem Memℒp.left_of_add_measure {f : α → E} (h : Memℒp f p (μ + ν)) : Memℒp f p μ :=
@@ -715,19 +879,26 @@ theorem Memℒp.norm {f : α → E} (h : Memℒp f p μ) : Memℒp (fun x => ‖
 #align measure_theory.mem_ℒp.norm MeasureTheory.Memℒp.norm
 -/
 
+#print MeasureTheory.memℒp_norm_iff /-
 theorem memℒp_norm_iff {f : α → E} (hf : AEStronglyMeasurable f μ) :
     Memℒp (fun x => ‖f x‖) p μ ↔ Memℒp f p μ :=
   ⟨fun h => ⟨hf, by rw [← snorm_norm]; exact h.2⟩, fun h => h.norm⟩
 #align measure_theory.mem_ℒp_norm_iff MeasureTheory.memℒp_norm_iff
+-/
 
+#print MeasureTheory.snorm'_eq_zero_of_ae_zero /-
 theorem snorm'_eq_zero_of_ae_zero {f : α → F} (hq0_lt : 0 < q) (hf_zero : f =ᵐ[μ] 0) :
     snorm' f q μ = 0 := by rw [snorm'_congr_ae hf_zero, snorm'_zero hq0_lt]
 #align measure_theory.snorm'_eq_zero_of_ae_zero MeasureTheory.snorm'_eq_zero_of_ae_zero
+-/
 
+#print MeasureTheory.snorm'_eq_zero_of_ae_zero' /-
 theorem snorm'_eq_zero_of_ae_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) {f : α → F} (hf_zero : f =ᵐ[μ] 0) :
     snorm' f q μ = 0 := by rw [snorm'_congr_ae hf_zero, snorm'_zero' hq0_ne hμ]
 #align measure_theory.snorm'_eq_zero_of_ae_zero' MeasureTheory.snorm'_eq_zero_of_ae_zero'
+-/
 
+#print MeasureTheory.ae_eq_zero_of_snorm'_eq_zero /-
 theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStronglyMeasurable f μ)
     (h : snorm' f q μ = 0) : f =ᵐ[μ] 0 :=
   by
@@ -744,22 +915,30 @@ theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStro
     rw [one_div, inv_lt_zero] at h 
     exact hq0.not_lt h.right
 #align measure_theory.ae_eq_zero_of_snorm'_eq_zero MeasureTheory.ae_eq_zero_of_snorm'_eq_zero
+-/
 
+#print MeasureTheory.snorm'_eq_zero_iff /-
 theorem snorm'_eq_zero_iff (hq0_lt : 0 < q) {f : α → E} (hf : AEStronglyMeasurable f μ) :
     snorm' f q μ = 0 ↔ f =ᵐ[μ] 0 :=
   ⟨ae_eq_zero_of_snorm'_eq_zero (le_of_lt hq0_lt) hf, snorm'_eq_zero_of_ae_zero hq0_lt⟩
 #align measure_theory.snorm'_eq_zero_iff MeasureTheory.snorm'_eq_zero_iff
+-/
 
+#print MeasureTheory.coe_nnnorm_ae_le_snormEssSup /-
 theorem coe_nnnorm_ae_le_snormEssSup {m : MeasurableSpace α} (f : α → F) (μ : Measure α) :
     ∀ᵐ x ∂μ, (‖f x‖₊ : ℝ≥0∞) ≤ snormEssSup f μ :=
   ENNReal.ae_le_essSup fun x => (‖f x‖₊ : ℝ≥0∞)
 #align measure_theory.coe_nnnorm_ae_le_snorm_ess_sup MeasureTheory.coe_nnnorm_ae_le_snormEssSup
+-/
 
+#print MeasureTheory.snormEssSup_eq_zero_iff /-
 @[simp]
 theorem snormEssSup_eq_zero_iff {f : α → F} : snormEssSup f μ = 0 ↔ f =ᵐ[μ] 0 := by
   simp [eventually_eq, snorm_ess_sup]
 #align measure_theory.snorm_ess_sup_eq_zero_iff MeasureTheory.snormEssSup_eq_zero_iff
+-/
 
+#print MeasureTheory.snorm_eq_zero_iff /-
 theorem snorm_eq_zero_iff {f : α → E} (hf : AEStronglyMeasurable f μ) (h0 : p ≠ 0) :
     snorm f p μ = 0 ↔ f =ᵐ[μ] 0 := by
   by_cases h_top : p = ∞
@@ -767,7 +946,9 @@ theorem snorm_eq_zero_iff {f : α → E} (hf : AEStronglyMeasurable f μ) (h0 :
   rw [snorm_eq_snorm' h0 h_top]
   exact snorm'_eq_zero_iff (ENNReal.toReal_pos h0 h_top) hf
 #align measure_theory.snorm_eq_zero_iff MeasureTheory.snorm_eq_zero_iff
+-/
 
+#print MeasureTheory.snorm'_add_le /-
 theorem snorm'_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (hq1 : 1 ≤ q) : snorm' (f + g) q μ ≤ snorm' f q μ + snorm' g q μ :=
   calc
@@ -779,7 +960,9 @@ theorem snorm'_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
       simp [← ENNReal.coe_add, nnnorm_add_le]
     _ ≤ snorm' f q μ + snorm' g q μ := ENNReal.lintegral_Lp_add_le hf.ennnorm hg.ennnorm hq1
 #align measure_theory.snorm'_add_le MeasureTheory.snorm'_add_le
+-/
 
+#print MeasureTheory.snorm'_add_le_of_le_one /-
 theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ) (hq0 : 0 ≤ q)
     (hq1 : q ≤ 1) : snorm' (f + g) q μ ≤ 2 ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
   calc
@@ -792,7 +975,9 @@ theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ
     _ ≤ 2 ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
       ENNReal.lintegral_Lp_add_le_of_le_one hf.ennnorm hq0 hq1
 #align measure_theory.snorm'_add_le_of_le_one MeasureTheory.snorm'_add_le_of_le_one
+-/
 
+#print MeasureTheory.snormEssSup_add_le /-
 theorem snormEssSup_add_le {f g : α → F} :
     snormEssSup (f + g) μ ≤ snormEssSup f μ + snormEssSup g μ :=
   by
@@ -800,7 +985,9 @@ theorem snormEssSup_add_le {f g : α → F} :
   simp_rw [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe]
   exact nnnorm_add_le _ _
 #align measure_theory.snorm_ess_sup_add_le MeasureTheory.snormEssSup_add_le
+-/
 
+#print MeasureTheory.snorm_add_le /-
 theorem snorm_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (hp1 : 1 ≤ p) : snorm (f + g) p μ ≤ snorm f p μ + snorm g p μ :=
   by
@@ -813,6 +1000,7 @@ theorem snorm_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AES
   repeat' rw [snorm_eq_snorm' hp0 hp_top]
   exact snorm'_add_le hf hg hp1_real
 #align measure_theory.snorm_add_le MeasureTheory.snorm_add_le
+-/
 
 #print MeasureTheory.LpAddConst /-
 /-- A constant for the inequality `‖f + g‖_{L^p} ≤ C * (‖f‖_{L^p} + ‖g‖_{L^p})`. It is equal to `1`
@@ -822,12 +1010,14 @@ def LpAddConst (p : ℝ≥0∞) : ℝ≥0∞ :=
 #align measure_theory.Lp_add_const MeasureTheory.LpAddConst
 -/
 
+#print MeasureTheory.LpAddConst_of_one_le /-
 theorem LpAddConst_of_one_le {p : ℝ≥0∞} (hp : 1 ≤ p) : LpAddConst p = 1 :=
   by
   rw [Lp_add_const, if_neg]
   intro h
   exact lt_irrefl _ (h.2.trans_le hp)
 #align measure_theory.Lp_add_const_of_one_le MeasureTheory.LpAddConst_of_one_le
+-/
 
 #print MeasureTheory.LpAddConst_zero /-
 theorem LpAddConst_zero : LpAddConst 0 = 1 :=
@@ -838,6 +1028,7 @@ theorem LpAddConst_zero : LpAddConst 0 = 1 :=
 #align measure_theory.Lp_add_const_zero MeasureTheory.LpAddConst_zero
 -/
 
+#print MeasureTheory.LpAddConst_lt_top /-
 theorem LpAddConst_lt_top (p : ℝ≥0∞) : LpAddConst p < ∞ :=
   by
   rw [Lp_add_const]
@@ -848,7 +1039,9 @@ theorem LpAddConst_lt_top (p : ℝ≥0∞) : LpAddConst p < ∞ :=
     simpa using ENNReal.toReal_mono ENNReal.one_ne_top h.2.le
   · exact ENNReal.one_lt_top
 #align measure_theory.Lp_add_const_lt_top MeasureTheory.LpAddConst_lt_top
+-/
 
+#print MeasureTheory.snorm_add_le' /-
 theorem snorm_add_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (p : ℝ≥0∞) : snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
   by
@@ -863,9 +1056,11 @@ theorem snorm_add_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
   · simp [Lp_add_const_of_one_le h'p]
     exact snorm_add_le hf hg h'p
 #align measure_theory.snorm_add_le' MeasureTheory.snorm_add_le'
+-/
 
 variable (μ E)
 
+#print MeasureTheory.exists_Lp_half /-
 /-- Technical lemma to control the addition of functions in `L^p` even for `p < 1`: Given `δ > 0`,
 there exists `η` such that two functions bounded by `η` in `L^p` have a sum bounded by `δ`. One
 could take `η = δ / 2` for `p ≥ 1`, but the point of the lemma is that it works also for `p < 1`.
@@ -889,9 +1084,11 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
     _ ≤ Lp_add_const p * (η + η) := (mul_le_mul_of_nonneg_left (add_le_add Hf Hg) bot_le)
     _ < δ := hη
 #align measure_theory.exists_Lp_half MeasureTheory.exists_Lp_half
+-/
 
 variable {μ E}
 
+#print MeasureTheory.snorm_sub_le' /-
 theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (p : ℝ≥0∞) : snorm (f - g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
   calc
@@ -908,12 +1105,16 @@ theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
       (snorm_add_le' hf.norm hg.norm p)
     _ = LpAddConst p * (snorm f p μ + snorm g p μ) := by rw [← snorm_norm f, ← snorm_norm g]
 #align measure_theory.snorm_sub_le' MeasureTheory.snorm_sub_le'
+-/
 
+#print MeasureTheory.snorm_sub_le /-
 theorem snorm_sub_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (hp : 1 ≤ p) : snorm (f - g) p μ ≤ snorm f p μ + snorm g p μ := by
   simpa [Lp_add_const_of_one_le hp] using snorm_sub_le' hf hg p
 #align measure_theory.snorm_sub_le MeasureTheory.snorm_sub_le
+-/
 
+#print MeasureTheory.snorm_add_lt_top /-
 theorem snorm_add_lt_top {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) :
     snorm (f + g) p μ < ∞ :=
   calc
@@ -923,21 +1124,24 @@ theorem snorm_add_lt_top {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g
       apply ENNReal.mul_lt_top (Lp_add_const_lt_top p).Ne
       exact (ENNReal.add_lt_top.2 ⟨hf.2, hg.2⟩).Ne
 #align measure_theory.snorm_add_lt_top MeasureTheory.snorm_add_lt_top
+-/
 
+#print MeasureTheory.ae_le_snormEssSup /-
 theorem ae_le_snormEssSup {f : α → F} : ∀ᵐ y ∂μ, ↑‖f y‖₊ ≤ snormEssSup f μ :=
   ae_le_essSup
 #align measure_theory.ae_le_snorm_ess_sup MeasureTheory.ae_le_snormEssSup
+-/
 
+#print MeasureTheory.meas_snormEssSup_lt /-
 theorem meas_snormEssSup_lt {f : α → F} : μ {y | snormEssSup f μ < ‖f y‖₊} = 0 :=
   meas_essSup_lt
 #align measure_theory.meas_snorm_ess_sup_lt MeasureTheory.meas_snormEssSup_lt
+-/
 
 section MapMeasure
 
 variable {β : Type _} {mβ : MeasurableSpace β} {f : α → β} {g : β → E}
 
-include mβ
-
 #print MeasureTheory.snormEssSup_map_measure /-
 theorem snormEssSup_map_measure (hg : AEStronglyMeasurable g (Measure.map f μ))
     (hf : AEMeasurable f μ) : snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
@@ -966,11 +1170,14 @@ theorem memℒp_map_measure_iff (hg : AEStronglyMeasurable g (Measure.map f μ))
 #align measure_theory.mem_ℒp_map_measure_iff MeasureTheory.memℒp_map_measure_iff
 -/
 
+#print MeasurableEmbedding.snormEssSup_map_measure /-
 theorem MeasurableEmbedding.snormEssSup_map_measure {g : β → F} (hf : MeasurableEmbedding f) :
     snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
   hf.essSup_map_measure
 #align measurable_embedding.snorm_ess_sup_map_measure MeasurableEmbedding.snormEssSup_map_measure
+-/
 
+#print MeasurableEmbedding.snorm_map_measure /-
 theorem MeasurableEmbedding.snorm_map_measure {g : β → F} (hf : MeasurableEmbedding f) :
     snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ :=
   by
@@ -982,23 +1189,27 @@ theorem MeasurableEmbedding.snorm_map_measure {g : β → F} (hf : MeasurableEmb
   · simp_rw [snorm_eq_lintegral_rpow_nnnorm hp_zero hp]
     rw [hf.lintegral_map]
 #align measurable_embedding.snorm_map_measure MeasurableEmbedding.snorm_map_measure
+-/
 
+#print MeasurableEmbedding.memℒp_map_measure_iff /-
 theorem MeasurableEmbedding.memℒp_map_measure_iff {g : β → F} (hf : MeasurableEmbedding f) :
     Memℒp g p (Measure.map f μ) ↔ Memℒp (g ∘ f) p μ := by
   simp_rw [mem_ℒp, hf.ae_strongly_measurable_map_iff, hf.snorm_map_measure]
 #align measurable_embedding.mem_ℒp_map_measure_iff MeasurableEmbedding.memℒp_map_measure_iff
+-/
 
+#print MeasurableEquiv.memℒp_map_measure_iff /-
 theorem MeasurableEquiv.memℒp_map_measure_iff (f : α ≃ᵐ β) {g : β → F} :
     Memℒp g p (Measure.map f μ) ↔ Memℒp (g ∘ f) p μ :=
   f.MeasurableEmbedding.memℒp_map_measure_iff
 #align measurable_equiv.mem_ℒp_map_measure_iff MeasurableEquiv.memℒp_map_measure_iff
-
-omit mβ
+-/
 
 end MapMeasure
 
 section Trim
 
+#print MeasureTheory.snorm'_trim /-
 theorem snorm'_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m] f) :
     snorm' f q (ν.trim hm) = snorm' f q ν :=
   by
@@ -1009,7 +1220,9 @@ theorem snorm'_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m]
   apply @strongly_measurable.measurable
   exact @strongly_measurable.nnnorm α m _ _ _ hf
 #align measure_theory.snorm'_trim MeasureTheory.snorm'_trim
+-/
 
+#print MeasureTheory.limsup_trim /-
 theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m] f) :
     (ν.trim hm).ae.limsup f = ν.ae.limsup f :=
   by
@@ -1023,16 +1236,22 @@ theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m]
   refine' @MeasurableSet.compl _ _ m (@measurableSet_le ℝ≥0∞ _ _ _ _ m _ _ _ _ _ hf _)
   exact @measurable_const _ _ _ m _
 #align measure_theory.limsup_trim MeasureTheory.limsup_trim
+-/
 
+#print MeasureTheory.essSup_trim /-
 theorem essSup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m] f) :
     essSup f (ν.trim hm) = essSup f ν := by simp_rw [essSup]; exact limsup_trim hm hf
 #align measure_theory.ess_sup_trim MeasureTheory.essSup_trim
+-/
 
+#print MeasureTheory.snormEssSup_trim /-
 theorem snormEssSup_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m] f) :
     snormEssSup f (ν.trim hm) = snormEssSup f ν :=
   essSup_trim _ (@StronglyMeasurable.ennnorm _ m _ _ _ hf)
 #align measure_theory.snorm_ess_sup_trim MeasureTheory.snormEssSup_trim
+-/
 
+#print MeasureTheory.snorm_trim /-
 theorem snorm_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m] f) :
     snorm f p (ν.trim hm) = snorm f p ν :=
   by
@@ -1042,25 +1261,33 @@ theorem snorm_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m] f
   · simpa only [h_top, snorm_exponent_top] using snorm_ess_sup_trim hm hf
   simpa only [snorm_eq_snorm' h0 h_top] using snorm'_trim hm hf
 #align measure_theory.snorm_trim MeasureTheory.snorm_trim
+-/
 
+#print MeasureTheory.snorm_trim_ae /-
 theorem snorm_trim_ae (hm : m ≤ m0) {f : α → E} (hf : AEStronglyMeasurable f (ν.trim hm)) :
     snorm f p (ν.trim hm) = snorm f p ν :=
   by
   rw [snorm_congr_ae hf.ae_eq_mk, snorm_congr_ae (ae_eq_of_ae_eq_trim hf.ae_eq_mk)]
   exact snorm_trim hm hf.strongly_measurable_mk
 #align measure_theory.snorm_trim_ae MeasureTheory.snorm_trim_ae
+-/
 
+#print MeasureTheory.memℒp_of_memℒp_trim /-
 theorem memℒp_of_memℒp_trim (hm : m ≤ m0) {f : α → E} (hf : Memℒp f p (ν.trim hm)) : Memℒp f p ν :=
   ⟨aestronglyMeasurable_of_aestronglyMeasurable_trim hm hf.1,
     (le_of_eq (snorm_trim_ae hm hf.1).symm).trans_lt hf.2⟩
 #align measure_theory.mem_ℒp_of_mem_ℒp_trim MeasureTheory.memℒp_of_memℒp_trim
+-/
 
 end Trim
 
+#print MeasureTheory.snorm'_neg /-
 @[simp]
 theorem snorm'_neg {f : α → F} : snorm' (-f) q μ = snorm' f q μ := by simp [snorm']
 #align measure_theory.snorm'_neg MeasureTheory.snorm'_neg
+-/
 
+#print MeasureTheory.snorm_neg /-
 @[simp]
 theorem snorm_neg {f : α → F} : snorm (-f) p μ = snorm f p μ :=
   by
@@ -1070,15 +1297,21 @@ theorem snorm_neg {f : α → F} : snorm (-f) p μ = snorm f p μ :=
   · simp [h_top, snorm_ess_sup]
   simp [snorm_eq_snorm' h0 h_top]
 #align measure_theory.snorm_neg MeasureTheory.snorm_neg
+-/
 
+#print MeasureTheory.Memℒp.neg /-
 theorem Memℒp.neg {f : α → E} (hf : Memℒp f p μ) : Memℒp (-f) p μ :=
   ⟨AEStronglyMeasurable.neg hf.1, by simp [hf.right]⟩
 #align measure_theory.mem_ℒp.neg MeasureTheory.Memℒp.neg
+-/
 
+#print MeasureTheory.memℒp_neg_iff /-
 theorem memℒp_neg_iff {f : α → E} : Memℒp (-f) p μ ↔ Memℒp f p μ :=
   ⟨fun h => neg_neg f ▸ h.neg, Memℒp.neg⟩
 #align measure_theory.mem_ℒp_neg_iff MeasureTheory.memℒp_neg_iff
+-/
 
+#print MeasureTheory.snorm'_le_snorm'_mul_rpow_measure_univ /-
 theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq : p ≤ q) {f : α → E}
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) :=
   by
@@ -1102,7 +1335,9 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
       ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm aemeasurable_const
     _ = (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * μ Set.univ ^ (1 / p - 1 / q) := by simp [hpqr]
 #align measure_theory.snorm'_le_snorm'_mul_rpow_measure_univ MeasureTheory.snorm'_le_snorm'_mul_rpow_measure_univ
+-/
 
+#print MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ /-
 theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α → F} :
     snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q) :=
   by
@@ -1117,7 +1352,9 @@ theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α →
   refine' ENNReal.rpow_le_rpow _ (by simp [hq_pos.le])
   rwa [lintegral_const] at h_le 
 #align measure_theory.snorm'_le_snorm_ess_sup_mul_rpow_measure_univ MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
+-/
 
+#print MeasureTheory.snorm_le_snorm_mul_rpow_measure_univ /-
 theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q) {f : α → E}
     (hf : AEStronglyMeasurable f μ) :
     snorm f p μ ≤ snorm f q μ * μ Set.univ ^ (1 / p.toReal - 1 / q.toReal) :=
@@ -1145,7 +1382,9 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
   have hpq_real : p.to_real ≤ q.to_real := by rwa [ENNReal.toReal_le_toReal hp_lt_top.ne hq_top]
   exact snorm'_le_snorm'_mul_rpow_measure_univ hp_pos hpq_real hf
 #align measure_theory.snorm_le_snorm_mul_rpow_measure_univ MeasureTheory.snorm_le_snorm_mul_rpow_measure_univ
+-/
 
+#print MeasureTheory.snorm'_le_snorm'_of_exponent_le /-
 theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp0_lt : 0 < p)
     (hpq : p ≤ q) (μ : Measure α) [IsProbabilityMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ :=
@@ -1153,17 +1392,23 @@ theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp
   have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
   rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ 
 #align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
+-/
 
+#print MeasureTheory.snorm'_le_snormEssSup /-
 theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [IsProbabilityMeasure μ] :
     snorm' f q μ ≤ snormEssSup f μ :=
   le_trans (snorm'_le_snormEssSup_mul_rpow_measure_univ hq_pos) (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm'_le_snorm_ess_sup MeasureTheory.snorm'_le_snormEssSup
+-/
 
+#print MeasureTheory.snorm_le_snorm_of_exponent_le /-
 theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [IsProbabilityMeasure μ]
     {f : α → E} (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
   (snorm_le_snorm_mul_rpow_measure_univ hpq hf).trans (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm_le_snorm_of_exponent_le MeasureTheory.snorm_le_snorm_of_exponent_le
+-/
 
+#print MeasureTheory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le /-
 theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) (hfq_lt_top : snorm' f q μ < ∞) (hp_nonneg : 0 ≤ p)
     (hpq : p ≤ q) : snorm' f p μ < ∞ :=
@@ -1180,9 +1425,11 @@ theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasu
       refine' Or.inl ⟨hfq_lt_top, ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)⟩
       rwa [le_sub_comm, sub_zero, one_div, one_div, inv_le_inv hq_pos hp_pos]
 #align measure_theory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le MeasureTheory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le
+-/
 
 variable (μ)
 
+#print MeasureTheory.pow_mul_meas_ge_le_snorm /-
 theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
     (ε * μ {x | ε ≤ ‖f x‖₊ ^ p.toReal}) ^ (1 / p.toReal) ≤ snorm f p μ :=
@@ -1192,7 +1439,9 @@ theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
     ENNReal.rpow_le_rpow (mul_meas_ge_le_lintegral₀ (hf.ennnorm.pow_const _) ε)
       (one_div_nonneg.2 ENNReal.toReal_nonneg)
 #align measure_theory.pow_mul_meas_ge_le_snorm MeasureTheory.pow_mul_meas_ge_le_snorm
+-/
 
+#print MeasureTheory.mul_meas_ge_le_pow_snorm /-
 theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
     ε * μ {x | ε ≤ ‖f x‖₊ ^ p.toReal} ≤ snorm f p μ ^ p.toReal :=
@@ -1207,7 +1456,9 @@ theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
     ENNReal.rpow_le_rpow (pow_mul_meas_ge_le_snorm μ hp_ne_zero hp_ne_top hf ε)
       ENNReal.toReal_nonneg
 #align measure_theory.mul_meas_ge_le_pow_snorm MeasureTheory.mul_meas_ge_le_pow_snorm
+-/
 
+#print MeasureTheory.mul_meas_ge_le_pow_snorm' /-
 /-- A version of Markov's inequality using Lp-norms. -/
 theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
@@ -1217,7 +1468,9 @@ theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_t
   ext x
   rw [ENNReal.rpow_le_rpow_iff (ENNReal.toReal_pos hp_ne_zero hp_ne_top)]
 #align measure_theory.mul_meas_ge_le_pow_snorm' MeasureTheory.mul_meas_ge_le_pow_snorm'
+-/
 
+#print MeasureTheory.meas_ge_le_mul_pow_snorm /-
 theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) :
     μ {x | ε ≤ ‖f x‖₊} ≤ ε⁻¹ ^ p.toReal * snorm f p μ ^ p.toReal :=
@@ -1230,9 +1483,11 @@ theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
     ENNReal.mul_inv_cancel hεpow hεpow', one_mul]
   exact mul_meas_ge_le_pow_snorm' μ hp_ne_zero hp_ne_top hf ε
 #align measure_theory.meas_ge_le_mul_pow_snorm MeasureTheory.meas_ge_le_mul_pow_snorm
+-/
 
 variable {μ}
 
+#print MeasureTheory.Memℒp.memℒp_of_exponent_le /-
 theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
     (hpq : p ≤ q) : Memℒp f p μ :=
   by
@@ -1262,9 +1517,11 @@ theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {
   rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top 
   exact snorm'_lt_top_of_snorm'_lt_top_of_exponent_le hfq_m hfq_lt_top (le_of_lt hp_pos) hpq_real
 #align measure_theory.mem_ℒp.mem_ℒp_of_exponent_le MeasureTheory.Memℒp.memℒp_of_exponent_le
+-/
 
 section MeasurableAdd
 
+#print MeasureTheory.snorm'_sum_le /-
 -- variable [has_measurable_add₂ E]
 theorem snorm'_sum_le {ι} {f : ι → α → E} {s : Finset ι}
     (hfs : ∀ i, i ∈ s → AEStronglyMeasurable (f i) μ) (hq1 : 1 ≤ q) :
@@ -1273,7 +1530,9 @@ theorem snorm'_sum_le {ι} {f : ι → α → E} {s : Finset ι}
     (fun f => AEStronglyMeasurable f μ) (snorm'_zero (zero_lt_one.trans_le hq1))
     (fun f g hf hg => snorm'_add_le hf hg hq1) (fun f g hf hg => hf.add hg) _ hfs
 #align measure_theory.snorm'_sum_le MeasureTheory.snorm'_sum_le
+-/
 
+#print MeasureTheory.snorm_sum_le /-
 theorem snorm_sum_le {ι} {f : ι → α → E} {s : Finset ι}
     (hfs : ∀ i, i ∈ s → AEStronglyMeasurable (f i) μ) (hp1 : 1 ≤ p) :
     snorm (∑ i in s, f i) p μ ≤ ∑ i in s, snorm (f i) p μ :=
@@ -1281,14 +1540,19 @@ theorem snorm_sum_le {ι} {f : ι → α → E} {s : Finset ι}
     (fun f => AEStronglyMeasurable f μ) snorm_zero (fun f g hf hg => snorm_add_le hf hg hp1)
     (fun f g hf hg => hf.add hg) _ hfs
 #align measure_theory.snorm_sum_le MeasureTheory.snorm_sum_le
+-/
 
+#print MeasureTheory.Memℒp.add /-
 theorem Memℒp.add {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f + g) p μ :=
   ⟨AEStronglyMeasurable.add hf.1 hg.1, snorm_add_lt_top hf hg⟩
 #align measure_theory.mem_ℒp.add MeasureTheory.Memℒp.add
+-/
 
+#print MeasureTheory.Memℒp.sub /-
 theorem Memℒp.sub {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f - g) p μ := by
   rw [sub_eq_add_neg]; exact hf.add hg.neg
 #align measure_theory.mem_ℒp.sub MeasureTheory.Memℒp.sub
+-/
 
 #print MeasureTheory.memℒp_finset_sum /-
 theorem memℒp_finset_sum {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
@@ -1317,6 +1581,7 @@ end MeasurableAdd
 
 section Monotonicity
 
+#print MeasureTheory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul /-
 theorem snorm'_le_nnreal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) {p : ℝ} (hp : 0 < p) : snorm' f p μ ≤ c • snorm' g p μ :=
   by
@@ -1330,7 +1595,9 @@ theorem snorm'_le_nnreal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G}
   simp_rw [ENNReal.coe_le_coe, ← NNReal.mul_rpow, NNReal.rpow_le_rpow_iff hp]
   exact h
 #align measure_theory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul MeasureTheory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul
+-/
 
+#print MeasureTheory.snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul /-
 theorem snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) : snormEssSup f μ ≤ c • snormEssSup g μ :=
   calc
@@ -1339,7 +1606,9 @@ theorem snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g :
     _ = essSup (fun x => (c * ‖g x‖₊ : ℝ≥0∞)) μ := by simp_rw [ENNReal.coe_mul]
     _ = c • essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ := ENNReal.essSup_const_mul
 #align measure_theory.snorm_ess_sup_le_nnreal_smul_snorm_ess_sup_of_ae_le_mul MeasureTheory.snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
+-/
 
+#print MeasureTheory.snorm_le_nnreal_smul_snorm_of_ae_le_mul /-
 theorem snorm_le_nnreal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) (p : ℝ≥0∞) : snorm f p μ ≤ c • snorm g p μ :=
   by
@@ -1351,6 +1620,7 @@ theorem snorm_le_nnreal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c
   simp_rw [snorm_eq_snorm' h0 h_top]
   exact snorm'_le_nnreal_smul_snorm'_of_ae_le_mul h (ENNReal.toReal_pos h0 h_top)
 #align measure_theory.snorm_le_nnreal_smul_snorm_of_ae_le_mul MeasureTheory.snorm_le_nnreal_smul_snorm_of_ae_le_mul
+-/
 
 -- TODO: add the whole family of lemmas?
 private theorem le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg {α} [LinearOrderedSemiring α]
@@ -1364,6 +1634,7 @@ private theorem le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg {α} [LinearOrdere
   · rintro ⟨rfl, rfl⟩
     rw [MulZeroClass.mul_zero]
 
+#print MeasureTheory.snorm_eq_zero_and_zero_of_ae_le_mul_neg /-
 /-- When `c` is negative, `‖f x‖ ≤ c * ‖g x‖` is nonsense and forces both `f` and `g` to have an
 `snorm` of `0`. -/
 theorem snorm_eq_zero_and_zero_of_ae_le_mul_neg {f : α → F} {g : α → G} {c : ℝ}
@@ -1374,27 +1645,35 @@ theorem snorm_eq_zero_and_zero_of_ae_le_mul_neg {f : α → F} {g : α → G} {c
   change f =ᵐ[μ] 0 ∧ g =ᵐ[μ] 0 at h 
   simp [snorm_congr_ae h.1, snorm_congr_ae h.2]
 #align measure_theory.snorm_eq_zero_and_zero_of_ae_le_mul_neg MeasureTheory.snorm_eq_zero_and_zero_of_ae_le_mul_neg
+-/
 
+#print MeasureTheory.snorm_le_mul_snorm_of_ae_le_mul /-
 theorem snorm_le_mul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ}
     (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖g x‖) (p : ℝ≥0∞) : snorm f p μ ≤ ENNReal.ofReal c * snorm g p μ :=
   snorm_le_nnreal_smul_snorm_of_ae_le_mul
     (h.mono fun x hx => hx.trans <| mul_le_mul_of_nonneg_right c.le_coe_toNNReal (norm_nonneg _)) _
 #align measure_theory.snorm_le_mul_snorm_of_ae_le_mul MeasureTheory.snorm_le_mul_snorm_of_ae_le_mul
+-/
 
+#print MeasureTheory.Memℒp.of_nnnorm_le_mul /-
 theorem Memℒp.of_nnnorm_le_mul {f : α → E} {g : α → F} {c : ℝ≥0} (hg : Memℒp g p μ)
     (hf : AEStronglyMeasurable f μ) (hfg : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) : Memℒp f p μ :=
   ⟨hf,
     (snorm_le_nnreal_smul_snorm_of_ae_le_mul hfg p).trans_lt <|
       ENNReal.mul_lt_top ENNReal.coe_ne_top hg.snorm_ne_top⟩
 #align measure_theory.mem_ℒp.of_nnnorm_le_mul MeasureTheory.Memℒp.of_nnnorm_le_mul
+-/
 
+#print MeasureTheory.Memℒp.of_le_mul /-
 theorem Memℒp.of_le_mul {f : α → E} {g : α → F} {c : ℝ} (hg : Memℒp g p μ)
     (hf : AEStronglyMeasurable f μ) (hfg : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖g x‖) : Memℒp f p μ :=
   ⟨hf,
     (snorm_le_mul_snorm_of_ae_le_mul hfg p).trans_lt <|
       ENNReal.mul_lt_top ENNReal.ofReal_ne_top hg.snorm_ne_top⟩
 #align measure_theory.mem_ℒp.of_le_mul MeasureTheory.Memℒp.of_le_mul
+-/
 
+#print MeasureTheory.snorm'_le_snorm'_mul_snorm' /-
 theorem snorm'_le_snorm'_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStronglyMeasurable f μ)
     {g : α → F} (hg : AEStronglyMeasurable g μ) (b : E → F → G)
     (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) (hp0_lt : 0 < p) (hpq : p < q)
@@ -1412,7 +1691,9 @@ theorem snorm'_le_snorm'_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStrongl
   simp_rw [snorm', ENNReal.coe_mul]
   exact ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm hg.ennnorm
 #align measure_theory.snorm'_le_snorm'_mul_snorm' MeasureTheory.snorm'_le_snorm'_mul_snorm'
+-/
 
+#print MeasureTheory.snorm_le_snorm_top_mul_snorm /-
 theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α → F}
     (hg : AEStronglyMeasurable g μ) (b : E → F → G)
     (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) :
@@ -1455,7 +1736,9 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       rw [Ne.def, ENNReal.toReal_eq_zero_iff, Auto.not_or_eq]
       exact ⟨hp_zero, hp_top⟩
 #align measure_theory.snorm_le_snorm_top_mul_snorm MeasureTheory.snorm_le_snorm_top_mul_snorm
+-/
 
+#print MeasureTheory.snorm_le_snorm_mul_snorm_top /-
 theorem snorm_le_snorm_mul_snorm_top (p : ℝ≥0∞) {f : α → E} (hf : AEStronglyMeasurable f μ)
     (g : α → F) (b : E → F → G) (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) :
     snorm (fun x => b (f x) (g x)) p μ ≤ snorm f p μ * snorm g ∞ μ :=
@@ -1467,7 +1750,9 @@ theorem snorm_le_snorm_mul_snorm_top (p : ℝ≥0∞) {f : α → E} (hf : AEStr
   refine' snorm_le_snorm_top_mul_snorm p (fun x => ‖g x‖) hf.norm _ (h.mono fun x hx => _)
   simp_rw [nnnorm_mul]
 #align measure_theory.snorm_le_snorm_mul_snorm_top MeasureTheory.snorm_le_snorm_mul_snorm_top
+-/
 
+#print MeasureTheory.snorm_le_snorm_mul_snorm_of_nnnorm /-
 /-- Hölder's inequality, as an inequality on the `ℒp` seminorm of an elementwise operation
 `λ x, b (f x) (g x)`. -/
 theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
@@ -1512,7 +1797,9 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
   · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
   · simp only [hr_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
 #align measure_theory.snorm_le_snorm_mul_snorm_of_nnnorm MeasureTheory.snorm_le_snorm_mul_snorm_of_nnnorm
+-/
 
+#print MeasureTheory.snorm_le_snorm_mul_snorm'_of_norm /-
 /-- Hölder's inequality, as an inequality on the `ℒp` seminorm of an elementwise operation
 `λ x, b (f x) (g x)`. -/
 theorem snorm_le_snorm_mul_snorm'_of_norm {p q r : ℝ≥0∞} {f : α → E} (hf : AEStronglyMeasurable f μ)
@@ -1521,6 +1808,7 @@ theorem snorm_le_snorm_mul_snorm'_of_norm {p q r : ℝ≥0∞} {f : α → E} (h
     snorm (fun x => b (f x) (g x)) p μ ≤ snorm f q μ * snorm g r μ :=
   snorm_le_snorm_mul_snorm_of_nnnorm hf hg b h hpqr
 #align measure_theory.snorm_le_snorm_mul_snorm'_of_norm MeasureTheory.snorm_le_snorm_mul_snorm'_of_norm
+-/
 
 end Monotonicity
 
@@ -1537,51 +1825,68 @@ variable {𝕜 : Type _} [NormedRing 𝕜] [MulActionWithZero 𝕜 E] [MulAction
 
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
+#print MeasureTheory.snorm'_const_smul_le /-
 theorem snorm'_const_smul_le (c : 𝕜) (f : α → F) (hq_pos : 0 < q) :
     snorm' (c • f) q μ ≤ ‖c‖₊ • snorm' f q μ :=
   snorm'_le_nnreal_smul_snorm'_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _)
     hq_pos
 #align measure_theory.snorm'_const_smul_le MeasureTheory.snorm'_const_smul_le
+-/
 
+#print MeasureTheory.snormEssSup_const_smul_le /-
 theorem snormEssSup_const_smul_le (c : 𝕜) (f : α → F) :
     snormEssSup (c • f) μ ≤ ‖c‖₊ • snormEssSup f μ :=
   snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
     (eventually_of_forall fun a => nnnorm_smul_le _ _)
 #align measure_theory.snorm_ess_sup_const_smul_le MeasureTheory.snormEssSup_const_smul_le
+-/
 
+#print MeasureTheory.snorm_const_smul_le /-
 theorem snorm_const_smul_le (c : 𝕜) (f : α → F) : snorm (c • f) p μ ≤ ‖c‖₊ • snorm f p μ :=
   snorm_le_nnreal_smul_snorm_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _) _
 #align measure_theory.snorm_const_smul_le MeasureTheory.snorm_const_smul_le
+-/
 
+#print MeasureTheory.Memℒp.const_smul /-
 theorem Memℒp.const_smul {f : α → E} (hf : Memℒp f p μ) (c : 𝕜) : Memℒp (c • f) p μ :=
   ⟨AEStronglyMeasurable.const_smul hf.1 c,
     (snorm_const_smul_le c f).trans_lt (ENNReal.mul_lt_top ENNReal.coe_ne_top hf.2.Ne)⟩
 #align measure_theory.mem_ℒp.const_smul MeasureTheory.Memℒp.const_smul
+-/
 
+#print MeasureTheory.Memℒp.const_mul /-
 theorem Memℒp.const_mul {R} [NormedRing R] {f : α → R} (hf : Memℒp f p μ) (c : R) :
     Memℒp (fun x => c * f x) p μ :=
   hf.const_smul c
 #align measure_theory.mem_ℒp.const_mul MeasureTheory.Memℒp.const_mul
+-/
 
+#print MeasureTheory.snorm'_smul_le_mul_snorm' /-
 theorem snorm'_smul_le_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStronglyMeasurable f μ)
     {φ : α → 𝕜} (hφ : AEStronglyMeasurable φ μ) (hp0_lt : 0 < p) (hpq : p < q)
     (hpqr : 1 / p = 1 / q + 1 / r) : snorm' (φ • f) p μ ≤ snorm' φ q μ * snorm' f r μ :=
   snorm'_le_snorm'_mul_snorm' hφ hf (· • ·) (eventually_of_forall fun a => nnnorm_smul_le _ _)
     hp0_lt hpq hpqr
 #align measure_theory.snorm'_smul_le_mul_snorm' MeasureTheory.snorm'_smul_le_mul_snorm'
+-/
 
+#print MeasureTheory.snorm_smul_le_snorm_top_mul_snorm /-
 theorem snorm_smul_le_snorm_top_mul_snorm (p : ℝ≥0∞) {f : α → E} (hf : AEStronglyMeasurable f μ)
     (φ : α → 𝕜) : snorm (φ • f) p μ ≤ snorm φ ∞ μ * snorm f p μ :=
   (snorm_le_snorm_top_mul_snorm p φ hf (· • ·) (eventually_of_forall fun a => nnnorm_smul_le _ _) :
     _)
 #align measure_theory.snorm_smul_le_snorm_top_mul_snorm MeasureTheory.snorm_smul_le_snorm_top_mul_snorm
+-/
 
+#print MeasureTheory.snorm_smul_le_snorm_mul_snorm_top /-
 theorem snorm_smul_le_snorm_mul_snorm_top (p : ℝ≥0∞) (f : α → E) {φ : α → 𝕜}
     (hφ : AEStronglyMeasurable φ μ) : snorm (φ • f) p μ ≤ snorm φ p μ * snorm f ∞ μ :=
   (snorm_le_snorm_mul_snorm_top p hφ f (· • ·) (eventually_of_forall fun a => nnnorm_smul_le _ _) :
     _)
 #align measure_theory.snorm_smul_le_snorm_mul_snorm_top MeasureTheory.snorm_smul_le_snorm_mul_snorm_top
+-/
 
+#print MeasureTheory.snorm_smul_le_mul_snorm /-
 /-- Hölder's inequality, as an inequality on the `ℒp` seminorm of a scalar product `φ • f`. -/
 theorem snorm_smul_le_mul_snorm {p q r : ℝ≥0∞} {f : α → E} (hf : AEStronglyMeasurable f μ)
     {φ : α → 𝕜} (hφ : AEStronglyMeasurable φ μ) (hpqr : 1 / p = 1 / q + 1 / r) :
@@ -1590,23 +1895,30 @@ theorem snorm_smul_le_mul_snorm {p q r : ℝ≥0∞} {f : α → E} (hf : AEStro
       (eventually_of_forall fun a => nnnorm_smul_le _ _) hpqr :
     _)
 #align measure_theory.snorm_smul_le_mul_snorm MeasureTheory.snorm_smul_le_mul_snorm
+-/
 
+#print MeasureTheory.Memℒp.smul /-
 theorem Memℒp.smul {p q r : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f r μ) (hφ : Memℒp φ q μ)
     (hpqr : 1 / p = 1 / q + 1 / r) : Memℒp (φ • f) p μ :=
   ⟨hφ.1.smul hf.1,
     (snorm_smul_le_mul_snorm hf.1 hφ.1 hpqr).trans_lt
       (ENNReal.mul_lt_top hφ.snorm_ne_top hf.snorm_ne_top)⟩
 #align measure_theory.mem_ℒp.smul MeasureTheory.Memℒp.smul
+-/
 
+#print MeasureTheory.Memℒp.smul_of_top_right /-
 theorem Memℒp.smul_of_top_right {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f p μ)
     (hφ : Memℒp φ ∞ μ) : Memℒp (φ • f) p μ := by apply hf.smul hφ;
   simp only [ENNReal.div_top, zero_add]
 #align measure_theory.mem_ℒp.smul_of_top_right MeasureTheory.Memℒp.smul_of_top_right
+-/
 
+#print MeasureTheory.Memℒp.smul_of_top_left /-
 theorem Memℒp.smul_of_top_left {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f ∞ μ)
     (hφ : Memℒp φ p μ) : Memℒp (φ • f) p μ := by apply hf.smul hφ;
   simp only [ENNReal.div_top, add_zero]
 #align measure_theory.mem_ℒp.smul_of_top_left MeasureTheory.Memℒp.smul_of_top_left
+-/
 
 end BoundedSMul
 
@@ -1623,6 +1935,7 @@ variable {𝕜 : Type _} [NormedDivisionRing 𝕜] [MulActionWithZero 𝕜 E] [M
 
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
+#print MeasureTheory.snorm'_const_smul /-
 theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
     snorm' (c • f) q μ = ‖c‖₊ • snorm' f q μ :=
   by
@@ -1632,12 +1945,16 @@ theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
   have : snorm' _ q μ ≤ _ := snorm'_const_smul_le c⁻¹ (c • f) hq_pos
   rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
 #align measure_theory.snorm'_const_smul MeasureTheory.snorm'_const_smul
+-/
 
+#print MeasureTheory.snormEssSup_const_smul /-
 theorem snormEssSup_const_smul (c : 𝕜) (f : α → F) :
     snormEssSup (c • f) μ = (‖c‖₊ : ℝ≥0∞) * snormEssSup f μ := by
   simp_rw [snorm_ess_sup, Pi.smul_apply, nnnorm_smul, ENNReal.coe_mul, ENNReal.essSup_const_mul]
 #align measure_theory.snorm_ess_sup_const_smul MeasureTheory.snormEssSup_const_smul
+-/
 
+#print MeasureTheory.snorm_const_smul /-
 theorem snorm_const_smul (c : 𝕜) (f : α → F) : snorm (c • f) p μ = (‖c‖₊ : ℝ≥0∞) * snorm f p μ :=
   by
   obtain rfl | hc := eq_or_ne c 0
@@ -1646,9 +1963,11 @@ theorem snorm_const_smul (c : 𝕜) (f : α → F) : snorm (c • f) p μ = (‖
   have : snorm _ p μ ≤ _ := snorm_const_smul_le c⁻¹ (c • f)
   rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
 #align measure_theory.snorm_const_smul MeasureTheory.snorm_const_smul
+-/
 
 end NormedSpace
 
+#print MeasureTheory.snorm_indicator_ge_of_bdd_below /-
 theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α → F} (C : ℝ≥0) {s : Set α}
     (hs : MeasurableSet s) (hf : ∀ᵐ x ∂μ, x ∈ s → C ≤ ‖s.indicator f x‖₊) :
     C • μ s ^ (1 / p.toReal) ≤ snorm (s.indicator f) p μ :=
@@ -1666,11 +1985,13 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
     exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 (hx hxs)) ENNReal.toReal_nonneg
   · simp [Set.indicator_of_not_mem hxs]
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
+-/
 
 section IsROrC
 
 variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
 
+#print MeasureTheory.Memℒp.re /-
 theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p μ :=
   by
   have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
@@ -1678,7 +1999,9 @@ theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_re.comp_ae_strongly_measurable hf.1
 #align measure_theory.mem_ℒp.re MeasureTheory.Memℒp.re
+-/
 
+#print MeasureTheory.Memℒp.im /-
 theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.im (f x)) p μ :=
   by
   have : ∀ x, ‖IsROrC.im (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
@@ -1686,6 +2009,7 @@ theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.im (f x)) p
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_im.comp_ae_strongly_measurable hf.1
 #align measure_theory.mem_ℒp.im MeasureTheory.Memℒp.im
+-/
 
 end IsROrC
 
@@ -1693,6 +2017,7 @@ section Liminf
 
 variable [MeasurableSpace E] [OpensMeasurableSpace E] {R : ℝ≥0}
 
+#print MeasureTheory.ae_bdd_liminf_atTop_rpow_of_snorm_bdd /-
 theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α → E}
     (hfmeas : ∀ n, Measurable (f n)) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
     ∀ᵐ x ∂μ, liminf (fun n => (‖f n x‖₊ ^ p.toReal : ℝ≥0∞)) atTop < ∞ :=
@@ -1717,8 +2042,10 @@ theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α 
     sSup_le fun b ⟨a, ha⟩ =>
       (ha a le_rfl).trans ((ENNReal.rpow_one_div_le_iff (ENNReal.toReal_pos hp hp')).1 (hbdd _))
 #align measure_theory.ae_bdd_liminf_at_top_rpow_of_snorm_bdd MeasureTheory.ae_bdd_liminf_atTop_rpow_of_snorm_bdd
+-/
 
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:69:18: unsupported non-interactive tactic filter.is_bounded_default -/
+#print MeasureTheory.ae_bdd_liminf_atTop_of_snorm_bdd /-
 theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : ℕ → α → E}
     (hfmeas : ∀ n, Measurable (f n)) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
     ∀ᵐ x ∂μ, liminf (fun n => (‖f n x‖₊ : ℝ≥0∞)) atTop < ∞ :=
@@ -1750,6 +2077,7 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
     ENNReal.rpow_mul]
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.2 hppos.le) hx.ne
 #align measure_theory.ae_bdd_liminf_at_top_of_snorm_bdd MeasureTheory.ae_bdd_liminf_atTop_of_snorm_bdd
+-/
 
 end Liminf
 
Diff
@@ -130,7 +130,7 @@ theorem Memℒp.aestronglyMeasurable {f : α → E} {p : ℝ≥0∞} (h : Memℒ
 -/
 
 theorem lintegral_rpow_nnnorm_eq_rpow_snorm' {f : α → F} (hq0_lt : 0 < q) :
-    (∫⁻ a, ‖f a‖₊ ^ q ∂μ) = snorm' f q μ ^ q :=
+    ∫⁻ a, ‖f a‖₊ ^ q ∂μ = snorm' f q μ ^ q :=
   by
   rw [snorm', ← ENNReal.rpow_mul, one_div, inv_mul_cancel, ENNReal.rpow_one]
   exact (ne_of_lt hq0_lt).symm
@@ -149,14 +149,14 @@ theorem Memℒp.snorm_ne_top {f : α → E} (hfp : Memℒp f p μ) : snorm f p 
 #align measure_theory.mem_ℒp.snorm_ne_top MeasureTheory.Memℒp.snorm_ne_top
 
 theorem lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top {f : α → F} (hq0_lt : 0 < q)
-    (hfq : snorm' f q μ < ∞) : (∫⁻ a, ‖f a‖₊ ^ q ∂μ) < ∞ :=
+    (hfq : snorm' f q μ < ∞) : ∫⁻ a, ‖f a‖₊ ^ q ∂μ < ∞ :=
   by
   rw [lintegral_rpow_nnnorm_eq_rpow_snorm' hq0_lt]
   exact ENNReal.rpow_lt_top_of_nonneg (le_of_lt hq0_lt) (ne_of_lt hfq)
 #align measure_theory.lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top
 
 theorem lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top {f : α → F} (hp_ne_zero : p ≠ 0)
-    (hp_ne_top : p ≠ ∞) (hfp : snorm f p μ < ∞) : (∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ) < ∞ :=
+    (hp_ne_top : p ≠ ∞) (hfp : snorm f p μ < ∞) : ∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ < ∞ :=
   by
   apply lintegral_rpow_nnnorm_lt_top_of_snorm'_lt_top
   · exact ENNReal.toReal_pos hp_ne_zero hp_ne_top
@@ -164,7 +164,7 @@ theorem lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top {f : α → F} (hp_ne_zero
 #align measure_theory.lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top MeasureTheory.lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top
 
 theorem snorm_lt_top_iff_lintegral_rpow_nnnorm_lt_top {f : α → F} (hp_ne_zero : p ≠ 0)
-    (hp_ne_top : p ≠ ∞) : snorm f p μ < ∞ ↔ (∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ) < ∞ :=
+    (hp_ne_top : p ≠ ∞) : snorm f p μ < ∞ ↔ ∫⁻ a, ‖f a‖₊ ^ p.toReal ∂μ < ∞ :=
   ⟨lintegral_rpow_nnnorm_lt_top_of_snorm_lt_top hp_ne_zero hp_ne_top,
     by
     intro h
@@ -589,7 +589,7 @@ theorem Memℒp.of_bound [IsFiniteMeasure μ] {f : α → E} (hf : AEStronglyMea
 theorem snorm'_mono_measure (f : α → F) (hμν : ν ≤ μ) (hq : 0 ≤ q) : snorm' f q ν ≤ snorm' f q μ :=
   by
   simp_rw [snorm']
-  suffices h_integral_mono : (∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ q ∂ν) ≤ ∫⁻ a, ‖f a‖₊ ^ q ∂μ
+  suffices h_integral_mono : ∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ q ∂ν ≤ ∫⁻ a, ‖f a‖₊ ^ q ∂μ
   exact ENNReal.rpow_le_rpow h_integral_mono (by simp [hq])
   exact lintegral_mono' hμν le_rfl
 #align measure_theory.snorm'_mono_measure MeasureTheory.snorm'_mono_measure
@@ -1088,8 +1088,7 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
     exact le_rfl
   have hpq : p < q := lt_of_le_of_ne hpq hpq_eq
   let g := fun a : α => (1 : ℝ≥0∞)
-  have h_rw : (∫⁻ a, ↑‖f a‖₊ ^ p ∂μ) = ∫⁻ a, (‖f a‖₊ * g a) ^ p ∂μ :=
-    lintegral_congr fun a => by simp
+  have h_rw : ∫⁻ a, ↑‖f a‖₊ ^ p ∂μ = ∫⁻ a, (‖f a‖₊ * g a) ^ p ∂μ := lintegral_congr fun a => by simp
   repeat' rw [snorm']
   rw [h_rw]
   let r := p * q / (q - p)
@@ -1107,7 +1106,7 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
 theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α → F} :
     snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q) :=
   by
-  have h_le : (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ≤ ∫⁻ a : α, snorm_ess_sup f μ ^ q ∂μ :=
+  have h_le : ∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ ≤ ∫⁻ a : α, snorm_ess_sup f μ ^ q ∂μ :=
     by
     refine' lintegral_mono_ae _
     have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snorm_ess_sup f μ
Diff
@@ -778,7 +778,6 @@ theorem snorm'_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
       refine' lintegral_mono fun a => ENNReal.rpow_le_rpow _ (le_trans zero_le_one hq1)
       simp [← ENNReal.coe_add, nnnorm_add_le]
     _ ≤ snorm' f q μ + snorm' g q μ := ENNReal.lintegral_Lp_add_le hf.ennnorm hg.ennnorm hq1
-    
 #align measure_theory.snorm'_add_le MeasureTheory.snorm'_add_le
 
 theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ) (hq0 : 0 ≤ q)
@@ -792,7 +791,6 @@ theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ
       simp [← ENNReal.coe_add, nnnorm_add_le]
     _ ≤ 2 ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
       ENNReal.lintegral_Lp_add_le_of_le_one hf.ennnorm hq0 hq1
-    
 #align measure_theory.snorm'_add_le_of_le_one MeasureTheory.snorm'_add_le_of_le_one
 
 theorem snormEssSup_add_le {f g : α → F} :
@@ -890,7 +888,6 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
     snorm (f + g) p μ ≤ Lp_add_const p * (snorm f p μ + snorm g p μ) := snorm_add_le' hf hg p
     _ ≤ Lp_add_const p * (η + η) := (mul_le_mul_of_nonneg_left (add_le_add Hf Hg) bot_le)
     _ < δ := hη
-    
 #align measure_theory.exists_Lp_half MeasureTheory.exists_Lp_half
 
 variable {μ E}
@@ -910,7 +907,6 @@ theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
     _ ≤ LpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) :=
       (snorm_add_le' hf.norm hg.norm p)
     _ = LpAddConst p * (snorm f p μ + snorm g p μ) := by rw [← snorm_norm f, ← snorm_norm g]
-    
 #align measure_theory.snorm_sub_le' MeasureTheory.snorm_sub_le'
 
 theorem snorm_sub_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
@@ -926,7 +922,6 @@ theorem snorm_add_lt_top {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g
     _ < ∞ := by
       apply ENNReal.mul_lt_top (Lp_add_const_lt_top p).Ne
       exact (ENNReal.add_lt_top.2 ⟨hf.2, hg.2⟩).Ne
-    
 #align measure_theory.snorm_add_lt_top MeasureTheory.snorm_add_lt_top
 
 theorem ae_le_snormEssSup {f : α → F} : ∀ᵐ y ∂μ, ↑‖f y‖₊ ≤ snormEssSup f μ :=
@@ -1107,7 +1102,6 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
         (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * (∫⁻ a : α, g a ^ r ∂μ) ^ (1 / r) :=
       ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm aemeasurable_const
     _ = (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * μ Set.univ ^ (1 / p - 1 / q) := by simp [hpqr]
-    
 #align measure_theory.snorm'_le_snorm'_mul_rpow_measure_univ MeasureTheory.snorm'_le_snorm'_mul_rpow_measure_univ
 
 theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α → F} :
@@ -1186,7 +1180,6 @@ theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasu
       rw [ENNReal.mul_lt_top_iff]
       refine' Or.inl ⟨hfq_lt_top, ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)⟩
       rwa [le_sub_comm, sub_zero, one_div, one_div, inv_le_inv hq_pos hp_pos]
-    
 #align measure_theory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le MeasureTheory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le
 
 variable (μ)
@@ -1346,7 +1339,6 @@ theorem snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g :
       essSup_mono_ae <| h.mono fun x hx => ENNReal.coe_le_coe.mpr hx
     _ = essSup (fun x => (c * ‖g x‖₊ : ℝ≥0∞)) μ := by simp_rw [ENNReal.coe_mul]
     _ = c • essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ := ENNReal.essSup_const_mul
-    
 #align measure_theory.snorm_ess_sup_le_nnreal_smul_snorm_ess_sup_of_ae_le_mul MeasureTheory.snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
 
 theorem snorm_le_nnreal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
@@ -1418,7 +1410,6 @@ theorem snorm'_le_snorm'_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStrongl
         lintegral_mono_ae <|
           h.mono fun a ha => (ENNReal.rpow_le_rpow_iff hp0_lt).mpr <| ennreal.coe_le_coe.mpr <| ha
     _ ≤ _ := _
-    
   simp_rw [snorm', ENNReal.coe_mul]
   exact ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm hg.ennnorm
 #align measure_theory.snorm'_le_snorm'_mul_snorm' MeasureTheory.snorm'_le_snorm'_mul_snorm'
@@ -1464,7 +1455,6 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       rw [← ENNReal.rpow_mul, one_div, mul_inv_cancel, ENNReal.rpow_one]
       rw [Ne.def, ENNReal.toReal_eq_zero_iff, Auto.not_or_eq]
       exact ⟨hp_zero, hp_top⟩
-    
 #align measure_theory.snorm_le_snorm_top_mul_snorm MeasureTheory.snorm_le_snorm_top_mul_snorm
 
 theorem snorm_le_snorm_mul_snorm_top (p : ℝ≥0∞) {f : α → E} (hf : AEStronglyMeasurable f μ)
Diff
@@ -276,7 +276,7 @@ theorem snorm'_const (c : F) (hq_pos : 0 < q) :
   rw [one_div, mul_inv_cancel (ne_of_lt hq_pos).symm]
 #align measure_theory.snorm'_const MeasureTheory.snorm'_const
 
-theorem snorm'_const' [FiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_zero : q ≠ 0) :
+theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_zero : q ≠ 0) :
     snorm' (fun x : α => c) q μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / q) :=
   by
   rw [snorm', lintegral_const, ENNReal.mul_rpow_of_ne_top _ (measure_ne_top μ Set.univ)]
@@ -295,9 +295,9 @@ theorem snormEssSup_const (c : F) (hμ : μ ≠ 0) : snormEssSup (fun x : α =>
   by rw [snorm_ess_sup, essSup_const _ hμ]
 #align measure_theory.snorm_ess_sup_const MeasureTheory.snormEssSup_const
 
-theorem snorm'_const_of_probabilityMeasure (c : F) (hq_pos : 0 < q) [ProbabilityMeasure μ] :
+theorem snorm'_const_of_isProbabilityMeasure (c : F) (hq_pos : 0 < q) [IsProbabilityMeasure μ] :
     snorm' (fun x : α => c) q μ = (‖c‖₊ : ℝ≥0∞) := by simp [snorm'_const c hq_pos, measure_univ]
-#align measure_theory.snorm'_const_of_is_probability_measure MeasureTheory.snorm'_const_of_probabilityMeasure
+#align measure_theory.snorm'_const_of_is_probability_measure MeasureTheory.snorm'_const_of_isProbabilityMeasure
 
 theorem snorm_const (c : F) (h0 : p ≠ 0) (hμ : μ ≠ 0) :
     snorm (fun x : α => c) p μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / ENNReal.toReal p) :=
@@ -333,7 +333,7 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.mpr hp.le) hμ_top
 #align measure_theory.snorm_const_lt_top_iff MeasureTheory.snorm_const_lt_top_iff
 
-theorem memℒp_const (c : E) [FiniteMeasure μ] : Memℒp (fun a : α => c) p μ :=
+theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun a : α => c) p μ :=
   by
   refine' ⟨ae_strongly_measurable_const, _⟩
   by_cases h0 : p = 0
@@ -580,7 +580,7 @@ theorem memℒp_top_of_bound {f : α → E} (hf : AEStronglyMeasurable f μ) (C
   ⟨hf, by rw [snorm_exponent_top]; exact snorm_ess_sup_lt_top_of_ae_bound hfC⟩
 #align measure_theory.mem_ℒp_top_of_bound MeasureTheory.memℒp_top_of_bound
 
-theorem Memℒp.of_bound [FiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
+theorem Memℒp.of_bound [IsFiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
     (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) : Memℒp f p μ :=
   (memℒp_const C).of_le hf (hfC.mono fun x hx => le_trans hx (le_abs_self _))
 #align measure_theory.mem_ℒp.of_bound MeasureTheory.Memℒp.of_bound
@@ -933,7 +933,7 @@ theorem ae_le_snormEssSup {f : α → F} : ∀ᵐ y ∂μ, ↑‖f y‖₊ ≤ s
   ae_le_essSup
 #align measure_theory.ae_le_snorm_ess_sup MeasureTheory.ae_le_snormEssSup
 
-theorem meas_snormEssSup_lt {f : α → F} : μ { y | snormEssSup f μ < ‖f y‖₊ } = 0 :=
+theorem meas_snormEssSup_lt {f : α → F} : μ {y | snormEssSup f μ < ‖f y‖₊} = 0 :=
   meas_essSup_lt
 #align measure_theory.meas_snorm_ess_sup_lt MeasureTheory.meas_snormEssSup_lt
 
@@ -1019,10 +1019,10 @@ theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m]
     (ν.trim hm).ae.limsup f = ν.ae.limsup f :=
   by
   simp_rw [limsup_eq]
-  suffices h_set_eq : { a : ℝ≥0∞ | ∀ᵐ n ∂ν.trim hm, f n ≤ a } = { a : ℝ≥0∞ | ∀ᵐ n ∂ν, f n ≤ a }
+  suffices h_set_eq : {a : ℝ≥0∞ | ∀ᵐ n ∂ν.trim hm, f n ≤ a} = {a : ℝ≥0∞ | ∀ᵐ n ∂ν, f n ≤ a}
   · rw [h_set_eq]
   ext1 a
-  suffices h_meas_eq : ν { x | ¬f x ≤ a } = ν.trim hm { x | ¬f x ≤ a }
+  suffices h_meas_eq : ν {x | ¬f x ≤ a} = ν.trim hm {x | ¬f x ≤ a}
   · simp_rw [Set.mem_setOf_eq, ae_iff, h_meas_eq]
   refine' (trim_measurable_set_eq hm _).symm
   refine' @MeasurableSet.compl _ _ m (@measurableSet_le ℝ≥0∞ _ _ _ _ m _ _ _ _ _ hf _)
@@ -1154,24 +1154,24 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
 #align measure_theory.snorm_le_snorm_mul_rpow_measure_univ MeasureTheory.snorm_le_snorm_mul_rpow_measure_univ
 
 theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp0_lt : 0 < p)
-    (hpq : p ≤ q) (μ : Measure α) [ProbabilityMeasure μ] {f : α → E}
+    (hpq : p ≤ q) (μ : Measure α) [IsProbabilityMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ :=
   by
   have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
   rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ 
 #align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
 
-theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [ProbabilityMeasure μ] :
+theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [IsProbabilityMeasure μ] :
     snorm' f q μ ≤ snormEssSup f μ :=
   le_trans (snorm'_le_snormEssSup_mul_rpow_measure_univ hq_pos) (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm'_le_snorm_ess_sup MeasureTheory.snorm'_le_snormEssSup
 
-theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [ProbabilityMeasure μ] {f : α → E}
-    (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
+theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [IsProbabilityMeasure μ]
+    {f : α → E} (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
   (snorm_le_snorm_mul_rpow_measure_univ hpq hf).trans (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm_le_snorm_of_exponent_le MeasureTheory.snorm_le_snorm_of_exponent_le
 
-theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [FiniteMeasure μ] {f : α → E}
+theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) (hfq_lt_top : snorm' f q μ < ∞) (hp_nonneg : 0 ≤ p)
     (hpq : p ≤ q) : snorm' f p μ < ∞ :=
   by
@@ -1193,7 +1193,7 @@ variable (μ)
 
 theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    (ε * μ { x | ε ≤ ‖f x‖₊ ^ p.toReal }) ^ (1 / p.toReal) ≤ snorm f p μ :=
+    (ε * μ {x | ε ≤ ‖f x‖₊ ^ p.toReal}) ^ (1 / p.toReal) ≤ snorm f p μ :=
   by
   rw [snorm_eq_lintegral_rpow_nnnorm hp_ne_zero hp_ne_top]
   exact
@@ -1203,14 +1203,14 @@ theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
 
 theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    ε * μ { x | ε ≤ ‖f x‖₊ ^ p.toReal } ≤ snorm f p μ ^ p.toReal :=
+    ε * μ {x | ε ≤ ‖f x‖₊ ^ p.toReal} ≤ snorm f p μ ^ p.toReal :=
   by
   have : 1 / p.to_real * p.to_real = 1 :=
     by
     refine' one_div_mul_cancel _
     rw [Ne, ENNReal.toReal_eq_zero_iff]
     exact not_or_of_not hp_ne_zero hp_ne_top
-  rw [← ENNReal.rpow_one (ε * μ { x | ε ≤ ‖f x‖₊ ^ p.to_real }), ← this, ENNReal.rpow_mul]
+  rw [← ENNReal.rpow_one (ε * μ {x | ε ≤ ‖f x‖₊ ^ p.to_real}), ← this, ENNReal.rpow_mul]
   exact
     ENNReal.rpow_le_rpow (pow_mul_meas_ge_le_snorm μ hp_ne_zero hp_ne_top hf ε)
       ENNReal.toReal_nonneg
@@ -1219,7 +1219,7 @@ theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
 /-- A version of Markov's inequality using Lp-norms. -/
 theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    ε ^ p.toReal * μ { x | ε ≤ ‖f x‖₊ } ≤ snorm f p μ ^ p.toReal :=
+    ε ^ p.toReal * μ {x | ε ≤ ‖f x‖₊} ≤ snorm f p μ ^ p.toReal :=
   by
   convert mul_meas_ge_le_pow_snorm μ hp_ne_zero hp_ne_top hf (ε ^ p.to_real)
   ext x
@@ -1228,7 +1228,7 @@ theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_t
 
 theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) :
-    μ { x | ε ≤ ‖f x‖₊ } ≤ ε⁻¹ ^ p.toReal * snorm f p μ ^ p.toReal :=
+    μ {x | ε ≤ ‖f x‖₊} ≤ ε⁻¹ ^ p.toReal * snorm f p μ ^ p.toReal :=
   by
   by_cases ε = ∞
   · simp [h]
@@ -1241,7 +1241,7 @@ theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
 
 variable {μ}
 
-theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [FiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
+theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
     (hpq : p ≤ q) : Memℒp f p μ :=
   by
   cases' hfq with hfq_m hfq_lt_top
@@ -1453,7 +1453,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       refine' ENNReal.rpow_le_rpow _ _
       swap; · rw [one_div_nonneg]; exact ENNReal.toReal_nonneg
       refine' lintegral_mono_ae _
-      filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => ↑‖f x‖₊]with x hx
+      filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => ↑‖f x‖₊] with x hx
       exact mul_le_mul_right' (ENNReal.rpow_le_rpow hx ENNReal.toReal_nonneg) _
     _ = essSup (fun x => ↑‖f x‖₊) μ * (∫⁻ x, ↑‖g x‖₊ ^ p.to_real ∂μ) ^ (1 / p.to_real) :=
       by
@@ -1670,7 +1670,7 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
     one_div_mul_cancel (ENNReal.toReal_pos hp hp').Ne.symm, ENNReal.rpow_one, ← set_lintegral_const,
     ← lintegral_indicator _ hs]
   refine' lintegral_mono_ae _
-  filter_upwards [hf]with x hx
+  filter_upwards [hf] with x hx
   rw [nnnorm_indicator_eq_indicator_nnnorm]
   by_cases hxs : x ∈ s
   · simp only [Set.indicator_of_mem hxs] at hx ⊢
@@ -1741,10 +1741,10 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
       ae_lt_of_essSup_lt
         (lt_of_le_of_lt (hbdd n) <| ENNReal.lt_add_right ENNReal.coe_ne_top one_ne_zero)
     rw [← ae_all_iff] at this 
-    filter_upwards [this]with x hx using lt_of_le_of_lt
-        (liminf_le_of_frequently_le' <| frequently_of_forall fun n => (hx n).le)
+    filter_upwards [this] with x hx using
+      lt_of_le_of_lt (liminf_le_of_frequently_le' <| frequently_of_forall fun n => (hx n).le)
         (ENNReal.add_lt_top.2 ⟨ENNReal.coe_lt_top, ENNReal.one_lt_top⟩)
-  filter_upwards [ae_bdd_liminf_at_top_rpow_of_snorm_bdd hfmeas hbdd]with x hx
+  filter_upwards [ae_bdd_liminf_at_top_rpow_of_snorm_bdd hfmeas hbdd] with x hx
   have hppos : 0 < p.to_real := ENNReal.toReal_pos hp hp'
   have :
     liminf (fun n => (‖f n x‖₊ ^ p.to_real : ℝ≥0∞)) at_top =
Diff
@@ -217,7 +217,7 @@ theorem snorm_zero : snorm (0 : α → F) p μ = 0 :=
   · simp [h0]
   by_cases h_top : p = ∞
   · simp only [h_top, snorm_exponent_top, snorm_ess_sup_zero]
-  rw [← Ne.def] at h0
+  rw [← Ne.def] at h0 
   simp [snorm_eq_snorm' h0 h_top, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_zero MeasureTheory.snorm_zero
 
@@ -258,7 +258,7 @@ theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 :=
   · simp [h0]
   by_cases h_top : p = ∞
   · simp [h_top]
-  rw [← Ne.def] at h0
+  rw [← Ne.def] at h0 
   simp [snorm_eq_snorm' h0 h_top, snorm', ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_measure_zero MeasureTheory.snorm_measure_zero
 
@@ -731,17 +731,17 @@ theorem snorm'_eq_zero_of_ae_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) {f : α 
 theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStronglyMeasurable f μ)
     (h : snorm' f q μ = 0) : f =ᵐ[μ] 0 :=
   by
-  rw [snorm', ENNReal.rpow_eq_zero_iff] at h
+  rw [snorm', ENNReal.rpow_eq_zero_iff] at h 
   cases h
-  · rw [lintegral_eq_zero_iff' (hf.ennnorm.pow_const q)] at h
+  · rw [lintegral_eq_zero_iff' (hf.ennnorm.pow_const q)] at h 
     refine' h.left.mono fun x hx => _
-    rw [Pi.zero_apply, ENNReal.rpow_eq_zero_iff] at hx
+    rw [Pi.zero_apply, ENNReal.rpow_eq_zero_iff] at hx 
     cases hx
     · cases' hx with hx _
-      rwa [← ENNReal.coe_zero, ENNReal.coe_eq_coe, nnnorm_eq_zero] at hx
+      rwa [← ENNReal.coe_zero, ENNReal.coe_eq_coe, nnnorm_eq_zero] at hx 
     · exact absurd hx.left ENNReal.coe_ne_top
   · exfalso
-    rw [one_div, inv_lt_zero] at h
+    rw [one_div, inv_lt_zero] at h 
     exact hq0.not_lt h.right
 #align measure_theory.ae_eq_zero_of_snorm'_eq_zero MeasureTheory.ae_eq_zero_of_snorm'_eq_zero
 
@@ -883,7 +883,7 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
     (ENNReal.Tendsto.const_mul (tendsto_id.add tendsto_id)
           (Or.inr (Lp_add_const_lt_top p).Ne)).mono_left
       nhdsWithin_le_nhds
-  simp only [add_zero, MulZeroClass.mul_zero] at this
+  simp only [add_zero, MulZeroClass.mul_zero] at this 
   rcases(((tendsto_order.1 this).2 δ hδ.bot_lt).And self_mem_nhdsWithin).exists with ⟨η, hη, ηpos⟩
   refine' ⟨η, ηpos, fun f g hf hg Hf Hg => _⟩
   calc
@@ -1122,7 +1122,7 @@ theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α →
   nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
   rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
   refine' ENNReal.rpow_le_rpow _ (by simp [hq_pos.le])
-  rwa [lintegral_const] at h_le
+  rwa [lintegral_const] at h_le 
 #align measure_theory.snorm'_le_snorm_ess_sup_mul_rpow_measure_univ MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
 
 theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q) {f : α → E}
@@ -1131,7 +1131,7 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
   by
   by_cases hp0 : p = 0
   · simp [hp0, zero_le]
-  rw [← Ne.def] at hp0
+  rw [← Ne.def] at hp0 
   have hp0_lt : 0 < p := lt_of_le_of_ne (zero_le _) hp0.symm
   have hq0_lt : 0 < q := lt_of_lt_of_le hp0_lt hpq
   by_cases hq_top : q = ∞
@@ -1158,7 +1158,7 @@ theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ :=
   by
   have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
-  rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ
+  rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ 
 #align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
 
 theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [ProbabilityMeasure μ] :
@@ -1247,27 +1247,27 @@ theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [FiniteMeasure μ] {f
   cases' hfq with hfq_m hfq_lt_top
   by_cases hp0 : p = 0
   · rwa [hp0, mem_ℒp_zero_iff_ae_strongly_measurable]
-  rw [← Ne.def] at hp0
+  rw [← Ne.def] at hp0 
   refine' ⟨hfq_m, _⟩
   by_cases hp_top : p = ∞
-  · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq
+  · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq 
     rw [hp_top]
-    rwa [hq_top] at hfq_lt_top
+    rwa [hq_top] at hfq_lt_top 
   have hp_pos : 0 < p.to_real := ENNReal.toReal_pos hp0 hp_top
   by_cases hq_top : q = ∞
   · rw [snorm_eq_snorm' hp0 hp_top]
-    rw [hq_top, snorm_exponent_top] at hfq_lt_top
+    rw [hq_top, snorm_exponent_top] at hfq_lt_top 
     refine' lt_of_le_of_lt (snorm'_le_snorm_ess_sup_mul_rpow_measure_univ hp_pos) _
     refine' ENNReal.mul_lt_top hfq_lt_top.ne _
     exact (ENNReal.rpow_lt_top_of_nonneg (by simp [hp_pos.le]) (measure_ne_top μ Set.univ)).Ne
   have hq0 : q ≠ 0 := by
     by_contra hq_eq_zero
-    have hp_eq_zero : p = 0 := le_antisymm (by rwa [hq_eq_zero] at hpq) (zero_le _)
-    rw [hp_eq_zero, ENNReal.zero_toReal] at hp_pos
+    have hp_eq_zero : p = 0 := le_antisymm (by rwa [hq_eq_zero] at hpq ) (zero_le _)
+    rw [hp_eq_zero, ENNReal.zero_toReal] at hp_pos 
     exact (lt_irrefl _) hp_pos
   have hpq_real : p.to_real ≤ q.to_real := by rwa [ENNReal.toReal_le_toReal hp_top hq_top]
   rw [snorm_eq_snorm' hp0 hp_top]
-  rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top
+  rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top 
   exact snorm'_lt_top_of_snorm'_lt_top_of_exponent_le hfq_m hfq_lt_top (le_of_lt hp_pos) hpq_real
 #align measure_theory.mem_ℒp.mem_ℒp_of_exponent_le MeasureTheory.Memℒp.memℒp_of_exponent_le
 
@@ -1379,8 +1379,8 @@ theorem snorm_eq_zero_and_zero_of_ae_le_mul_neg {f : α → F} {g : α → G} {c
     (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖g x‖) (hc : c < 0) (p : ℝ≥0∞) : snorm f p μ = 0 ∧ snorm g p μ = 0 :=
   by
   simp_rw [le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg (norm_nonneg _) hc (norm_nonneg _),
-    norm_eq_zero, eventually_and] at h
-  change f =ᵐ[μ] 0 ∧ g =ᵐ[μ] 0 at h
+    norm_eq_zero, eventually_and] at h 
+  change f =ᵐ[μ] 0 ∧ g =ᵐ[μ] 0 at h 
   simp [snorm_congr_ae h.1, snorm_congr_ae h.2]
 #align measure_theory.snorm_eq_zero_and_zero_of_ae_le_mul_neg MeasureTheory.snorm_eq_zero_and_zero_of_ae_le_mul_neg
 
@@ -1490,11 +1490,11 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
   · simp [hp_zero]
   have hq_ne_zero : q ≠ 0 := by
     intro hq_zero
-    simp only [hq_zero, hp_zero, one_div, ENNReal.inv_zero, top_add, ENNReal.inv_eq_top] at hpqr
+    simp only [hq_zero, hp_zero, one_div, ENNReal.inv_zero, top_add, ENNReal.inv_eq_top] at hpqr 
     exact hpqr
   have hr_ne_zero : r ≠ 0 := by
     intro hr_zero
-    simp only [hr_zero, hp_zero, one_div, ENNReal.inv_zero, add_top, ENNReal.inv_eq_top] at hpqr
+    simp only [hr_zero, hp_zero, one_div, ENNReal.inv_zero, add_top, ENNReal.inv_eq_top] at hpqr 
     exact hpqr
   by_cases hq_top : q = ∞
   · have hpr : p = r := by
@@ -1508,7 +1508,7 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
     exact snorm_le_snorm_mul_snorm_top p hf g b h
   have hpq : p < q :=
     by
-    suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this
+    suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this 
     rw [hpqr]
     refine' ENNReal.lt_add_right _ _
     · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
@@ -1641,7 +1641,7 @@ theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
   · simp [snorm', hq_pos]
   refine' le_antisymm (snorm'_const_smul_le _ _ hq_pos) _
   have : snorm' _ q μ ≤ _ := snorm'_const_smul_le c⁻¹ (c • f) hq_pos
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
 #align measure_theory.snorm'_const_smul MeasureTheory.snorm'_const_smul
 
 theorem snormEssSup_const_smul (c : 𝕜) (f : α → F) :
@@ -1655,7 +1655,7 @@ theorem snorm_const_smul (c : 𝕜) (f : α → F) : snorm (c • f) p μ = (‖
   · simp
   refine' le_antisymm (snorm_const_smul_le _ _) _
   have : snorm _ p μ ≤ _ := snorm_const_smul_le c⁻¹ (c • f)
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this 
 #align measure_theory.snorm_const_smul MeasureTheory.snorm_const_smul
 
 end NormedSpace
@@ -1673,7 +1673,7 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
   filter_upwards [hf]with x hx
   rw [nnnorm_indicator_eq_indicator_nnnorm]
   by_cases hxs : x ∈ s
-  · simp only [Set.indicator_of_mem hxs] at hx⊢
+  · simp only [Set.indicator_of_mem hxs] at hx ⊢
     exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 (hx hxs)) ENNReal.toReal_nonneg
   · simp [Set.indicator_of_not_mem hxs]
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
@@ -1712,7 +1712,7 @@ theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α 
   · simp only [hp0, ENNReal.rpow_zero]
     refine' eventually_of_forall fun x => _
     rw [liminf_const (1 : ℝ≥0∞)]
-    exacts[ENNReal.one_lt_top, at_top_ne_bot]
+    exacts [ENNReal.one_lt_top, at_top_ne_bot]
   have hp : p ≠ 0 := fun h => by simpa [h] using hp0
   have hp' : p ≠ ∞ := fun h => by simpa [h] using hp0
   refine'
@@ -1722,7 +1722,7 @@ theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α 
           (lt_of_le_of_lt _
             (ENNReal.rpow_lt_top_of_nonneg ENNReal.toReal_nonneg ENNReal.coe_ne_top :
               ↑R ^ p.to_real < ∞))).Ne
-  simp_rw [snorm_eq_lintegral_rpow_nnnorm hp hp'] at hbdd
+  simp_rw [snorm_eq_lintegral_rpow_nnnorm hp hp'] at hbdd 
   simp_rw [liminf_eq, eventually_at_top]
   exact
     sSup_le fun b ⟨a, ha⟩ =>
@@ -1736,11 +1736,11 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
   by
   by_cases hp' : p = ∞
   · subst hp'
-    simp_rw [snorm_exponent_top] at hbdd
+    simp_rw [snorm_exponent_top] at hbdd 
     have : ∀ n, ∀ᵐ x ∂μ, (‖f n x‖₊ : ℝ≥0∞) < R + 1 := fun n =>
       ae_lt_of_essSup_lt
         (lt_of_le_of_lt (hbdd n) <| ENNReal.lt_add_right ENNReal.coe_ne_top one_ne_zero)
-    rw [← ae_all_iff] at this
+    rw [← ae_all_iff] at this 
     filter_upwards [this]with x hx using lt_of_le_of_lt
         (liminf_le_of_frequently_le' <| frequently_of_forall fun n => (hx n).le)
         (ENNReal.add_lt_top.2 ⟨ENNReal.coe_lt_top, ENNReal.one_lt_top⟩)
@@ -1756,7 +1756,7 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
     refine' (OrderIso.liminf_apply (ENNReal.orderIsoRpow p.to_real _) _ _ _ _).symm <;>
       run_tac
         is_bounded_default
-  rw [this] at hx
+  rw [this] at hx 
   rw [← ENNReal.rpow_one (liminf (fun n => ‖f n x‖₊) at_top), ← mul_inv_cancel hppos.ne.symm,
     ENNReal.rpow_mul]
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.2 hppos.le) hx.ne
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne, Sébastien Gouëzel
 
 ! This file was ported from Lean 3 source module measure_theory.function.lp_seminorm
-! leanprover-community/mathlib commit c4015acc0a223449d44061e27ddac1835a3852b9
+! leanprover-community/mathlib commit f60c6087a7275b72d5db3c5a1d0e19e35a429c0a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,9 @@ import Mathbin.MeasureTheory.Integral.MeanInequalities
 /-!
 # ℒp space
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file describes properties of almost everywhere strongly measurable functions with finite
 `p`-seminorm, denoted by `snorm f p μ` and defined for `p:ℝ≥0∞` as `0` if `p=0`,
 `(∫ ‖f a‖^p ∂μ) ^ (1/p)` for `0 < p < ∞` and `ess_sup ‖f‖ μ` for `p=∞`.
Diff
@@ -69,22 +69,28 @@ deduce it for `snorm`, and translate it in terms of `mem_ℒp`.
 
 section ℒpSpaceDefinition
 
+#print MeasureTheory.snorm' /-
 /-- `(∫ ‖f a‖^q ∂μ) ^ (1/q)`, which is a seminorm on the space of measurable functions for which
 this quantity is finite -/
 def snorm' {m : MeasurableSpace α} (f : α → F) (q : ℝ) (μ : Measure α) : ℝ≥0∞ :=
   (∫⁻ a, ‖f a‖₊ ^ q ∂μ) ^ (1 / q)
 #align measure_theory.snorm' MeasureTheory.snorm'
+-/
 
+#print MeasureTheory.snormEssSup /-
 /-- seminorm for `ℒ∞`, equal to the essential supremum of `‖f‖`. -/
 def snormEssSup {m : MeasurableSpace α} (f : α → F) (μ : Measure α) :=
   essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ
 #align measure_theory.snorm_ess_sup MeasureTheory.snormEssSup
+-/
 
+#print MeasureTheory.snorm /-
 /-- `ℒp` seminorm, equal to `0` for `p=0`, to `(∫ ‖f a‖^p ∂μ) ^ (1/p)` for `0 < p < ∞` and to
 `ess_sup ‖f‖ μ` for `p = ∞`. -/
 def snorm {m : MeasurableSpace α} (f : α → F) (p : ℝ≥0∞) (μ : Measure α) : ℝ≥0∞ :=
   if p = 0 then 0 else if p = ∞ then snormEssSup f μ else snorm' f (ENNReal.toReal p) μ
 #align measure_theory.snorm MeasureTheory.snorm
+-/
 
 theorem snorm_eq_snorm' (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) {f : α → F} :
     snorm f p μ = snorm' f (ENNReal.toReal p) μ := by simp [snorm, hp_ne_zero, hp_ne_top]
@@ -104,17 +110,21 @@ theorem snorm_one_eq_lintegral_nnnorm {f : α → F} : snorm f 1 μ = ∫⁻ x,
 theorem snorm_exponent_top {f : α → F} : snorm f ∞ μ = snormEssSup f μ := by simp [snorm]
 #align measure_theory.snorm_exponent_top MeasureTheory.snorm_exponent_top
 
+#print MeasureTheory.Memℒp /-
 /-- The property that `f:α→E` is ae strongly measurable and `(∫ ‖f a‖^p ∂μ)^(1/p)` is finite
 if `p < ∞`, or `ess_sup f < ∞` if `p = ∞`. -/
 def Memℒp {α} {m : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞)
     (μ : Measure α := by exact MeasureTheory.MeasureSpace.volume) : Prop :=
   AEStronglyMeasurable f μ ∧ snorm f p μ < ∞
 #align measure_theory.mem_ℒp MeasureTheory.Memℒp
+-/
 
-theorem Memℒp.aEStronglyMeasurable {f : α → E} {p : ℝ≥0∞} (h : Memℒp f p μ) :
+#print MeasureTheory.Memℒp.aestronglyMeasurable /-
+theorem Memℒp.aestronglyMeasurable {f : α → E} {p : ℝ≥0∞} (h : Memℒp f p μ) :
     AEStronglyMeasurable f μ :=
   h.1
-#align measure_theory.mem_ℒp.ae_strongly_measurable MeasureTheory.Memℒp.aEStronglyMeasurable
+#align measure_theory.mem_ℒp.ae_strongly_measurable MeasureTheory.Memℒp.aestronglyMeasurable
+-/
 
 theorem lintegral_rpow_nnnorm_eq_rpow_snorm' {f : α → F} (hq0_lt : 0 < q) :
     (∫⁻ a, ‖f a‖₊ ^ q ∂μ) = snorm' f q μ ^ q :=
@@ -174,9 +184,9 @@ theorem snorm'_exponent_zero {f : α → F} : snorm' f 0 μ = 1 := by
 theorem snorm_exponent_zero {f : α → F} : snorm f 0 μ = 0 := by simp [snorm]
 #align measure_theory.snorm_exponent_zero MeasureTheory.snorm_exponent_zero
 
-theorem memℒp_zero_iff_aEStronglyMeasurable {f : α → E} : Memℒp f 0 μ ↔ AEStronglyMeasurable f μ :=
+theorem memℒp_zero_iff_aestronglyMeasurable {f : α → E} : Memℒp f 0 μ ↔ AEStronglyMeasurable f μ :=
   by simp [mem_ℒp, snorm_exponent_zero]
-#align measure_theory.mem_ℒp_zero_iff_ae_strongly_measurable MeasureTheory.memℒp_zero_iff_aEStronglyMeasurable
+#align measure_theory.mem_ℒp_zero_iff_ae_strongly_measurable MeasureTheory.memℒp_zero_iff_aestronglyMeasurable
 
 @[simp]
 theorem snorm'_zero (hp0_lt : 0 < q) : snorm' (0 : α → F) q μ = 0 := by simp [snorm', hp0_lt]
@@ -684,17 +694,23 @@ theorem snorm_le_add_measure_left (f : α → F) (μ ν : Measure α) {p : ℝ
 
 omit m
 
+#print MeasureTheory.Memℒp.left_of_add_measure /-
 theorem Memℒp.left_of_add_measure {f : α → E} (h : Memℒp f p (μ + ν)) : Memℒp f p μ :=
   h.mono_measure <| Measure.le_add_right <| le_refl _
 #align measure_theory.mem_ℒp.left_of_add_measure MeasureTheory.Memℒp.left_of_add_measure
+-/
 
+#print MeasureTheory.Memℒp.right_of_add_measure /-
 theorem Memℒp.right_of_add_measure {f : α → E} (h : Memℒp f p (μ + ν)) : Memℒp f p ν :=
   h.mono_measure <| Measure.le_add_left <| le_refl _
 #align measure_theory.mem_ℒp.right_of_add_measure MeasureTheory.Memℒp.right_of_add_measure
+-/
 
+#print MeasureTheory.Memℒp.norm /-
 theorem Memℒp.norm {f : α → E} (h : Memℒp f p μ) : Memℒp (fun x => ‖f x‖) p μ :=
   h.of_le h.AEStronglyMeasurable.norm (eventually_of_forall fun x => by simp)
 #align measure_theory.mem_ℒp.norm MeasureTheory.Memℒp.norm
+-/
 
 theorem memℒp_norm_iff {f : α → E} (hf : AEStronglyMeasurable f μ) :
     Memℒp (fun x => ‖f x‖) p μ ↔ Memℒp f p μ :=
@@ -797,27 +813,31 @@ theorem snorm_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AES
   exact snorm'_add_le hf hg hp1_real
 #align measure_theory.snorm_add_le MeasureTheory.snorm_add_le
 
+#print MeasureTheory.LpAddConst /-
 /-- A constant for the inequality `‖f + g‖_{L^p} ≤ C * (‖f‖_{L^p} + ‖g‖_{L^p})`. It is equal to `1`
 for `p ≥ 1` or `p = 0`, and `2^(1/p-1)` in the more tricky interval `(0, 1)`. -/
-def lpAddConst (p : ℝ≥0∞) : ℝ≥0∞ :=
+def LpAddConst (p : ℝ≥0∞) : ℝ≥0∞ :=
   if p ∈ Set.Ioo (0 : ℝ≥0∞) 1 then 2 ^ (1 / p.toReal - 1) else 1
-#align measure_theory.Lp_add_const MeasureTheory.lpAddConst
+#align measure_theory.Lp_add_const MeasureTheory.LpAddConst
+-/
 
-theorem lpAddConst_of_one_le {p : ℝ≥0∞} (hp : 1 ≤ p) : lpAddConst p = 1 :=
+theorem LpAddConst_of_one_le {p : ℝ≥0∞} (hp : 1 ≤ p) : LpAddConst p = 1 :=
   by
   rw [Lp_add_const, if_neg]
   intro h
   exact lt_irrefl _ (h.2.trans_le hp)
-#align measure_theory.Lp_add_const_of_one_le MeasureTheory.lpAddConst_of_one_le
+#align measure_theory.Lp_add_const_of_one_le MeasureTheory.LpAddConst_of_one_le
 
-theorem lpAddConst_zero : lpAddConst 0 = 1 :=
+#print MeasureTheory.LpAddConst_zero /-
+theorem LpAddConst_zero : LpAddConst 0 = 1 :=
   by
   rw [Lp_add_const, if_neg]
   intro h
   exact lt_irrefl _ h.1
-#align measure_theory.Lp_add_const_zero MeasureTheory.lpAddConst_zero
+#align measure_theory.Lp_add_const_zero MeasureTheory.LpAddConst_zero
+-/
 
-theorem lpAddConst_lt_top (p : ℝ≥0∞) : lpAddConst p < ∞ :=
+theorem LpAddConst_lt_top (p : ℝ≥0∞) : LpAddConst p < ∞ :=
   by
   rw [Lp_add_const]
   split_ifs
@@ -826,10 +846,10 @@ theorem lpAddConst_lt_top (p : ℝ≥0∞) : lpAddConst p < ∞ :=
     apply one_le_inv (ENNReal.toReal_pos h.1.ne' (h.2.trans ENNReal.one_lt_top).Ne)
     simpa using ENNReal.toReal_mono ENNReal.one_ne_top h.2.le
   · exact ENNReal.one_lt_top
-#align measure_theory.Lp_add_const_lt_top MeasureTheory.lpAddConst_lt_top
+#align measure_theory.Lp_add_const_lt_top MeasureTheory.LpAddConst_lt_top
 
 theorem snorm_add_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (p : ℝ≥0∞) : snorm (f + g) p μ ≤ lpAddConst p * (snorm f p μ + snorm g p μ) :=
+    (p : ℝ≥0∞) : snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
   by
   rcases eq_or_ne p 0 with (rfl | hp)
   · simp only [snorm_exponent_zero, add_zero, MulZeroClass.mul_zero, le_zero_iff]
@@ -873,7 +893,7 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
 variable {μ E}
 
 theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (p : ℝ≥0∞) : snorm (f - g) p μ ≤ lpAddConst p * (snorm f p μ + snorm g p μ) :=
+    (p : ℝ≥0∞) : snorm (f - g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
   calc
     snorm (f - g) p μ = snorm (f + -g) p μ := by rw [sub_eq_add_neg]
     -- We cannot use snorm_add_le on f and (-g) because we don't have `ae_measurable (-g) μ`, since
@@ -884,9 +904,9 @@ theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
     _ ≤ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ := by refine' snorm_mono_real fun x => _;
       rw [norm_norm]; exact norm_add_le _ _
     _ = snorm (fun x => ‖f x‖ + ‖g x‖) p μ := by simp_rw [norm_neg]
-    _ ≤ lpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) :=
+    _ ≤ LpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) :=
       (snorm_add_le' hf.norm hg.norm p)
-    _ = lpAddConst p * (snorm f p μ + snorm g p μ) := by rw [← snorm_norm f, ← snorm_norm g]
+    _ = LpAddConst p * (snorm f p μ + snorm g p μ) := by rw [← snorm_norm f, ← snorm_norm g]
     
 #align measure_theory.snorm_sub_le' MeasureTheory.snorm_sub_le'
 
@@ -898,7 +918,7 @@ theorem snorm_sub_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AES
 theorem snorm_add_lt_top {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) :
     snorm (f + g) p μ < ∞ :=
   calc
-    snorm (f + g) p μ ≤ lpAddConst p * (snorm f p μ + snorm g p μ) :=
+    snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
       snorm_add_le' hf.AEStronglyMeasurable hg.AEStronglyMeasurable p
     _ < ∞ := by
       apply ENNReal.mul_lt_top (Lp_add_const_lt_top p).Ne
@@ -920,11 +940,14 @@ variable {β : Type _} {mβ : MeasurableSpace β} {f : α → β} {g : β → E}
 
 include mβ
 
+#print MeasureTheory.snormEssSup_map_measure /-
 theorem snormEssSup_map_measure (hg : AEStronglyMeasurable g (Measure.map f μ))
     (hf : AEMeasurable f μ) : snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
   essSup_map_measure hg.ennnorm hf
 #align measure_theory.snorm_ess_sup_map_measure MeasureTheory.snormEssSup_map_measure
+-/
 
+#print MeasureTheory.snorm_map_measure /-
 theorem snorm_map_measure (hg : AEStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
     snorm g p (Measure.map f μ) = snorm (g ∘ f) p μ :=
   by
@@ -936,11 +959,14 @@ theorem snorm_map_measure (hg : AEStronglyMeasurable g (Measure.map f μ)) (hf :
   simp_rw [snorm_eq_lintegral_rpow_nnnorm hp_zero hp_top]
   rw [lintegral_map' (hg.ennnorm.pow_const p.to_real) hf]
 #align measure_theory.snorm_map_measure MeasureTheory.snorm_map_measure
+-/
 
+#print MeasureTheory.memℒp_map_measure_iff /-
 theorem memℒp_map_measure_iff (hg : AEStronglyMeasurable g (Measure.map f μ))
     (hf : AEMeasurable f μ) : Memℒp g p (Measure.map f μ) ↔ Memℒp (g ∘ f) p μ := by
   simp [mem_ℒp, snorm_map_measure hg hf, hg.comp_ae_measurable hf, hg]
 #align measure_theory.mem_ℒp_map_measure_iff MeasureTheory.memℒp_map_measure_iff
+-/
 
 theorem MeasurableEmbedding.snormEssSup_map_measure {g : β → F} (hf : MeasurableEmbedding f) :
     snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
@@ -1269,6 +1295,7 @@ theorem Memℒp.sub {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ)
   rw [sub_eq_add_neg]; exact hf.add hg.neg
 #align measure_theory.mem_ℒp.sub MeasureTheory.Memℒp.sub
 
+#print MeasureTheory.memℒp_finset_sum /-
 theorem memℒp_finset_sum {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
     Memℒp (fun a => ∑ i in s, f i a) p μ :=
   by
@@ -1280,19 +1307,22 @@ theorem memℒp_finset_sum {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀
     simp only [his, Finset.sum_insert, not_false_iff]
     exact (hf i (s.mem_insert_self i)).add (ih fun j hj => hf j (Finset.mem_insert_of_mem hj))
 #align measure_theory.mem_ℒp_finset_sum MeasureTheory.memℒp_finset_sum
+-/
 
+#print MeasureTheory.memℒp_finset_sum' /-
 theorem memℒp_finset_sum' {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
     Memℒp (∑ i in s, f i) p μ := by
   convert mem_ℒp_finset_sum s hf
   ext x
   simp
 #align measure_theory.mem_ℒp_finset_sum' MeasureTheory.memℒp_finset_sum'
+-/
 
 end MeasurableAdd
 
 section Monotonicity
 
-theorem snorm'_le_nNReal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
+theorem snorm'_le_nnreal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) {p : ℝ} (hp : 0 < p) : snorm' f p μ ≤ c • snorm' g p μ :=
   by
   simp_rw [snorm']
@@ -1304,9 +1334,9 @@ theorem snorm'_le_nNReal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G}
   apply lintegral_mono_ae
   simp_rw [ENNReal.coe_le_coe, ← NNReal.mul_rpow, NNReal.rpow_le_rpow_iff hp]
   exact h
-#align measure_theory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul MeasureTheory.snorm'_le_nNReal_smul_snorm'_of_ae_le_mul
+#align measure_theory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul MeasureTheory.snorm'_le_nnreal_smul_snorm'_of_ae_le_mul
 
-theorem snormEssSup_le_nNReal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
+theorem snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) : snormEssSup f μ ≤ c • snormEssSup g μ :=
   calc
     essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ ≤ essSup (fun x => (↑(c * ‖g x‖₊) : ℝ≥0∞)) μ :=
@@ -1314,9 +1344,9 @@ theorem snormEssSup_le_nNReal_smul_snormEssSup_of_ae_le_mul {f : α → F} {g :
     _ = essSup (fun x => (c * ‖g x‖₊ : ℝ≥0∞)) μ := by simp_rw [ENNReal.coe_mul]
     _ = c • essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ := ENNReal.essSup_const_mul
     
-#align measure_theory.snorm_ess_sup_le_nnreal_smul_snorm_ess_sup_of_ae_le_mul MeasureTheory.snormEssSup_le_nNReal_smul_snormEssSup_of_ae_le_mul
+#align measure_theory.snorm_ess_sup_le_nnreal_smul_snorm_ess_sup_of_ae_le_mul MeasureTheory.snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
 
-theorem snorm_le_nNReal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
+theorem snorm_le_nnreal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
     (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) (p : ℝ≥0∞) : snorm f p μ ≤ c • snorm g p μ :=
   by
   by_cases h0 : p = 0
@@ -1326,7 +1356,7 @@ theorem snorm_le_nNReal_smul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c
     exact snorm_ess_sup_le_nnreal_smul_snorm_ess_sup_of_ae_le_mul h
   simp_rw [snorm_eq_snorm' h0 h_top]
   exact snorm'_le_nnreal_smul_snorm'_of_ae_le_mul h (ENNReal.toReal_pos h0 h_top)
-#align measure_theory.snorm_le_nnreal_smul_snorm_of_ae_le_mul MeasureTheory.snorm_le_nNReal_smul_snorm_of_ae_le_mul
+#align measure_theory.snorm_le_nnreal_smul_snorm_of_ae_le_mul MeasureTheory.snorm_le_nnreal_smul_snorm_of_ae_le_mul
 
 -- TODO: add the whole family of lemmas?
 private theorem le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg {α} [LinearOrderedSemiring α]
@@ -1353,14 +1383,14 @@ theorem snorm_eq_zero_and_zero_of_ae_le_mul_neg {f : α → F} {g : α → G} {c
 
 theorem snorm_le_mul_snorm_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ}
     (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖g x‖) (p : ℝ≥0∞) : snorm f p μ ≤ ENNReal.ofReal c * snorm g p μ :=
-  snorm_le_nNReal_smul_snorm_of_ae_le_mul
+  snorm_le_nnreal_smul_snorm_of_ae_le_mul
     (h.mono fun x hx => hx.trans <| mul_le_mul_of_nonneg_right c.le_coe_toNNReal (norm_nonneg _)) _
 #align measure_theory.snorm_le_mul_snorm_of_ae_le_mul MeasureTheory.snorm_le_mul_snorm_of_ae_le_mul
 
 theorem Memℒp.of_nnnorm_le_mul {f : α → E} {g : α → F} {c : ℝ≥0} (hg : Memℒp g p μ)
     (hf : AEStronglyMeasurable f μ) (hfg : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ c * ‖g x‖₊) : Memℒp f p μ :=
   ⟨hf,
-    (snorm_le_nNReal_smul_snorm_of_ae_le_mul hfg p).trans_lt <|
+    (snorm_le_nnreal_smul_snorm_of_ae_le_mul hfg p).trans_lt <|
       ENNReal.mul_lt_top ENNReal.coe_ne_top hg.snorm_ne_top⟩
 #align measure_theory.mem_ℒp.of_nnnorm_le_mul MeasureTheory.Memℒp.of_nnnorm_le_mul
 
@@ -1517,18 +1547,18 @@ variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
 theorem snorm'_const_smul_le (c : 𝕜) (f : α → F) (hq_pos : 0 < q) :
     snorm' (c • f) q μ ≤ ‖c‖₊ • snorm' f q μ :=
-  snorm'_le_nNReal_smul_snorm'_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _)
+  snorm'_le_nnreal_smul_snorm'_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _)
     hq_pos
 #align measure_theory.snorm'_const_smul_le MeasureTheory.snorm'_const_smul_le
 
 theorem snormEssSup_const_smul_le (c : 𝕜) (f : α → F) :
     snormEssSup (c • f) μ ≤ ‖c‖₊ • snormEssSup f μ :=
-  snormEssSup_le_nNReal_smul_snormEssSup_of_ae_le_mul
+  snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
     (eventually_of_forall fun a => nnnorm_smul_le _ _)
 #align measure_theory.snorm_ess_sup_const_smul_le MeasureTheory.snormEssSup_const_smul_le
 
 theorem snorm_const_smul_le (c : 𝕜) (f : α → F) : snorm (c • f) p μ ≤ ‖c‖₊ • snorm f p μ :=
-  snorm_le_nNReal_smul_snorm_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _) _
+  snorm_le_nnreal_smul_snorm_of_ae_le_mul (eventually_of_forall fun a => nnnorm_smul_le _ _) _
 #align measure_theory.snorm_const_smul_le MeasureTheory.snorm_const_smul_le
 
 theorem Memℒp.const_smul {f : α → E} (hf : Memℒp f p μ) (c : 𝕜) : Memℒp (c • f) p μ :=
Diff
@@ -42,7 +42,7 @@ noncomputable section
 
 open TopologicalSpace MeasureTheory Filter
 
-open NNReal ENNReal BigOperators Topology MeasureTheory
+open scoped NNReal ENNReal BigOperators Topology MeasureTheory
 
 variable {α E F G : Type _} {m m0 : MeasurableSpace α} {p : ℝ≥0∞} {q : ℝ} {μ ν : Measure α}
   [NormedAddCommGroup E] [NormedAddCommGroup F] [NormedAddCommGroup G]
Diff
@@ -213,9 +213,7 @@ theorem snorm_zero' : snorm (fun x : α => (0 : F)) p μ = 0 := by convert snorm
 #align measure_theory.snorm_zero' MeasureTheory.snorm_zero'
 
 theorem zero_memℒp : Memℒp (0 : α → E) p μ :=
-  ⟨aestronglyMeasurable_zero, by
-    rw [snorm_zero]
-    exact ENNReal.coe_lt_top⟩
+  ⟨aestronglyMeasurable_zero, by rw [snorm_zero]; exact ENNReal.coe_lt_top⟩
 #align measure_theory.zero_mem_ℒp MeasureTheory.zero_memℒp
 
 theorem zero_mem_ℒp' : Memℒp (fun x : α => (0 : E)) p μ := by convert zero_mem_ℒp
@@ -271,8 +269,7 @@ theorem snorm'_const' [FiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_z
   rw [snorm', lintegral_const, ENNReal.mul_rpow_of_ne_top _ (measure_ne_top μ Set.univ)]
   · congr
     rw [← ENNReal.rpow_mul]
-    suffices hp_cancel : q * (1 / q) = 1
-    · rw [hp_cancel, ENNReal.rpow_one]
+    suffices hp_cancel : q * (1 / q) = 1; · rw [hp_cancel, ENNReal.rpow_one]
     rw [one_div, mul_inv_cancel hq_ne_zero]
   · rw [Ne.def, ENNReal.rpow_eq_top_iff, not_or, not_and_or, not_and_or]
     constructor
@@ -524,9 +521,7 @@ theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
     let iso := h_rpow_mono.order_iso_of_surjective _ h_rpow_surj
     exact (iso.ess_sup_apply (fun x => (‖f x‖₊ : ℝ≥0∞)) μ).symm
   rw [snorm_eq_snorm' h0 hp_top, snorm_eq_snorm' _ _]
-  swap;
-  · refine' mul_ne_zero h0 _
-    rwa [Ne.def, ENNReal.ofReal_eq_zero, not_le]
+  swap; · refine' mul_ne_zero h0 _; rwa [Ne.def, ENNReal.ofReal_eq_zero, not_le]
   swap; · exact ENNReal.mul_ne_top hp_top ENNReal.ofReal_ne_top
   rw [ENNReal.toReal_mul, ENNReal.toReal_ofReal hq_pos.le]
   exact snorm'_norm_rpow f p.to_real q hq_pos
@@ -569,9 +564,7 @@ theorem memℒp_congr_norm {f : α → E} {g : α → F} (hf : AEStronglyMeasura
 
 theorem memℒp_top_of_bound {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
     (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) : Memℒp f ∞ μ :=
-  ⟨hf, by
-    rw [snorm_exponent_top]
-    exact snorm_ess_sup_lt_top_of_ae_bound hfC⟩
+  ⟨hf, by rw [snorm_exponent_top]; exact snorm_ess_sup_lt_top_of_ae_bound hfC⟩
 #align measure_theory.mem_ℒp_top_of_bound MeasureTheory.memℒp_top_of_bound
 
 theorem Memℒp.of_bound [FiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
@@ -589,10 +582,8 @@ theorem snorm'_mono_measure (f : α → F) (hμν : ν ≤ μ) (hq : 0 ≤ q) :
 #align measure_theory.snorm'_mono_measure MeasureTheory.snorm'_mono_measure
 
 @[mono]
-theorem snormEssSup_mono_measure (f : α → F) (hμν : ν ≪ μ) : snormEssSup f ν ≤ snormEssSup f μ :=
-  by
-  simp_rw [snorm_ess_sup]
-  exact essSup_mono_measure hμν
+theorem snormEssSup_mono_measure (f : α → F) (hμν : ν ≪ μ) : snormEssSup f ν ≤ snormEssSup f μ := by
+  simp_rw [snorm_ess_sup]; exact essSup_mono_measure hμν
 #align measure_theory.snorm_ess_sup_mono_measure MeasureTheory.snormEssSup_mono_measure
 
 @[mono]
@@ -615,16 +606,12 @@ theorem Memℒp.restrict (s : Set α) {f : α → E} (hf : Memℒp f p μ) : Mem
 #align measure_theory.mem_ℒp.restrict MeasureTheory.Memℒp.restrict
 
 theorem snorm'_smul_measure {p : ℝ} (hp : 0 ≤ p) {f : α → F} (c : ℝ≥0∞) :
-    snorm' f p (c • μ) = c ^ (1 / p) * snorm' f p μ :=
-  by
-  rw [snorm', lintegral_smul_measure, ENNReal.mul_rpow_of_nonneg, snorm']
-  simp [hp]
+    snorm' f p (c • μ) = c ^ (1 / p) * snorm' f p μ := by
+  rw [snorm', lintegral_smul_measure, ENNReal.mul_rpow_of_nonneg, snorm']; simp [hp]
 #align measure_theory.snorm'_smul_measure MeasureTheory.snorm'_smul_measure
 
 theorem snormEssSup_smul_measure {f : α → F} {c : ℝ≥0∞} (hc : c ≠ 0) :
-    snormEssSup f (c • μ) = snormEssSup f μ :=
-  by
-  simp_rw [snorm_ess_sup]
+    snormEssSup f (c • μ) = snormEssSup f μ := by simp_rw [snorm_ess_sup];
   exact essSup_smul_measure hc
 #align measure_theory.snorm_ess_sup_smul_measure MeasureTheory.snormEssSup_smul_measure
 
@@ -657,10 +644,8 @@ theorem snorm_smul_measure_of_ne_top {p : ℝ≥0∞} (hp_ne_top : p ≠ ∞) {f
   · exact snorm_smul_measure_of_ne_zero_of_ne_top hp0 hp_ne_top c
 #align measure_theory.snorm_smul_measure_of_ne_top MeasureTheory.snorm_smul_measure_of_ne_top
 
-theorem snorm_one_smul_measure {f : α → F} (c : ℝ≥0∞) : snorm f 1 (c • μ) = c * snorm f 1 μ :=
-  by
-  rw [@snorm_smul_measure_of_ne_top _ _ _ μ _ 1 (@ENNReal.coe_ne_top 1) f c]
-  simp
+theorem snorm_one_smul_measure {f : α → F} (c : ℝ≥0∞) : snorm f 1 (c • μ) = c * snorm f 1 μ := by
+  rw [@snorm_smul_measure_of_ne_top _ _ _ μ _ 1 (@ENNReal.coe_ne_top 1) f c]; simp
 #align measure_theory.snorm_one_smul_measure MeasureTheory.snorm_one_smul_measure
 
 theorem Memℒp.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
@@ -683,9 +668,7 @@ theorem Memℒp.smul_measure {f : α → E} {c : ℝ≥0∞} (hf : Memℒp f p 
 include m
 
 theorem snorm_one_add_measure (f : α → F) (μ ν : Measure α) :
-    snorm f 1 (μ + ν) = snorm f 1 μ + snorm f 1 ν :=
-  by
-  simp_rw [snorm_one_eq_lintegral_nnnorm]
+    snorm f 1 (μ + ν) = snorm f 1 μ + snorm f 1 ν := by simp_rw [snorm_one_eq_lintegral_nnnorm];
   rw [lintegral_add_measure _ μ ν]
 #align measure_theory.snorm_one_add_measure MeasureTheory.snorm_one_add_measure
 
@@ -715,11 +698,7 @@ theorem Memℒp.norm {f : α → E} (h : Memℒp f p μ) : Memℒp (fun x => ‖
 
 theorem memℒp_norm_iff {f : α → E} (hf : AEStronglyMeasurable f μ) :
     Memℒp (fun x => ‖f x‖) p μ ↔ Memℒp f p μ :=
-  ⟨fun h =>
-    ⟨hf, by
-      rw [← snorm_norm]
-      exact h.2⟩,
-    fun h => h.norm⟩
+  ⟨fun h => ⟨hf, by rw [← snorm_norm]; exact h.2⟩, fun h => h.norm⟩
 #align measure_theory.mem_ℒp_norm_iff MeasureTheory.memℒp_norm_iff
 
 theorem snorm'_eq_zero_of_ae_zero {f : α → F} (hq0_lt : 0 < q) (hf_zero : f =ᵐ[μ] 0) :
@@ -902,11 +881,8 @@ theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
         _ =
         snorm (fun x => ‖f x + -g x‖) p μ :=
       (snorm_norm (f + -g)).symm
-    _ ≤ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ :=
-      by
-      refine' snorm_mono_real fun x => _
-      rw [norm_norm]
-      exact norm_add_le _ _
+    _ ≤ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ := by refine' snorm_mono_real fun x => _;
+      rw [norm_norm]; exact norm_add_le _ _
     _ = snorm (fun x => ‖f x‖ + ‖g x‖) p μ := by simp_rw [norm_neg]
     _ ≤ lpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) :=
       (snorm_add_le' hf.norm hg.norm p)
@@ -1025,9 +1001,7 @@ theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m]
 #align measure_theory.limsup_trim MeasureTheory.limsup_trim
 
 theorem essSup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : measurable[m] f) :
-    essSup f (ν.trim hm) = essSup f ν := by
-  simp_rw [essSup]
-  exact limsup_trim hm hf
+    essSup f (ν.trim hm) = essSup f ν := by simp_rw [essSup]; exact limsup_trim hm hf
 #align measure_theory.ess_sup_trim MeasureTheory.essSup_trim
 
 theorem snormEssSup_trim (hm : m ≤ m0) {f : α → E} (hf : strongly_measurable[m] f) :
@@ -1291,10 +1265,8 @@ theorem Memℒp.add {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ)
   ⟨AEStronglyMeasurable.add hf.1 hg.1, snorm_add_lt_top hf hg⟩
 #align measure_theory.mem_ℒp.add MeasureTheory.Memℒp.add
 
-theorem Memℒp.sub {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f - g) p μ :=
-  by
-  rw [sub_eq_add_neg]
-  exact hf.add hg.neg
+theorem Memℒp.sub {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f - g) p μ := by
+  rw [sub_eq_add_neg]; exact hf.add hg.neg
 #align measure_theory.mem_ℒp.sub MeasureTheory.Memℒp.sub
 
 theorem memℒp_finset_sum {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
@@ -1446,9 +1418,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
           (1 / p.to_real) :=
       by
       refine' ENNReal.rpow_le_rpow _ _
-      swap;
-      · rw [one_div_nonneg]
-        exact ENNReal.toReal_nonneg
+      swap; · rw [one_div_nonneg]; exact ENNReal.toReal_nonneg
       refine' lintegral_mono_ae _
       filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => ↑‖f x‖₊]with x hx
       exact mul_le_mul_right' (ENNReal.rpow_le_rpow hx ENNReal.toReal_nonneg) _
@@ -1457,9 +1427,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       rw [lintegral_const_mul'']
       swap; · exact hg.nnnorm.ae_measurable.coe_nnreal_ennreal.pow aemeasurable_const
       rw [ENNReal.mul_rpow_of_nonneg]
-      swap;
-      · rw [one_div_nonneg]
-        exact ENNReal.toReal_nonneg
+      swap; · rw [one_div_nonneg]; exact ENNReal.toReal_nonneg
       rw [← ENNReal.rpow_mul, one_div, mul_inv_cancel, ENNReal.rpow_one]
       rw [Ne.def, ENNReal.toReal_eq_zero_iff, Auto.not_or_eq]
       exact ⟨hp_zero, hp_top⟩
@@ -1609,16 +1577,12 @@ theorem Memℒp.smul {p q r : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf
 #align measure_theory.mem_ℒp.smul MeasureTheory.Memℒp.smul
 
 theorem Memℒp.smul_of_top_right {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f p μ)
-    (hφ : Memℒp φ ∞ μ) : Memℒp (φ • f) p μ :=
-  by
-  apply hf.smul hφ
+    (hφ : Memℒp φ ∞ μ) : Memℒp (φ • f) p μ := by apply hf.smul hφ;
   simp only [ENNReal.div_top, zero_add]
 #align measure_theory.mem_ℒp.smul_of_top_right MeasureTheory.Memℒp.smul_of_top_right
 
 theorem Memℒp.smul_of_top_left {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f ∞ μ)
-    (hφ : Memℒp φ p μ) : Memℒp (φ • f) p μ :=
-  by
-  apply hf.smul hφ
+    (hφ : Memℒp φ p μ) : Memℒp (φ • f) p μ := by apply hf.smul hφ;
   simp only [ENNReal.div_top, add_zero]
 #align measure_theory.mem_ℒp.smul_of_top_left MeasureTheory.Memℒp.smul_of_top_left
 
@@ -1687,9 +1651,7 @@ variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
 
 theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p μ :=
   by
-  have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by
-    intro x
-    rw [one_mul]
+  have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
     exact IsROrC.norm_re_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_re.comp_ae_strongly_measurable hf.1
@@ -1697,9 +1659,7 @@ theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p
 
 theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.im (f x)) p μ :=
   by
-  have : ∀ x, ‖IsROrC.im (f x)‖ ≤ 1 * ‖f x‖ := by
-    intro x
-    rw [one_mul]
+  have : ∀ x, ‖IsROrC.im (f x)‖ ≤ 1 * ‖f x‖ := by intro x; rw [one_mul];
     exact IsROrC.norm_im_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
   exact is_R_or_C.continuous_im.comp_ae_strongly_measurable hf.1

Changes in mathlib4

mathlib3
mathlib4
chore: make some proofs more robust (#12466)

Notably, these cause issues on nightly-2024-04-25

Co-authored-by: adamtopaz <github@adamtopaz.com>

Diff
@@ -958,11 +958,11 @@ theorem snorm'_const_smul_le (c : 𝕜) (f : α → F) (hq_pos : 0 < q) :
 theorem snormEssSup_const_smul_le (c : 𝕜) (f : α → F) :
     snormEssSup (c • f) μ ≤ ‖c‖₊ • snormEssSup f μ :=
   snormEssSup_le_nnreal_smul_snormEssSup_of_ae_le_mul
-    (eventually_of_forall fun _ => nnnorm_smul_le _ _)
+    (eventually_of_forall fun _ => by simp [nnnorm_smul_le])
 #align measure_theory.snorm_ess_sup_const_smul_le MeasureTheory.snormEssSup_const_smul_le
 
 theorem snorm_const_smul_le (c : 𝕜) (f : α → F) : snorm (c • f) p μ ≤ ‖c‖₊ • snorm f p μ :=
-  snorm_le_nnreal_smul_snorm_of_ae_le_mul (eventually_of_forall fun _ => nnnorm_smul_le _ _) _
+  snorm_le_nnreal_smul_snorm_of_ae_le_mul (eventually_of_forall fun _ => by simp [nnnorm_smul_le]) _
 #align measure_theory.snorm_const_smul_le MeasureTheory.snorm_const_smul_le
 
 theorem Memℒp.const_smul {f : α → E} (hf : Memℒp f p μ) (c : 𝕜) : Memℒp (c • f) p μ :=
feat: Axiomatise b ≠ 0 → a * b / b = a (#12424)

This lets us unify a few lemmas between GroupWithZero and EuclideanDomain and two lemmas that were previously proved separately for Nat, Int, Polynomial.

Diff
@@ -36,9 +36,7 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
   repeat' rw [snorm']
   rw [h_rw]
   let r := p * q / (q - p)
-  have hpqr : 1 / p = 1 / q + 1 / r := by
-    field_simp [r, (ne_of_lt hp0_lt).symm, (ne_of_lt hq0_lt).symm]
-    ring
+  have hpqr : 1 / p = 1 / q + 1 / r := by field_simp [r, hp0_lt.ne', hq0_lt.ne']
   calc
     (∫⁻ a : α, (↑‖f a‖₊ * g a) ^ p ∂μ) ^ (1 / p) ≤
         (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * (∫⁻ a : α, g a ^ r ∂μ) ^ (1 / r) :=
chore: backports from #11997, adaptations for nightly-2024-04-07 (#12176)

These are changes from #11997, the latest adaptation PR for nightly-2024-04-07, which can be made directly on master.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -65,7 +65,7 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
     snorm f p μ ≤ snorm f q μ * μ Set.univ ^ (1 / p.toReal - 1 / q.toReal) := by
   by_cases hp0 : p = 0
   · simp [hp0, zero_le]
-  rw [← Ne.def] at hp0
+  rw [← Ne] at hp0
   have hp0_lt : 0 < p := lt_of_le_of_ne (zero_le _) hp0.symm
   have hq0_lt : 0 < q := lt_of_lt_of_le hp0_lt hpq
   by_cases hq_top : q = ∞
@@ -125,7 +125,7 @@ theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {
   cases' hfq with hfq_m hfq_lt_top
   by_cases hp0 : p = 0
   · rwa [hp0, memℒp_zero_iff_aestronglyMeasurable]
-  rw [← Ne.def] at hp0
+  rw [← Ne] at hp0
   refine' ⟨hfq_m, _⟩
   by_cases hp_top : p = ∞
   · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq
chore: backports from #11997, adaptations for nightly-2024-04-07 (#12176)

These are changes from #11997, the latest adaptation PR for nightly-2024-04-07, which can be made directly on master.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -196,7 +196,7 @@ theorem snorm_zero : snorm (0 : α → F) p μ = 0 := by
   · simp [h0]
   by_cases h_top : p = ∞
   · simp only [h_top, snorm_exponent_top, snormEssSup_zero]
-  rw [← Ne.def] at h0
+  rw [← Ne] at h0
   simp [snorm_eq_snorm' h0 h_top, ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_zero MeasureTheory.snorm_zero
 
@@ -238,7 +238,7 @@ theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 := by
   · simp [h0]
   by_cases h_top : p = ∞
   · simp [h_top]
-  rw [← Ne.def] at h0
+  rw [← Ne] at h0
   simp [snorm_eq_snorm' h0 h_top, snorm', ENNReal.toReal_pos h0 h_top]
 #align measure_theory.snorm_measure_zero MeasureTheory.snorm_measure_zero
 
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -194,7 +194,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       · rw [one_div_nonneg]
         exact ENNReal.toReal_nonneg
       rw [← ENNReal.rpow_mul, one_div, mul_inv_cancel, ENNReal.rpow_one]
-      rw [Ne.def, ENNReal.toReal_eq_zero_iff, not_or]
+      rw [Ne, ENNReal.toReal_eq_zero_iff, not_or]
       exact ⟨hp_zero, hp_top⟩
 #align measure_theory.snorm_le_snorm_top_mul_snorm MeasureTheory.snorm_le_snorm_top_mul_snorm
 
@@ -252,8 +252,8 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞}
     suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this
     rw [hpqr]
     refine' ENNReal.lt_add_right _ _
-    · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
-    · simp only [hr_top, one_div, Ne.def, ENNReal.inv_eq_zero, not_false_iff]
+    · simp only [hq_ne_zero, one_div, Ne, ENNReal.inv_eq_top, not_false_iff]
+    · simp only [hr_top, one_div, Ne, ENNReal.inv_eq_zero, not_false_iff]
   rw [snorm_eq_snorm' hp_zero (hpq.trans_le le_top).ne, snorm_eq_snorm' hq_ne_zero hq_top,
     snorm_eq_snorm' hr_ne_zero hr_top]
   refine' snorm'_le_snorm'_mul_snorm' hf hg _ h _ _ _
@@ -261,8 +261,8 @@ theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞}
   · exact ENNReal.toReal_strict_mono hq_top hpq
   rw [← ENNReal.one_toReal, ← ENNReal.toReal_div, ← ENNReal.toReal_div, ← ENNReal.toReal_div, hpqr,
     ENNReal.toReal_add]
-  · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
-  · simp only [hr_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
+  · simp only [hq_ne_zero, one_div, Ne, ENNReal.inv_eq_top, not_false_iff]
+  · simp only [hr_ne_zero, one_div, Ne, ENNReal.inv_eq_top, not_false_iff]
 #align measure_theory.snorm_le_snorm_mul_snorm_of_nnnorm MeasureTheory.snorm_le_snorm_mul_snorm_of_nnnorm
 
 /-- Hölder's inequality, as an inequality on the `ℒp` seminorm of an elementwise operation
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -287,7 +287,7 @@ theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne
     rw [← ENNReal.rpow_mul]
     suffices hp_cancel : q * (1 / q) = 1 by rw [hp_cancel, ENNReal.rpow_one]
     rw [one_div, mul_inv_cancel hq_ne_zero]
-  · rw [Ne.def, ENNReal.rpow_eq_top_iff, not_or, not_and_or, not_and_or]
+  · rw [Ne, ENNReal.rpow_eq_top_iff, not_or, not_and_or, not_and_or]
     constructor
     · left
       rwa [ENNReal.coe_eq_zero, nnnorm_eq_zero]
@@ -533,7 +533,7 @@ theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
   rw [snorm_eq_snorm' h0 hp_top, snorm_eq_snorm' _ _]
   swap;
   · refine' mul_ne_zero h0 _
-    rwa [Ne.def, ENNReal.ofReal_eq_zero, not_le]
+    rwa [Ne, ENNReal.ofReal_eq_zero, not_le]
   swap; · exact ENNReal.mul_ne_top hp_top ENNReal.ofReal_ne_top
   rw [ENNReal.toReal_mul, ENNReal.toReal_ofReal hq_pos.le]
   exact snorm'_norm_rpow f p.toReal q hq_pos
chore: Rename IsROrC to RCLike (#10819)

IsROrC contains data, which goes against the expectation that classes prefixed with Is are prop-valued. People have been complaining about this on and off, so this PR renames IsROrC to RCLike.

Diff
@@ -1031,29 +1031,29 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
   · simp [Set.indicator_of_not_mem hxs]
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
 
-section IsROrC
+section RCLike
 
-variable {𝕜 : Type*} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [RCLike 𝕜] {f : α → 𝕜}
 
-theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p μ := by
-  have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by
+theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => RCLike.re (f x)) p μ := by
+  have : ∀ x, ‖RCLike.re (f x)‖ ≤ 1 * ‖f x‖ := by
     intro x
     rw [one_mul]
-    exact IsROrC.norm_re_le_norm (f x)
+    exact RCLike.norm_re_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
-  exact IsROrC.continuous_re.comp_aestronglyMeasurable hf.1
+  exact RCLike.continuous_re.comp_aestronglyMeasurable hf.1
 #align measure_theory.mem_ℒp.re MeasureTheory.Memℒp.re
 
-theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.im (f x)) p μ := by
-  have : ∀ x, ‖IsROrC.im (f x)‖ ≤ 1 * ‖f x‖ := by
+theorem Memℒp.im (hf : Memℒp f p μ) : Memℒp (fun x => RCLike.im (f x)) p μ := by
+  have : ∀ x, ‖RCLike.im (f x)‖ ≤ 1 * ‖f x‖ := by
     intro x
     rw [one_mul]
-    exact IsROrC.norm_im_le_norm (f x)
+    exact RCLike.norm_im_le_norm (f x)
   refine' hf.of_le_mul _ (eventually_of_forall this)
-  exact IsROrC.continuous_im.comp_aestronglyMeasurable hf.1
+  exact RCLike.continuous_im.comp_aestronglyMeasurable hf.1
 #align measure_theory.mem_ℒp.im MeasureTheory.Memℒp.im
 
-end IsROrC
+end RCLike
 
 section Liminf
 
chore: remove unnecessary @[eqns] attributes (#11460)

These attributes are unused in Mathlib.

Many of them were workarounds for the now-resolved leanprover/lean4#2243; this also allows the lemmas themselves (hasFiniteIntegral_def, integrable_def, memℒp_def, and integrableOn_def) to be deleted.

We are currently experiencing problems with the @[eqns] attribute on the Lean nightlies. I'm uncertain yet what the outcome is going to be there, but it seems prudent to reduce our unnecessary exposure to a language feature added in Mathlib.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -109,13 +109,6 @@ def Memℒp {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞)
   AEStronglyMeasurable f μ ∧ snorm f p μ < ∞
 #align measure_theory.mem_ℒp MeasureTheory.Memℒp
 
--- Porting note (#11215): TODO Delete this when leanprover/lean4#2243 is fixed.
-theorem memℒp_def {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞) (μ : Measure α) :
-    Memℒp f p μ ↔ (AEStronglyMeasurable f μ ∧ snorm f p μ < ∞) :=
-  Iff.rfl
-
-attribute [eqns memℒp_def] Memℒp
-
 theorem Memℒp.aestronglyMeasurable {f : α → E} {p : ℝ≥0∞} (h : Memℒp f p μ) :
     AEStronglyMeasurable f μ :=
   h.1
chore: golf using filter_upwards (#11208)

This is presumably not exhaustive, but covers about a hundred instances.

Style opinions (e.g., why a particular change is great/not a good idea) are very welcome; I'm still forming my own.

Diff
@@ -1071,7 +1071,7 @@ theorem ae_bdd_liminf_atTop_rpow_of_snorm_bdd {p : ℝ≥0∞} {f : ℕ → α 
     ∀ᵐ x ∂μ, liminf (fun n => ((‖f n x‖₊ : ℝ≥0∞) ^ p.toReal : ℝ≥0∞)) atTop < ∞ := by
   by_cases hp0 : p.toReal = 0
   · simp only [hp0, ENNReal.rpow_zero]
-    refine' eventually_of_forall fun x => _
+    filter_upwards with _
     rw [liminf_const (1 : ℝ≥0∞)]
     exact ENNReal.one_lt_top
   have hp : p ≠ 0 := fun h => by simp [h] at hp0
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -954,7 +954,6 @@ In this section we show inequalities on the norm.
 section BoundedSMul
 
 variable {𝕜 : Type*} [NormedRing 𝕜] [MulActionWithZero 𝕜 E] [MulActionWithZero 𝕜 F]
-
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
 theorem snorm'_const_smul_le (c : 𝕜) (f : α → F) (hq_pos : 0 < q) :
@@ -994,7 +993,6 @@ The inequalities in the previous section are now tight.
 section NormedSpace
 
 variable {𝕜 : Type*} [NormedDivisionRing 𝕜] [MulActionWithZero 𝕜 E] [Module 𝕜 F]
-
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
 theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
chore: classify todo porting notes (#11216)

Classifies by adding issue number #11215 to porting notes claiming "TODO".

Diff
@@ -109,7 +109,7 @@ def Memℒp {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞)
   AEStronglyMeasurable f μ ∧ snorm f p μ < ∞
 #align measure_theory.mem_ℒp MeasureTheory.Memℒp
 
--- Porting note: TODO Delete this when leanprover/lean4#2243 is fixed.
+-- Porting note (#11215): TODO Delete this when leanprover/lean4#2243 is fixed.
 theorem memℒp_def {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞) (μ : Measure α) :
     Memℒp f p μ ↔ (AEStronglyMeasurable f μ ∧ snorm f p μ < ∞) :=
   Iff.rfl
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -39,6 +39,7 @@ theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : Measurable[m]
     rw [h_set_eq]
   ext1 a
   suffices h_meas_eq : μ { x | ¬f x ≤ a } = μ.trim hm { x | ¬f x ≤ a } by
+    set_option tactic.skipAssignedInstances false in
     simp_rw [Set.mem_setOf_eq, ae_iff, h_meas_eq]; rfl
   refine' (trim_measurableSet_eq hm _).symm
   refine' @MeasurableSet.compl _ _ m (@measurableSet_le ℝ≥0∞ _ _ _ _ m _ _ _ _ _ hf _)
chore: more backporting of simp changes from #10995 (#11001)

Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -32,19 +32,19 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
   have hpq : p < q := lt_of_le_of_ne hpq hpq_eq
   let g := fun _ : α => (1 : ℝ≥0∞)
   have h_rw : (∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ p ∂μ) = ∫⁻ a, ((‖f a‖₊ : ℝ≥0∞) * g a) ^ p ∂μ :=
-    lintegral_congr fun a => by simp
+    lintegral_congr fun a => by simp [g]
   repeat' rw [snorm']
   rw [h_rw]
   let r := p * q / (q - p)
   have hpqr : 1 / p = 1 / q + 1 / r := by
-    field_simp [(ne_of_lt hp0_lt).symm, (ne_of_lt hq0_lt).symm]
+    field_simp [r, (ne_of_lt hp0_lt).symm, (ne_of_lt hq0_lt).symm]
     ring
   calc
     (∫⁻ a : α, (↑‖f a‖₊ * g a) ^ p ∂μ) ^ (1 / p) ≤
         (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * (∫⁻ a : α, g a ^ r ∂μ) ^ (1 / r) :=
       ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm aemeasurable_const
     _ = (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * μ Set.univ ^ (1 / p - 1 / q) := by
-      rw [hpqr]; simp
+      rw [hpqr]; simp [r, g]
 #align measure_theory.snorm'_le_snorm'_mul_rpow_measure_univ MeasureTheory.snorm'_le_snorm'_mul_rpow_measure_univ
 
 theorem snorm'_le_snormEssSup_mul_rpow_measure_univ {q : ℝ} (hq_pos : 0 < q) :
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -52,7 +52,7 @@ theorem snorm'_le_snormEssSup_mul_rpow_measure_univ {q : ℝ} (hq_pos : 0 < q) :
   have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _ : α, snormEssSup f μ ^ q ∂μ := by
     refine' lintegral_mono_ae _
     have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
-    refine' h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
+    exact h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
   rw [snorm', ← ENNReal.rpow_one (snormEssSup f μ)]
   nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
   rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
feat: add snorm_restrict_le (#10788)
Diff
@@ -621,6 +621,10 @@ theorem Memℒp.mono_measure {f : α → E} (hμν : ν ≤ μ) (hf : Memℒp f
   ⟨hf.1.mono_measure hμν, (snorm_mono_measure f hμν).trans_lt hf.2⟩
 #align measure_theory.mem_ℒp.mono_measure MeasureTheory.Memℒp.mono_measure
 
+lemma snorm_restrict_le (f : α → F) (p : ℝ≥0∞) (μ : Measure α) (s : Set α) :
+    snorm f p (μ.restrict s) ≤ snorm f p μ :=
+  snorm_mono_measure f Measure.restrict_le_self
+
 theorem Memℒp.restrict (s : Set α) {f : α → E} (hf : Memℒp f p μ) : Memℒp f p (μ.restrict s) :=
   hf.mono_measure Measure.restrict_le_self
 #align measure_theory.mem_ℒp.restrict MeasureTheory.Memℒp.restrict
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -35,11 +35,11 @@ theorem snorm'_trim (hm : m ≤ m0) {f : α → E} (hf : StronglyMeasurable[m] f
 theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : Measurable[m] f) :
     (μ.trim hm).ae.limsup f = μ.ae.limsup f := by
   simp_rw [limsup_eq]
-  suffices h_set_eq : { a : ℝ≥0∞ | ∀ᵐ n ∂μ.trim hm, f n ≤ a } = { a : ℝ≥0∞ | ∀ᵐ n ∂μ, f n ≤ a }
-  · rw [h_set_eq]
+  suffices h_set_eq : { a : ℝ≥0∞ | ∀ᵐ n ∂μ.trim hm, f n ≤ a } = { a : ℝ≥0∞ | ∀ᵐ n ∂μ, f n ≤ a } by
+    rw [h_set_eq]
   ext1 a
-  suffices h_meas_eq : μ { x | ¬f x ≤ a } = μ.trim hm { x | ¬f x ≤ a }
-  · simp_rw [Set.mem_setOf_eq, ae_iff, h_meas_eq]; rfl
+  suffices h_meas_eq : μ { x | ¬f x ≤ a } = μ.trim hm { x | ¬f x ≤ a } by
+    simp_rw [Set.mem_setOf_eq, ae_iff, h_meas_eq]; rfl
   refine' (trim_measurableSet_eq hm _).symm
   refine' @MeasurableSet.compl _ _ m (@measurableSet_le ℝ≥0∞ _ _ _ _ m _ _ _ _ _ hf _)
   exact @measurable_const _ _ _ m _
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -283,7 +283,7 @@ theorem snorm'_const (c : F) (hq_pos : 0 < q) :
   rw [snorm', lintegral_const, ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ 1 / q)]
   congr
   rw [← ENNReal.rpow_mul]
-  suffices hq_cancel : q * (1 / q) = 1; · rw [hq_cancel, ENNReal.rpow_one]
+  suffices hq_cancel : q * (1 / q) = 1 by rw [hq_cancel, ENNReal.rpow_one]
   rw [one_div, mul_inv_cancel (ne_of_lt hq_pos).symm]
 #align measure_theory.snorm'_const MeasureTheory.snorm'_const
 
@@ -292,8 +292,7 @@ theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne
   rw [snorm', lintegral_const, ENNReal.mul_rpow_of_ne_top _ (measure_ne_top μ Set.univ)]
   · congr
     rw [← ENNReal.rpow_mul]
-    suffices hp_cancel : q * (1 / q) = 1
-    · rw [hp_cancel, ENNReal.rpow_one]
+    suffices hp_cancel : q * (1 / q) = 1 by rw [hp_cancel, ENNReal.rpow_one]
     rw [one_div, mul_inv_cancel hq_ne_zero]
   · rw [Ne.def, ENNReal.rpow_eq_top_iff, not_or, not_and_or, not_and_or]
     constructor
feat: Make the coercion ℝ≥0 → ℝ≥0∞ commute defeqly with nsmul and pow (#10225)

by tweaking the definition of the AddMonoid and MonoidWithZero instances for WithTop. Also unprotect ENNReal.coe_injective and rename ENNReal.coe_eq_coe → ENNReal.coe_inj.

From LeanAPAP

Diff
@@ -529,7 +529,7 @@ theorem snorm_norm_rpow (f : α → F) (hq_pos : 0 < q) :
       congr
       ext1 x
       conv_rhs => rw [← nnnorm_norm]
-      rw [ENNReal.coe_rpow_of_nonneg _ hq_pos.le, ENNReal.coe_eq_coe]
+      rw [ENNReal.coe_rpow_of_nonneg _ hq_pos.le, ENNReal.coe_inj]
       ext
       push_cast
       rw [Real.norm_rpow_of_nonneg (norm_nonneg _)]
@@ -737,7 +737,7 @@ theorem ae_eq_zero_of_snorm'_eq_zero {f : α → E} (hq0 : 0 ≤ q) (hf : AEStro
     cases hx with
     | inl hx =>
       cases' hx with hx _
-      rwa [← ENNReal.coe_zero, ENNReal.coe_eq_coe, nnnorm_eq_zero] at hx
+      rwa [← ENNReal.coe_zero, ENNReal.coe_inj, nnnorm_eq_zero] at hx
     | inr hx =>
       exact absurd hx.left ENNReal.coe_ne_top
   | inr h =>
chore(LpSeminorm): further split the file (#10207)
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2021 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne
 -/
-import Mathlib.MeasureTheory.Function.LpSeminorm
+import Mathlib.MeasureTheory.Function.LpSeminorm.Basic
 
 #align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"c4015acc0a223449d44061e27ddac1835a3852b9"
 
chore(LpSeminorm): further split the file (#10207)
chore(LpSeminorm): further split the file (#10207)
chore(LpSeminorm): further split the file (#10207)
chore(LpSeminorm): further split the file (#10207)
Diff
@@ -6,7 +6,7 @@ Authors: Rémy Degenne, Sébastien Gouëzel
 import Mathlib.Analysis.NormedSpace.IndicatorFunction
 import Mathlib.MeasureTheory.Function.EssSup
 import Mathlib.MeasureTheory.Function.AEEqFun
-import Mathlib.MeasureTheory.Integral.MeanInequalities
+import Mathlib.MeasureTheory.Function.SpecialFunctions.Basic
 
 #align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"c4015acc0a223449d44061e27ddac1835a3852b9"
 
@@ -40,7 +40,7 @@ set_option linter.uppercaseLean3 false
 
 open TopologicalSpace MeasureTheory Filter
 
-open NNReal ENNReal BigOperators Topology MeasureTheory
+open scoped NNReal ENNReal BigOperators Topology
 
 variable {α E F G : Type*} {m m0 : MeasurableSpace α} {p : ℝ≥0∞} {q : ℝ} {μ ν : Measure α}
   [NormedAddCommGroup E] [NormedAddCommGroup F] [NormedAddCommGroup G]
@@ -168,7 +168,7 @@ section Zero
 
 @[simp]
 theorem snorm'_exponent_zero {f : α → F} : snorm' f 0 μ = 1 := by
-  rw [snorm', _root_.div_zero, ENNReal.rpow_zero]
+  rw [snorm', div_zero, ENNReal.rpow_zero]
 #align measure_theory.snorm'_exponent_zero MeasureTheory.snorm'_exponent_zero
 
 @[simp]
@@ -326,10 +326,10 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
     snorm (fun _ : α => c) p μ < ∞ ↔ c = 0 ∨ μ Set.univ < ∞ := by
   have hp : 0 < p.toReal := ENNReal.toReal_pos hp_ne_zero hp_ne_top
   by_cases hμ : μ = 0
-  · simp only [hμ, Measure.coe_zero, Pi.zero_apply, or_true_iff, zero_lt_top,
+  · simp only [hμ, Measure.coe_zero, Pi.zero_apply, or_true_iff, ENNReal.zero_lt_top,
       snorm_measure_zero]
   by_cases hc : c = 0
-  · simp only [hc, true_or_iff, eq_self_iff_true, zero_lt_top, snorm_zero']
+  · simp only [hc, true_or_iff, eq_self_iff_true, ENNReal.zero_lt_top, snorm_zero']
   rw [snorm_const' c hp_ne_zero hp_ne_top]
   by_cases hμ_top : μ Set.univ = ∞
   · simp [hc, hμ_top, hp]
@@ -337,7 +337,7 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
   simp only [true_and_iff, one_div, ENNReal.rpow_eq_zero_iff, hμ, false_or_iff, or_false_iff,
     ENNReal.coe_lt_top, nnnorm_eq_zero, ENNReal.coe_eq_zero,
     MeasureTheory.Measure.measure_univ_eq_zero, hp, inv_lt_zero, hc, and_false_iff, false_and_iff,
-    _root_.inv_pos, or_self_iff, hμ_top, Ne.lt_top hμ_top, iff_true_iff]
+    inv_pos, or_self_iff, hμ_top, Ne.lt_top hμ_top, iff_true_iff]
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.mpr hp.le) hμ_top
 #align measure_theory.snorm_const_lt_top_iff MeasureTheory.snorm_const_lt_top_iff
 
@@ -356,9 +356,9 @@ theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun _ : α => c) p
 theorem memℒp_top_const (c : E) : Memℒp (fun _ : α => c) ∞ μ := by
   refine' ⟨aestronglyMeasurable_const, _⟩
   by_cases h : μ = 0
-  · simp only [h, snorm_measure_zero, zero_lt_top]
+  · simp only [h, snorm_measure_zero, ENNReal.zero_lt_top]
   · rw [snorm_const _ ENNReal.top_ne_zero h]
-    simp only [ENNReal.top_toReal, _root_.div_zero, ENNReal.rpow_zero, mul_one, ENNReal.coe_lt_top]
+    simp only [ENNReal.top_toReal, div_zero, ENNReal.rpow_zero, mul_one, ENNReal.coe_lt_top]
 #align measure_theory.mem_ℒp_top_const MeasureTheory.memℒp_top_const
 
 theorem memℒp_const_iff {p : ℝ≥0∞} {c : E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞) :
@@ -769,135 +769,6 @@ theorem snorm_eq_zero_iff {f : α → E} (hf : AEStronglyMeasurable f μ) (h0 :
   exact snorm'_eq_zero_iff (ENNReal.toReal_pos h0 h_top) hf
 #align measure_theory.snorm_eq_zero_iff MeasureTheory.snorm_eq_zero_iff
 
-theorem snorm'_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (hq1 : 1 ≤ q) : snorm' (f + g) q μ ≤ snorm' f q μ + snorm' g q μ :=
-  calc
-    (∫⁻ a, (‖(f + g) a‖₊ : ℝ≥0∞) ^ q ∂μ) ^ (1 / q) ≤
-        (∫⁻ a, ((fun a => (‖f a‖₊ : ℝ≥0∞)) + fun a => (‖g a‖₊ : ℝ≥0∞)) a ^ q ∂μ) ^ (1 / q) := by
-      gcongr with a
-      simp only [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe, nnnorm_add_le]
-    _ ≤ snorm' f q μ + snorm' g q μ := ENNReal.lintegral_Lp_add_le hf.ennnorm hg.ennnorm hq1
-#align measure_theory.snorm'_add_le MeasureTheory.snorm'_add_le
-
-theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ) (hq0 : 0 ≤ q)
-    (hq1 : q ≤ 1) : snorm' (f + g) q μ ≤ (2 : ℝ≥0∞) ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
-  calc
-    (∫⁻ a, (‖(f + g) a‖₊ : ℝ≥0∞) ^ q ∂μ) ^ (1 / q) ≤
-        (∫⁻ a, ((fun a => (‖f a‖₊ : ℝ≥0∞)) + fun a => (‖g a‖₊ : ℝ≥0∞)) a ^ q ∂μ) ^ (1 / q) := by
-      gcongr with a
-      simp only [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe, nnnorm_add_le]
-    _ ≤ (2 : ℝ≥0∞) ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
-      ENNReal.lintegral_Lp_add_le_of_le_one hf.ennnorm hq0 hq1
-#align measure_theory.snorm'_add_le_of_le_one MeasureTheory.snorm'_add_le_of_le_one
-
-theorem snormEssSup_add_le {f g : α → F} :
-    snormEssSup (f + g) μ ≤ snormEssSup f μ + snormEssSup g μ := by
-  refine' le_trans (essSup_mono_ae (eventually_of_forall fun x => _)) (ENNReal.essSup_add_le _ _)
-  simp_rw [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe]
-  exact nnnorm_add_le _ _
-#align measure_theory.snorm_ess_sup_add_le MeasureTheory.snormEssSup_add_le
-
-theorem snorm_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (hp1 : 1 ≤ p) : snorm (f + g) p μ ≤ snorm f p μ + snorm g p μ := by
-  by_cases hp0 : p = 0
-  · simp [hp0]
-  by_cases hp_top : p = ∞
-  · simp [hp_top, snormEssSup_add_le]
-  have hp1_real : 1 ≤ p.toReal := by
-    rwa [← ENNReal.one_toReal, ENNReal.toReal_le_toReal ENNReal.one_ne_top hp_top]
-  repeat rw [snorm_eq_snorm' hp0 hp_top]
-  exact snorm'_add_le hf hg hp1_real
-#align measure_theory.snorm_add_le MeasureTheory.snorm_add_le
-
-/-- A constant for the inequality `‖f + g‖_{L^p} ≤ C * (‖f‖_{L^p} + ‖g‖_{L^p})`. It is equal to `1`
-for `p ≥ 1` or `p = 0`, and `2^(1/p-1)` in the more tricky interval `(0, 1)`. -/
-def LpAddConst (p : ℝ≥0∞) : ℝ≥0∞ :=
-  if p ∈ Set.Ioo (0 : ℝ≥0∞) 1 then (2 : ℝ≥0∞) ^ (1 / p.toReal - 1) else 1
-#align measure_theory.Lp_add_const MeasureTheory.LpAddConst
-
-theorem LpAddConst_of_one_le {p : ℝ≥0∞} (hp : 1 ≤ p) : LpAddConst p = 1 := by
-  rw [LpAddConst, if_neg]
-  intro h
-  exact lt_irrefl _ (h.2.trans_le hp)
-#align measure_theory.Lp_add_const_of_one_le MeasureTheory.LpAddConst_of_one_le
-
-theorem LpAddConst_zero : LpAddConst 0 = 1 := by
-  rw [LpAddConst, if_neg]
-  intro h
-  exact lt_irrefl _ h.1
-#align measure_theory.Lp_add_const_zero MeasureTheory.LpAddConst_zero
-
-theorem LpAddConst_lt_top (p : ℝ≥0∞) : LpAddConst p < ∞ := by
-  rw [LpAddConst]
-  split_ifs with h
-  · apply ENNReal.rpow_lt_top_of_nonneg _ ENNReal.two_ne_top
-    simp only [one_div, sub_nonneg]
-    apply one_le_inv (ENNReal.toReal_pos h.1.ne' (h.2.trans ENNReal.one_lt_top).ne)
-    simpa using ENNReal.toReal_mono ENNReal.one_ne_top h.2.le
-  · exact ENNReal.one_lt_top
-#align measure_theory.Lp_add_const_lt_top MeasureTheory.LpAddConst_lt_top
-
-theorem snorm_add_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (p : ℝ≥0∞) : snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := by
-  rcases eq_or_ne p 0 with (rfl | hp)
-  · simp only [snorm_exponent_zero, add_zero, mul_zero, le_zero_iff]
-  rcases lt_or_le p 1 with (h'p | h'p)
-  · simp only [snorm_eq_snorm' hp (h'p.trans ENNReal.one_lt_top).ne]
-    convert snorm'_add_le_of_le_one hf ENNReal.toReal_nonneg _
-    · have : p ∈ Set.Ioo (0 : ℝ≥0∞) 1 := ⟨hp.bot_lt, h'p⟩
-      simp only [LpAddConst, if_pos this]
-    · simpa using ENNReal.toReal_mono ENNReal.one_ne_top h'p.le
-  · simp [LpAddConst_of_one_le h'p]
-    exact snorm_add_le hf hg h'p
-#align measure_theory.snorm_add_le' MeasureTheory.snorm_add_le'
-
-variable (μ E)
-
-/-- Technical lemma to control the addition of functions in `L^p` even for `p < 1`: Given `δ > 0`,
-there exists `η` such that two functions bounded by `η` in `L^p` have a sum bounded by `δ`. One
-could take `η = δ / 2` for `p ≥ 1`, but the point of the lemma is that it works also for `p < 1`.
--/
-theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
-    ∃ η : ℝ≥0∞,
-      0 < η ∧
-        ∀ (f g : α → E), AEStronglyMeasurable f μ → AEStronglyMeasurable g μ →
-          snorm f p μ ≤ η → snorm g p μ ≤ η → snorm (f + g) p μ < δ := by
-  have :
-    Tendsto (fun η : ℝ≥0∞ => LpAddConst p * (η + η)) (𝓝[>] 0) (𝓝 (LpAddConst p * (0 + 0))) :=
-    (ENNReal.Tendsto.const_mul (tendsto_id.add tendsto_id)
-          (Or.inr (LpAddConst_lt_top p).ne)).mono_left
-      nhdsWithin_le_nhds
-  simp only [add_zero, mul_zero] at this
-  rcases (((tendsto_order.1 this).2 δ hδ.bot_lt).and self_mem_nhdsWithin).exists with ⟨η, hη, ηpos⟩
-  refine' ⟨η, ηpos, fun f g hf hg Hf Hg => _⟩
-  calc
-    snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := snorm_add_le' hf hg p
-    _ ≤ LpAddConst p * (η + η) := by gcongr
-    _ < δ := hη
-#align measure_theory.exists_Lp_half MeasureTheory.exists_Lp_half
-
-variable {μ E}
-
-theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (p : ℝ≥0∞) : snorm (f - g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := by
-  simpa only [sub_eq_add_neg, snorm_neg] using snorm_add_le' hf hg.neg p
-#align measure_theory.snorm_sub_le' MeasureTheory.snorm_sub_le'
-
-theorem snorm_sub_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (hp : 1 ≤ p) : snorm (f - g) p μ ≤ snorm f p μ + snorm g p μ := by
-  simpa [LpAddConst_of_one_le hp] using snorm_sub_le' hf hg p
-#align measure_theory.snorm_sub_le MeasureTheory.snorm_sub_le
-
-theorem snorm_add_lt_top {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) :
-    snorm (f + g) p μ < ∞ :=
-  calc
-    snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
-      snorm_add_le' hf.aestronglyMeasurable hg.aestronglyMeasurable p
-    _ < ∞ := by
-      apply ENNReal.mul_lt_top (LpAddConst_lt_top p).ne
-      exact (ENNReal.add_lt_top.2 ⟨hf.2, hg.2⟩).ne
-#align measure_theory.snorm_add_lt_top MeasureTheory.snorm_add_lt_top
-
 theorem ae_le_snormEssSup {f : α → F} : ∀ᵐ y ∂μ, ‖f y‖₊ ≤ snormEssSup f μ :=
   ae_le_essSup
 #align measure_theory.ae_le_snorm_ess_sup MeasureTheory.ae_le_snormEssSup
@@ -910,7 +781,7 @@ lemma snormEssSup_piecewise {s : Set α} (f g : α → E) [DecidablePred (· ∈
     (hs : MeasurableSet s) :
     snormEssSup (Set.piecewise s f g) μ
       = max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ)) := by
-  simp only [snormEssSup, ← essSup_piecewise hs]
+  simp only [snormEssSup, ← ENNReal.essSup_piecewise hs]
   congr with x
   by_cases hx : x ∈ s <;> simp [hx]
 
@@ -993,225 +864,6 @@ theorem _root_.MeasurableEquiv.memℒp_map_measure_iff (f : α ≃ᵐ β) {g : 
 
 end MapMeasure
 
-theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq : p ≤ q) {f : α → E}
-    (hf : AEStronglyMeasurable f μ) :
-    snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) := by
-  have hq0_lt : 0 < q := lt_of_lt_of_le hp0_lt hpq
-  by_cases hpq_eq : p = q
-  · rw [hpq_eq, sub_self, ENNReal.rpow_zero, mul_one]
-  have hpq : p < q := lt_of_le_of_ne hpq hpq_eq
-  let g := fun _ : α => (1 : ℝ≥0∞)
-  have h_rw : (∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ p ∂μ) = ∫⁻ a, ((‖f a‖₊ : ℝ≥0∞) * g a) ^ p ∂μ :=
-    lintegral_congr fun a => by simp
-  repeat' rw [snorm']
-  rw [h_rw]
-  let r := p * q / (q - p)
-  have hpqr : 1 / p = 1 / q + 1 / r := by
-    field_simp [(ne_of_lt hp0_lt).symm, (ne_of_lt hq0_lt).symm]
-    ring
-  calc
-    (∫⁻ a : α, (↑‖f a‖₊ * g a) ^ p ∂μ) ^ (1 / p) ≤
-        (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * (∫⁻ a : α, g a ^ r ∂μ) ^ (1 / r) :=
-      ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm aemeasurable_const
-    _ = (∫⁻ a : α, ↑‖f a‖₊ ^ q ∂μ) ^ (1 / q) * μ Set.univ ^ (1 / p - 1 / q) := by
-      rw [hpqr]; simp
-#align measure_theory.snorm'_le_snorm'_mul_rpow_measure_univ MeasureTheory.snorm'_le_snorm'_mul_rpow_measure_univ
-
-theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α → F} :
-    snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q) := by
-  have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _ : α, snormEssSup f μ ^ q ∂μ := by
-    refine' lintegral_mono_ae _
-    have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
-    refine' h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
-  rw [snorm', ← ENNReal.rpow_one (snormEssSup f μ)]
-  nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
-  rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
-  gcongr
-  rwa [lintegral_const] at h_le
-#align measure_theory.snorm'_le_snorm_ess_sup_mul_rpow_measure_univ MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
-
-theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q) {f : α → E}
-    (hf : AEStronglyMeasurable f μ) :
-    snorm f p μ ≤ snorm f q μ * μ Set.univ ^ (1 / p.toReal - 1 / q.toReal) := by
-  by_cases hp0 : p = 0
-  · simp [hp0, zero_le]
-  rw [← Ne.def] at hp0
-  have hp0_lt : 0 < p := lt_of_le_of_ne (zero_le _) hp0.symm
-  have hq0_lt : 0 < q := lt_of_lt_of_le hp0_lt hpq
-  by_cases hq_top : q = ∞
-  · simp only [hq_top, _root_.div_zero, one_div, ENNReal.top_toReal, sub_zero, snorm_exponent_top,
-      GroupWithZero.inv_zero]
-    by_cases hp_top : p = ∞
-    · simp only [hp_top, ENNReal.rpow_zero, mul_one, ENNReal.top_toReal, sub_zero,
-        GroupWithZero.inv_zero, snorm_exponent_top]
-      exact le_rfl
-    rw [snorm_eq_snorm' hp0 hp_top]
-    have hp_pos : 0 < p.toReal := ENNReal.toReal_pos hp0_lt.ne' hp_top
-    refine' (snorm'_le_snormEssSup_mul_rpow_measure_univ hp_pos).trans (le_of_eq _)
-    congr
-    exact one_div _
-  have hp_lt_top : p < ∞ := hpq.trans_lt (lt_top_iff_ne_top.mpr hq_top)
-  have hp_pos : 0 < p.toReal := ENNReal.toReal_pos hp0_lt.ne' hp_lt_top.ne
-  rw [snorm_eq_snorm' hp0_lt.ne.symm hp_lt_top.ne, snorm_eq_snorm' hq0_lt.ne.symm hq_top]
-  have hpq_real : p.toReal ≤ q.toReal := by rwa [ENNReal.toReal_le_toReal hp_lt_top.ne hq_top]
-  exact snorm'_le_snorm'_mul_rpow_measure_univ hp_pos hpq_real hf
-#align measure_theory.snorm_le_snorm_mul_rpow_measure_univ MeasureTheory.snorm_le_snorm_mul_rpow_measure_univ
-
-theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp0_lt : 0 < p)
-    (hpq : p ≤ q) (μ : Measure α) [IsProbabilityMeasure μ] {f : α → E}
-    (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ := by
-  have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
-  rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ
-#align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
-
-theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [IsProbabilityMeasure μ] :
-    snorm' f q μ ≤ snormEssSup f μ :=
-  le_trans (snorm'_le_snormEssSup_mul_rpow_measure_univ hq_pos) (le_of_eq (by simp [measure_univ]))
-#align measure_theory.snorm'_le_snorm_ess_sup MeasureTheory.snorm'_le_snormEssSup
-
-theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [IsProbabilityMeasure μ]
-    {f : α → E} (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
-  (snorm_le_snorm_mul_rpow_measure_univ hpq hf).trans (le_of_eq (by simp [measure_univ]))
-#align measure_theory.snorm_le_snorm_of_exponent_le MeasureTheory.snorm_le_snorm_of_exponent_le
-
-theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasure μ] {f : α → E}
-    (hf : AEStronglyMeasurable f μ) (hfq_lt_top : snorm' f q μ < ∞) (hp_nonneg : 0 ≤ p)
-    (hpq : p ≤ q) : snorm' f p μ < ∞ := by
-  rcases le_or_lt p 0 with hp_nonpos | hp_pos
-  · rw [le_antisymm hp_nonpos hp_nonneg]
-    simp
-  have hq_pos : 0 < q := lt_of_lt_of_le hp_pos hpq
-  calc
-    snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) :=
-      snorm'_le_snorm'_mul_rpow_measure_univ hp_pos hpq hf
-    _ < ∞ := by
-      rw [ENNReal.mul_lt_top_iff]
-      refine' Or.inl ⟨hfq_lt_top, ENNReal.rpow_lt_top_of_nonneg _ (measure_ne_top μ Set.univ)⟩
-      rwa [le_sub_comm, sub_zero, one_div, one_div, inv_le_inv hq_pos hp_pos]
-#align measure_theory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le MeasureTheory.snorm'_lt_top_of_snorm'_lt_top_of_exponent_le
-
-variable (μ)
-
-theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
-    (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    (ε * μ { x | ε ≤ (‖f x‖₊ : ℝ≥0∞) ^ p.toReal }) ^ (1 / p.toReal) ≤ snorm f p μ := by
-  rw [snorm_eq_lintegral_rpow_nnnorm hp_ne_zero hp_ne_top]
-  gcongr
-  exact mul_meas_ge_le_lintegral₀ (hf.ennnorm.pow_const _) ε
-#align measure_theory.pow_mul_meas_ge_le_snorm MeasureTheory.pow_mul_meas_ge_le_snorm
-
-theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
-    (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    ε * μ { x | ε ≤ (‖f x‖₊ : ℝ≥0∞) ^ p.toReal } ≤ snorm f p μ ^ p.toReal := by
-  have : 1 / p.toReal * p.toReal = 1 := by
-    refine' one_div_mul_cancel _
-    rw [Ne, ENNReal.toReal_eq_zero_iff]
-    exact not_or_of_not hp_ne_zero hp_ne_top
-  rw [← ENNReal.rpow_one (ε * μ { x | ε ≤ (‖f x‖₊ : ℝ≥0∞) ^ p.toReal }), ← this, ENNReal.rpow_mul]
-  gcongr
-  exact pow_mul_meas_ge_le_snorm μ hp_ne_zero hp_ne_top hf ε
-#align measure_theory.mul_meas_ge_le_pow_snorm MeasureTheory.mul_meas_ge_le_pow_snorm
-
-/-- A version of Markov's inequality using Lp-norms. -/
-theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
-    (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
-    ε ^ p.toReal * μ { x | ε ≤ ‖f x‖₊ } ≤ snorm f p μ ^ p.toReal := by
-  convert mul_meas_ge_le_pow_snorm μ hp_ne_zero hp_ne_top hf (ε ^ p.toReal) using 4
-  ext x
-  rw [ENNReal.rpow_le_rpow_iff (ENNReal.toReal_pos hp_ne_zero hp_ne_top)]
-#align measure_theory.mul_meas_ge_le_pow_snorm' MeasureTheory.mul_meas_ge_le_pow_snorm'
-
-theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
-    (hf : AEStronglyMeasurable f μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) :
-    μ { x | ε ≤ ‖f x‖₊ } ≤ ε⁻¹ ^ p.toReal * snorm f p μ ^ p.toReal := by
-  by_cases h : ε = ∞
-  · simp [h]
-  have hεpow : ε ^ p.toReal ≠ 0 := (ENNReal.rpow_pos (pos_iff_ne_zero.2 hε) h).ne.symm
-  have hεpow' : ε ^ p.toReal ≠ ∞ := ENNReal.rpow_ne_top_of_nonneg ENNReal.toReal_nonneg h
-  rw [ENNReal.inv_rpow, ← ENNReal.mul_le_mul_left hεpow hεpow', ← mul_assoc,
-    ENNReal.mul_inv_cancel hεpow hεpow', one_mul]
-  exact mul_meas_ge_le_pow_snorm' μ hp_ne_zero hp_ne_top hf ε
-#align measure_theory.meas_ge_le_mul_pow_snorm MeasureTheory.meas_ge_le_mul_pow_snorm
-
-variable {μ}
-
-theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
-    (hpq : p ≤ q) : Memℒp f p μ := by
-  cases' hfq with hfq_m hfq_lt_top
-  by_cases hp0 : p = 0
-  · rwa [hp0, memℒp_zero_iff_aestronglyMeasurable]
-  rw [← Ne.def] at hp0
-  refine' ⟨hfq_m, _⟩
-  by_cases hp_top : p = ∞
-  · have hq_top : q = ∞ := by rwa [hp_top, top_le_iff] at hpq
-    rw [hp_top]
-    rwa [hq_top] at hfq_lt_top
-  have hp_pos : 0 < p.toReal := ENNReal.toReal_pos hp0 hp_top
-  by_cases hq_top : q = ∞
-  · rw [snorm_eq_snorm' hp0 hp_top]
-    rw [hq_top, snorm_exponent_top] at hfq_lt_top
-    refine' lt_of_le_of_lt (snorm'_le_snormEssSup_mul_rpow_measure_univ hp_pos) _
-    refine' ENNReal.mul_lt_top hfq_lt_top.ne _
-    exact (ENNReal.rpow_lt_top_of_nonneg (by simp [hp_pos.le]) (measure_ne_top μ Set.univ)).ne
-  have hq0 : q ≠ 0 := by
-    by_contra hq_eq_zero
-    have hp_eq_zero : p = 0 := le_antisymm (by rwa [hq_eq_zero] at hpq) (zero_le _)
-    rw [hp_eq_zero, ENNReal.zero_toReal] at hp_pos
-    exact (lt_irrefl _) hp_pos
-  have hpq_real : p.toReal ≤ q.toReal := by rwa [ENNReal.toReal_le_toReal hp_top hq_top]
-  rw [snorm_eq_snorm' hp0 hp_top]
-  rw [snorm_eq_snorm' hq0 hq_top] at hfq_lt_top
-  exact snorm'_lt_top_of_snorm'_lt_top_of_exponent_le hfq_m hfq_lt_top (le_of_lt hp_pos) hpq_real
-#align measure_theory.mem_ℒp.mem_ℒp_of_exponent_le MeasureTheory.Memℒp.memℒp_of_exponent_le
-
-section MeasurableAdd
-
--- variable [MeasurableAdd₂ E]
-theorem snorm'_sum_le {ι} {f : ι → α → E} {s : Finset ι}
-    (hfs : ∀ i, i ∈ s → AEStronglyMeasurable (f i) μ) (hq1 : 1 ≤ q) :
-    snorm' (∑ i in s, f i) q μ ≤ ∑ i in s, snorm' (f i) q μ :=
-  Finset.le_sum_of_subadditive_on_pred (fun f : α → E => snorm' f q μ)
-    (fun f => AEStronglyMeasurable f μ) (snorm'_zero (zero_lt_one.trans_le hq1))
-    (fun _f _g hf hg => snorm'_add_le hf hg hq1) (fun _f _g hf hg => hf.add hg) _ hfs
-#align measure_theory.snorm'_sum_le MeasureTheory.snorm'_sum_le
-
-theorem snorm_sum_le {ι} {f : ι → α → E} {s : Finset ι}
-    (hfs : ∀ i, i ∈ s → AEStronglyMeasurable (f i) μ) (hp1 : 1 ≤ p) :
-    snorm (∑ i in s, f i) p μ ≤ ∑ i in s, snorm (f i) p μ :=
-  Finset.le_sum_of_subadditive_on_pred (fun f : α → E => snorm f p μ)
-    (fun f => AEStronglyMeasurable f μ) snorm_zero (fun _f _g hf hg => snorm_add_le hf hg hp1)
-    (fun _f _g hf hg => hf.add hg) _ hfs
-#align measure_theory.snorm_sum_le MeasureTheory.snorm_sum_le
-
-theorem Memℒp.add {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f + g) p μ :=
-  ⟨AEStronglyMeasurable.add hf.1 hg.1, snorm_add_lt_top hf hg⟩
-#align measure_theory.mem_ℒp.add MeasureTheory.Memℒp.add
-
-theorem Memℒp.sub {f g : α → E} (hf : Memℒp f p μ) (hg : Memℒp g p μ) : Memℒp (f - g) p μ := by
-  rw [sub_eq_add_neg]
-  exact hf.add hg.neg
-#align measure_theory.mem_ℒp.sub MeasureTheory.Memℒp.sub
-
-theorem memℒp_finset_sum {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
-    Memℒp (fun a => ∑ i in s, f i a) p μ := by
-  haveI : DecidableEq ι := Classical.decEq _
-  revert hf
-  refine' Finset.induction_on s _ _
-  · simp only [zero_mem_ℒp', Finset.sum_empty, imp_true_iff]
-  · intro i s his ih hf
-    simp only [his, Finset.sum_insert, not_false_iff]
-    exact (hf i (s.mem_insert_self i)).add (ih fun j hj => hf j (Finset.mem_insert_of_mem hj))
-#align measure_theory.mem_ℒp_finset_sum MeasureTheory.memℒp_finset_sum
-
-theorem memℒp_finset_sum' {ι} (s : Finset ι) {f : ι → α → E} (hf : ∀ i ∈ s, Memℒp (f i) p μ) :
-    Memℒp (∑ i in s, f i) p μ := by
-  convert memℒp_finset_sum s hf using 1
-  ext x
-  simp
-#align measure_theory.mem_ℒp_finset_sum' MeasureTheory.memℒp_finset_sum'
-
-end MeasurableAdd
-
 section Monotonicity
 
 theorem snorm'_le_nnreal_smul_snorm'_of_ae_le_mul {f : α → F} {g : α → G} {c : ℝ≥0}
@@ -1289,126 +941,6 @@ theorem Memℒp.of_le_mul {f : α → E} {g : α → F} {c : ℝ} (hg : Memℒp
       ENNReal.mul_lt_top ENNReal.ofReal_ne_top hg.snorm_ne_top⟩
 #align measure_theory.mem_ℒp.of_le_mul MeasureTheory.Memℒp.of_le_mul
 
-theorem snorm'_le_snorm'_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStronglyMeasurable f μ)
-    {g : α → F} (hg : AEStronglyMeasurable g μ) (b : E → F → G)
-    (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) (hp0_lt : 0 < p) (hpq : p < q)
-    (hpqr : 1 / p = 1 / q + 1 / r) :
-    snorm' (fun x => b (f x) (g x)) p μ ≤ snorm' f q μ * snorm' g r μ := by
-  rw [snorm']
-  calc
-    (∫⁻ a : α, ↑‖b (f a) (g a)‖₊ ^ p ∂μ) ^ (1 / p) ≤
-        (∫⁻ a : α, ↑(‖f a‖₊ * ‖g a‖₊) ^ p ∂μ) ^ (1 / p) :=
-      (ENNReal.rpow_le_rpow_iff <| one_div_pos.mpr hp0_lt).mpr <|
-        lintegral_mono_ae <|
-          h.mono fun a ha => (ENNReal.rpow_le_rpow_iff hp0_lt).mpr <| ENNReal.coe_le_coe.mpr <| ha
-    _ ≤ _ := ?_
-  simp_rw [snorm', ENNReal.coe_mul]
-  exact ENNReal.lintegral_Lp_mul_le_Lq_mul_Lr hp0_lt hpq hpqr μ hf.ennnorm hg.ennnorm
-#align measure_theory.snorm'_le_snorm'_mul_snorm' MeasureTheory.snorm'_le_snorm'_mul_snorm'
-
-theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α → F}
-    (hg : AEStronglyMeasurable g μ) (b : E → F → G)
-    (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) :
-    snorm (fun x => b (f x) (g x)) p μ ≤ snorm f ∞ μ * snorm g p μ := by
-  by_cases hp_top : p = ∞
-  · simp_rw [hp_top, snorm_exponent_top]
-    refine' le_trans (essSup_mono_ae <| h.mono fun a ha => _) (ENNReal.essSup_mul_le _ _)
-    simp_rw [Pi.mul_apply, ← ENNReal.coe_mul, ENNReal.coe_le_coe]
-    exact ha
-  by_cases hp_zero : p = 0
-  · simp only [hp_zero, snorm_exponent_zero, mul_zero, le_zero_iff]
-  simp_rw [snorm_eq_lintegral_rpow_nnnorm hp_zero hp_top, snorm_exponent_top, snormEssSup]
-  calc
-    (∫⁻ x, (‖b (f x) (g x)‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) ≤
-        (∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ^ p.toReal * (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
-      gcongr ?_ ^ _
-      refine' lintegral_mono_ae (h.mono fun a ha => _)
-      rw [← ENNReal.mul_rpow_of_nonneg _ _ ENNReal.toReal_nonneg]
-      refine' ENNReal.rpow_le_rpow _ ENNReal.toReal_nonneg
-      rw [← ENNReal.coe_mul, ENNReal.coe_le_coe]
-      exact ha
-    _ ≤
-        (∫⁻ x, essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ ^ p.toReal * (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^
-          (1 / p.toReal) := by
-      gcongr ?_ ^ _
-      refine' lintegral_mono_ae _
-      filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => (‖f x‖₊ : ℝ≥0∞)] with x hx
-      gcongr
-    _ = essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ *
-        (∫⁻ x, (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
-      rw [lintegral_const_mul'']
-      swap; · exact hg.nnnorm.aemeasurable.coe_nnreal_ennreal.pow aemeasurable_const
-      rw [ENNReal.mul_rpow_of_nonneg]
-      swap;
-      · rw [one_div_nonneg]
-        exact ENNReal.toReal_nonneg
-      rw [← ENNReal.rpow_mul, one_div, mul_inv_cancel, ENNReal.rpow_one]
-      rw [Ne.def, ENNReal.toReal_eq_zero_iff, not_or]
-      exact ⟨hp_zero, hp_top⟩
-#align measure_theory.snorm_le_snorm_top_mul_snorm MeasureTheory.snorm_le_snorm_top_mul_snorm
-
-theorem snorm_le_snorm_mul_snorm_top (p : ℝ≥0∞) {f : α → E} (hf : AEStronglyMeasurable f μ)
-    (g : α → F) (b : E → F → G) (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) :
-    snorm (fun x => b (f x) (g x)) p μ ≤ snorm f p μ * snorm g ∞ μ := by
-  rw [← snorm_norm f, ← snorm_norm g]
-  refine' (snorm_mono_ae_real h).trans _
-  simp_rw [mul_comm ‖f _‖₊, val_eq_coe, NNReal.coe_mul, coe_nnnorm]
-  rw [mul_comm]
-  refine' snorm_le_snorm_top_mul_snorm p (fun x => ‖g x‖) hf.norm _ (h.mono fun x _ => _)
-  simp_rw [nnnorm_mul]
-  rfl
-#align measure_theory.snorm_le_snorm_mul_snorm_top MeasureTheory.snorm_le_snorm_mul_snorm_top
-
-/-- Hölder's inequality, as an inequality on the `ℒp` seminorm of an elementwise operation
-`fun x => b (f x) (g x)`. -/
-theorem snorm_le_snorm_mul_snorm_of_nnnorm {p q r : ℝ≥0∞} {f : α → E}
-    (hf : AEStronglyMeasurable f μ) {g : α → F} (hg : AEStronglyMeasurable g μ) (b : E → F → G)
-    (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖₊ ≤ ‖f x‖₊ * ‖g x‖₊) (hpqr : 1 / p = 1 / q + 1 / r) :
-    snorm (fun x => b (f x) (g x)) p μ ≤ snorm f q μ * snorm g r μ := by
-  by_cases hp_zero : p = 0
-  · simp [hp_zero]
-  have hq_ne_zero : q ≠ 0 := by
-    intro hq_zero
-    simp only [hq_zero, hp_zero, one_div, ENNReal.inv_zero, top_add, ENNReal.inv_eq_top] at hpqr
-  have hr_ne_zero : r ≠ 0 := by
-    intro hr_zero
-    simp only [hr_zero, hp_zero, one_div, ENNReal.inv_zero, add_top, ENNReal.inv_eq_top] at hpqr
-  by_cases hq_top : q = ∞
-  · have hpr : p = r := by
-      simpa only [hq_top, one_div, ENNReal.inv_top, zero_add, inv_inj] using hpqr
-    rw [← hpr, hq_top]
-    exact snorm_le_snorm_top_mul_snorm p f hg b h
-  by_cases hr_top : r = ∞
-  · have hpq : p = q := by
-      simpa only [hr_top, one_div, ENNReal.inv_top, add_zero, inv_inj] using hpqr
-    rw [← hpq, hr_top]
-    exact snorm_le_snorm_mul_snorm_top p hf g b h
-  have hpq : p < q := by
-    suffices 1 / q < 1 / p by rwa [one_div, one_div, ENNReal.inv_lt_inv] at this
-    rw [hpqr]
-    refine' ENNReal.lt_add_right _ _
-    · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
-    · simp only [hr_top, one_div, Ne.def, ENNReal.inv_eq_zero, not_false_iff]
-  rw [snorm_eq_snorm' hp_zero (hpq.trans_le le_top).ne, snorm_eq_snorm' hq_ne_zero hq_top,
-    snorm_eq_snorm' hr_ne_zero hr_top]
-  refine' snorm'_le_snorm'_mul_snorm' hf hg _ h _ _ _
-  · exact ENNReal.toReal_pos hp_zero (hpq.trans_le le_top).ne
-  · exact ENNReal.toReal_strict_mono hq_top hpq
-  rw [← ENNReal.one_toReal, ← ENNReal.toReal_div, ← ENNReal.toReal_div, ← ENNReal.toReal_div, hpqr,
-    ENNReal.toReal_add]
-  · simp only [hq_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
-  · simp only [hr_ne_zero, one_div, Ne.def, ENNReal.inv_eq_top, not_false_iff]
-#align measure_theory.snorm_le_snorm_mul_snorm_of_nnnorm MeasureTheory.snorm_le_snorm_mul_snorm_of_nnnorm
-
-/-- Hölder's inequality, as an inequality on the `ℒp` seminorm of an elementwise operation
-`fun x => b (f x) (g x)`. -/
-theorem snorm_le_snorm_mul_snorm'_of_norm {p q r : ℝ≥0∞} {f : α → E} (hf : AEStronglyMeasurable f μ)
-    {g : α → F} (hg : AEStronglyMeasurable g μ) (b : E → F → G)
-    (h : ∀ᵐ x ∂μ, ‖b (f x) (g x)‖ ≤ ‖f x‖ * ‖g x‖) (hpqr : 1 / p = 1 / q + 1 / r) :
-    snorm (fun x => b (f x) (g x)) p μ ≤ snorm f q μ * snorm g r μ :=
-  snorm_le_snorm_mul_snorm_of_nnnorm hf hg b h hpqr
-#align measure_theory.snorm_le_snorm_mul_snorm'_of_norm MeasureTheory.snorm_le_snorm_mul_snorm'_of_norm
-
 end Monotonicity
 
 /-!
@@ -1416,7 +948,6 @@ end Monotonicity
 In this section we show inequalities on the norm.
 -/
 
-
 section BoundedSMul
 
 variable {𝕜 : Type*} [NormedRing 𝕜] [MulActionWithZero 𝕜 E] [MulActionWithZero 𝕜 F]
@@ -1449,53 +980,6 @@ theorem Memℒp.const_mul {R} [NormedRing R] {f : α → R} (hf : Memℒp f p μ
   hf.const_smul c
 #align measure_theory.mem_ℒp.const_mul MeasureTheory.Memℒp.const_mul
 
-theorem snorm'_smul_le_mul_snorm' {p q r : ℝ} {f : α → E} (hf : AEStronglyMeasurable f μ)
-    {φ : α → 𝕜} (hφ : AEStronglyMeasurable φ μ) (hp0_lt : 0 < p) (hpq : p < q)
-    (hpqr : 1 / p = 1 / q + 1 / r) : snorm' (φ • f) p μ ≤ snorm' φ q μ * snorm' f r μ :=
-  snorm'_le_snorm'_mul_snorm' hφ hf (· • ·) (eventually_of_forall fun _ => nnnorm_smul_le _ _)
-    hp0_lt hpq hpqr
-#align measure_theory.snorm'_smul_le_mul_snorm' MeasureTheory.snorm'_smul_le_mul_snorm'
-
-theorem snorm_smul_le_snorm_top_mul_snorm (p : ℝ≥0∞) {f : α → E} (hf : AEStronglyMeasurable f μ)
-    (φ : α → 𝕜) : snorm (φ • f) p μ ≤ snorm φ ∞ μ * snorm f p μ :=
-  (snorm_le_snorm_top_mul_snorm p φ hf (· • ·) (eventually_of_forall fun _ => nnnorm_smul_le _ _) :
-    _)
-#align measure_theory.snorm_smul_le_snorm_top_mul_snorm MeasureTheory.snorm_smul_le_snorm_top_mul_snorm
-
-theorem snorm_smul_le_snorm_mul_snorm_top (p : ℝ≥0∞) (f : α → E) {φ : α → 𝕜}
-    (hφ : AEStronglyMeasurable φ μ) : snorm (φ • f) p μ ≤ snorm φ p μ * snorm f ∞ μ :=
-  (snorm_le_snorm_mul_snorm_top p hφ f (· • ·) (eventually_of_forall fun _ => nnnorm_smul_le _ _) :
-    _)
-#align measure_theory.snorm_smul_le_snorm_mul_snorm_top MeasureTheory.snorm_smul_le_snorm_mul_snorm_top
-
-/-- Hölder's inequality, as an inequality on the `ℒp` seminorm of a scalar product `φ • f`. -/
-theorem snorm_smul_le_mul_snorm {p q r : ℝ≥0∞} {f : α → E} (hf : AEStronglyMeasurable f μ)
-    {φ : α → 𝕜} (hφ : AEStronglyMeasurable φ μ) (hpqr : 1 / p = 1 / q + 1 / r) :
-    snorm (φ • f) p μ ≤ snorm φ q μ * snorm f r μ :=
-  (snorm_le_snorm_mul_snorm_of_nnnorm hφ hf (· • ·)
-      (eventually_of_forall fun _ => nnnorm_smul_le _ _) hpqr :
-    _)
-#align measure_theory.snorm_smul_le_mul_snorm MeasureTheory.snorm_smul_le_mul_snorm
-
-theorem Memℒp.smul {p q r : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f r μ) (hφ : Memℒp φ q μ)
-    (hpqr : 1 / p = 1 / q + 1 / r) : Memℒp (φ • f) p μ :=
-  ⟨hφ.1.smul hf.1,
-    (snorm_smul_le_mul_snorm hf.1 hφ.1 hpqr).trans_lt
-      (ENNReal.mul_lt_top hφ.snorm_ne_top hf.snorm_ne_top)⟩
-#align measure_theory.mem_ℒp.smul MeasureTheory.Memℒp.smul
-
-theorem Memℒp.smul_of_top_right {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f p μ)
-    (hφ : Memℒp φ ∞ μ) : Memℒp (φ • f) p μ := by
-  apply hf.smul hφ
-  simp only [ENNReal.div_top, zero_add]
-#align measure_theory.mem_ℒp.smul_of_top_right MeasureTheory.Memℒp.smul_of_top_right
-
-theorem Memℒp.smul_of_top_left {p : ℝ≥0∞} {f : α → E} {φ : α → 𝕜} (hf : Memℒp f ∞ μ)
-    (hφ : Memℒp φ p μ) : Memℒp (φ • f) p μ := by
-  apply hf.smul hφ
-  simp only [ENNReal.div_top, add_zero]
-#align measure_theory.mem_ℒp.smul_of_top_left MeasureTheory.Memℒp.smul_of_top_left
-
 end BoundedSMul
 
 /-!
chore(LpSeminorm): move Trim section to a new flie (#10197)
chore(LpSeminorm): move Trim section to a new flie (#10197)
Diff
@@ -993,64 +993,6 @@ theorem _root_.MeasurableEquiv.memℒp_map_measure_iff (f : α ≃ᵐ β) {g : 
 
 end MapMeasure
 
-section Trim
-
-theorem snorm'_trim (hm : m ≤ m0) {f : α → E} (hf : StronglyMeasurable[m] f) :
-    snorm' f q (ν.trim hm) = snorm' f q ν := by
-  simp_rw [snorm']
-  congr 1
-  refine' lintegral_trim hm _
-  refine' @Measurable.pow_const _ _ _ _ _ _ _ m _ (@Measurable.coe_nnreal_ennreal _ m _ _) q
-  apply @StronglyMeasurable.measurable
-  exact @StronglyMeasurable.nnnorm α m _ _ _ hf
-#align measure_theory.snorm'_trim MeasureTheory.snorm'_trim
-
-theorem limsup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : Measurable[m] f) :
-    (ν.trim hm).ae.limsup f = ν.ae.limsup f := by
-  simp_rw [limsup_eq]
-  suffices h_set_eq : { a : ℝ≥0∞ | ∀ᵐ n ∂ν.trim hm, f n ≤ a } = { a : ℝ≥0∞ | ∀ᵐ n ∂ν, f n ≤ a }
-  · rw [h_set_eq]
-  ext1 a
-  suffices h_meas_eq : ν { x | ¬f x ≤ a } = ν.trim hm { x | ¬f x ≤ a }
-  · simp_rw [Set.mem_setOf_eq, ae_iff, h_meas_eq]; rfl
-  refine' (trim_measurableSet_eq hm _).symm
-  refine' @MeasurableSet.compl _ _ m (@measurableSet_le ℝ≥0∞ _ _ _ _ m _ _ _ _ _ hf _)
-  exact @measurable_const _ _ _ m _
-#align measure_theory.limsup_trim MeasureTheory.limsup_trim
-
-theorem essSup_trim (hm : m ≤ m0) {f : α → ℝ≥0∞} (hf : Measurable[m] f) :
-    essSup f (ν.trim hm) = essSup f ν := by
-  simp_rw [essSup]
-  exact limsup_trim hm hf
-#align measure_theory.ess_sup_trim MeasureTheory.essSup_trim
-
-theorem snormEssSup_trim (hm : m ≤ m0) {f : α → E} (hf : StronglyMeasurable[m] f) :
-    snormEssSup f (ν.trim hm) = snormEssSup f ν :=
-  essSup_trim _ (@StronglyMeasurable.ennnorm _ m _ _ _ hf)
-#align measure_theory.snorm_ess_sup_trim MeasureTheory.snormEssSup_trim
-
-theorem snorm_trim (hm : m ≤ m0) {f : α → E} (hf : StronglyMeasurable[m] f) :
-    snorm f p (ν.trim hm) = snorm f p ν := by
-  by_cases h0 : p = 0
-  · simp [h0]
-  by_cases h_top : p = ∞
-  · simpa only [h_top, snorm_exponent_top] using snormEssSup_trim hm hf
-  simpa only [snorm_eq_snorm' h0 h_top] using snorm'_trim hm hf
-#align measure_theory.snorm_trim MeasureTheory.snorm_trim
-
-theorem snorm_trim_ae (hm : m ≤ m0) {f : α → E} (hf : AEStronglyMeasurable f (ν.trim hm)) :
-    snorm f p (ν.trim hm) = snorm f p ν := by
-  rw [snorm_congr_ae hf.ae_eq_mk, snorm_congr_ae (ae_eq_of_ae_eq_trim hf.ae_eq_mk)]
-  exact snorm_trim hm hf.stronglyMeasurable_mk
-#align measure_theory.snorm_trim_ae MeasureTheory.snorm_trim_ae
-
-theorem memℒp_of_memℒp_trim (hm : m ≤ m0) {f : α → E} (hf : Memℒp f p (ν.trim hm)) : Memℒp f p ν :=
-  ⟨aestronglyMeasurable_of_aestronglyMeasurable_trim hm hf.1,
-    (le_of_eq (snorm_trim_ae hm hf.1).symm).trans_lt hf.2⟩
-#align measure_theory.mem_ℒp_of_mem_ℒp_trim MeasureTheory.memℒp_of_memℒp_trim
-
-end Trim
-
 theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq : p ≤ q) {f : α → E}
     (hf : AEStronglyMeasurable f μ) :
     snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) := by
chore: scope symmDiff notations (#9844)

Those notations are not scoped whereas the file is very low in the import hierarchy.

Diff
@@ -488,6 +488,7 @@ theorem snorm_congr_norm_ae {f : α → F} {g : α → G} (hfg : ∀ᵐ x ∂μ,
   snorm_congr_nnnorm_ae <| hfg.mono fun _x hx => NNReal.eq hx
 #align measure_theory.snorm_congr_norm_ae MeasureTheory.snorm_congr_norm_ae
 
+open scoped symmDiff in
 theorem snorm_indicator_sub_indicator (s t : Set α) (f : α → E) :
     snorm (s.indicator f - t.indicator f) p μ = snorm ((s ∆ t).indicator f) p μ :=
   snorm_congr_norm_ae <| ae_of_all _ fun x ↦ by
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne, Sébastien Gouëzel
 -/
 import Mathlib.Analysis.NormedSpace.IndicatorFunction
-import Mathlib.Analysis.SpecialFunctions.Pow.Continuity
 import Mathlib.MeasureTheory.Function.EssSup
 import Mathlib.MeasureTheory.Function.AEEqFun
 import Mathlib.MeasureTheory.Integral.MeanInequalities
chore: Rename rpow_nonneg_of_nonneg to rpow_nonneg (#9518)

This better matches other lemma names.

From LeanAPAP

Diff
@@ -512,7 +512,7 @@ theorem snorm'_norm_rpow (f : α → F) (p q : ℝ) (hq_pos : 0 < q) :
   congr
   ext1 x
   simp_rw [← ofReal_norm_eq_coe_nnnorm]
-  rw [Real.norm_eq_abs, abs_eq_self.mpr (Real.rpow_nonneg_of_nonneg (norm_nonneg _) _), mul_comm, ←
+  rw [Real.norm_eq_abs, abs_eq_self.mpr (Real.rpow_nonneg (norm_nonneg _) _), mul_comm, ←
     ENNReal.ofReal_rpow_of_nonneg (norm_nonneg _) hq_pos.le, ENNReal.rpow_mul]
 #align measure_theory.snorm'_norm_rpow MeasureTheory.snorm'_norm_rpow
 
refactor: Deduplicate monotonicity of lemmas (#9179)

Remove the duplicates introduced in #8869 by sorting the lemmas in Algebra.Order.SMul into three files:

  • Algebra.Order.Module.Defs for the order isomorphism induced by scalar multiplication by a positivity element
  • Algebra.Order.Module.Pointwise for the order properties of scalar multiplication of sets. This file is new. I credit myself for https://github.com/leanprover-community/mathlib/pull/9078
  • Algebra.Order.Module.OrderedSMul: The material about OrderedSMul per se. Inherits the copyright header from Algebra.Order.SMul. This file should eventually be deleted.

I move each #align to the correct file. On top of that, I delete unused redundant OrderedSMul instances (they were useful in Lean 3, but not anymore) and eq_of_smul_eq_smul_of_pos_of_le/eq_of_smul_eq_smul_of_neg_of_le since those lemmas are weird and unused.

Diff
@@ -1574,7 +1574,7 @@ theorem snorm'_const_smul {f : α → F} (c : 𝕜) (hq_pos : 0 < q) :
   · simp [snorm', hq_pos]
   refine' le_antisymm (snorm'_const_smul_le _ _ hq_pos) _
   have : snorm' _ q μ ≤ _ := snorm'_const_smul_le c⁻¹ (c • f) hq_pos
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, le_inv_smul_iff_of_pos (nnnorm_pos.2 hc)] at this
 #align measure_theory.snorm'_const_smul MeasureTheory.snorm'_const_smul
 
 theorem snormEssSup_const_smul (c : 𝕜) (f : α → F) :
@@ -1588,7 +1588,7 @@ theorem snorm_const_smul (c : 𝕜) (f : α → F) :
   · simp
   refine' le_antisymm (snorm_const_smul_le _ _) _
   have : snorm _ p μ ≤ _ := snorm_const_smul_le c⁻¹ (c • f)
-  rwa [inv_smul_smul₀ hc, nnnorm_inv, ENNReal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this
+  rwa [inv_smul_smul₀ hc, nnnorm_inv, le_inv_smul_iff_of_pos (nnnorm_pos.2 hc)] at this
 #align measure_theory.snorm_const_smul MeasureTheory.snorm_const_smul
 
 end NormedSpace
chore: remove uses of cases' (#9171)

I literally went through and regex'd some uses of cases', replacing them with rcases; this is meant to be a low effort PR as I hope that tools can do this in the future.

rcases is an easier replacement than cases, though with better tools we could in future do a second pass converting simple rcases added here (and existing ones) to cases.

Diff
@@ -187,7 +187,7 @@ theorem snorm'_zero (hp0_lt : 0 < q) : snorm' (0 : α → F) q μ = 0 := by simp
 
 @[simp]
 theorem snorm'_zero' (hq0_ne : q ≠ 0) (hμ : μ ≠ 0) : snorm' (0 : α → F) q μ = 0 := by
-  cases' le_or_lt 0 q with hq0 hq_neg
+  rcases le_or_lt 0 q with hq0 | hq_neg
   · exact snorm'_zero (lt_of_le_of_ne hq0 hq0_ne.symm)
   · simp [snorm', ENNReal.rpow_eq_zero_iff, hμ, hq_neg]
 #align measure_theory.snorm'_zero' MeasureTheory.snorm'_zero'
@@ -1135,7 +1135,7 @@ theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [IsProb
 theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) (hfq_lt_top : snorm' f q μ < ∞) (hp_nonneg : 0 ≤ p)
     (hpq : p ≤ q) : snorm' f p μ < ∞ := by
-  cases' le_or_lt p 0 with hp_nonpos hp_pos
+  rcases le_or_lt p 0 with hp_nonpos | hp_pos
   · rw [le_antisymm hp_nonpos hp_nonneg]
     simp
   have hq_pos : 0 < q := lt_of_lt_of_le hp_pos hpq
feat: golf using gcongr throughout the library (#8752)

Following on from previous gcongr golfing PRs #4702 and #4784.

This is a replacement for #7901: this round of golfs, first introduced there, there exposed some performance issues in gcongr, hopefully fixed by #8731, and I am opening a new PR so that the performance can be checked against current master rather than master at the time of #7901.

Diff
@@ -372,10 +372,10 @@ end Const
 
 theorem snorm'_mono_nnnorm_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖g x‖₊) :
     snorm' f q μ ≤ snorm' g q μ := by
-  rw [snorm']
-  refine' ENNReal.rpow_le_rpow _ (one_div_nonneg.2 hq)
+  simp only [snorm']
+  gcongr ?_ ^ (1/q)
   refine' lintegral_mono_ae (h.mono fun x hx => _)
-  exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 hx) hq
+  gcongr
 #align measure_theory.snorm'_mono_nnnorm_ae MeasureTheory.snorm'_mono_nnnorm_ae
 
 theorem snorm'_mono_ae {f : α → F} {g : α → G} (hq : 0 ≤ q) (h : ∀ᵐ x ∂μ, ‖f x‖ ≤ ‖g x‖) :
@@ -598,8 +598,7 @@ theorem Memℒp.of_bound [IsFiniteMeasure μ] {f : α → E} (hf : AEStronglyMea
 theorem snorm'_mono_measure (f : α → F) (hμν : ν ≤ μ) (hq : 0 ≤ q) :
     snorm' f q ν ≤ snorm' f q μ := by
   simp_rw [snorm']
-  suffices h_integral_mono : (∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ q ∂ν) ≤ ∫⁻ a, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ from
-    ENNReal.rpow_le_rpow h_integral_mono (by simp [hq])
+  gcongr
   exact lintegral_mono' hμν le_rfl
 #align measure_theory.snorm'_mono_measure MeasureTheory.snorm'_mono_measure
 
@@ -775,8 +774,7 @@ theorem snorm'_add_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AE
   calc
     (∫⁻ a, (‖(f + g) a‖₊ : ℝ≥0∞) ^ q ∂μ) ^ (1 / q) ≤
         (∫⁻ a, ((fun a => (‖f a‖₊ : ℝ≥0∞)) + fun a => (‖g a‖₊ : ℝ≥0∞)) a ^ q ∂μ) ^ (1 / q) := by
-      refine' ENNReal.rpow_le_rpow _ (by simp [le_trans zero_le_one hq1] : 0 ≤ 1 / q)
-      refine' lintegral_mono fun a => ENNReal.rpow_le_rpow _ (le_trans zero_le_one hq1)
+      gcongr with a
       simp only [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe, nnnorm_add_le]
     _ ≤ snorm' f q μ + snorm' g q μ := ENNReal.lintegral_Lp_add_le hf.ennnorm hg.ennnorm hq1
 #align measure_theory.snorm'_add_le MeasureTheory.snorm'_add_le
@@ -786,8 +784,7 @@ theorem snorm'_add_le_of_le_one {f g : α → E} (hf : AEStronglyMeasurable f μ
   calc
     (∫⁻ a, (‖(f + g) a‖₊ : ℝ≥0∞) ^ q ∂μ) ^ (1 / q) ≤
         (∫⁻ a, ((fun a => (‖f a‖₊ : ℝ≥0∞)) + fun a => (‖g a‖₊ : ℝ≥0∞)) a ^ q ∂μ) ^ (1 / q) := by
-      refine' ENNReal.rpow_le_rpow _ (by simp [hq0] : 0 ≤ 1 / q)
-      refine' lintegral_mono fun a => ENNReal.rpow_le_rpow _ hq0
+      gcongr with a
       simp only [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe, nnnorm_add_le]
     _ ≤ (2 : ℝ≥0∞) ^ (1 / q - 1) * (snorm' f q μ + snorm' g q μ) :=
       ENNReal.lintegral_Lp_add_le_of_le_one hf.ennnorm hq0 hq1
@@ -875,7 +872,7 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
   refine' ⟨η, ηpos, fun f g hf hg Hf Hg => _⟩
   calc
     snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := snorm_add_le' hf hg p
-    _ ≤ LpAddConst p * (η + η) := (mul_le_mul_of_nonneg_left (add_le_add Hf Hg) bot_le)
+    _ ≤ LpAddConst p * (η + η) := by gcongr
     _ < δ := hη
 #align measure_theory.exists_Lp_half MeasureTheory.exists_Lp_half
 
@@ -1083,11 +1080,11 @@ theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α →
   have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _ : α, snormEssSup f μ ^ q ∂μ := by
     refine' lintegral_mono_ae _
     have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
-    refine' h_nnnorm_le_snorm_ess_sup.mono fun x hx => ENNReal.rpow_le_rpow hx (le_of_lt hq_pos)
+    refine' h_nnnorm_le_snorm_ess_sup.mono fun x hx => by gcongr
   rw [snorm', ← ENNReal.rpow_one (snormEssSup f μ)]
   nth_rw 2 [← mul_inv_cancel (ne_of_lt hq_pos).symm]
   rw [ENNReal.rpow_mul, one_div, ← ENNReal.mul_rpow_of_nonneg _ _ (by simp [hq_pos.le] : 0 ≤ q⁻¹)]
-  refine' ENNReal.rpow_le_rpow _ (by simp [hq_pos.le])
+  gcongr
   rwa [lintegral_const] at h_le
 #align measure_theory.snorm'_le_snorm_ess_sup_mul_rpow_measure_univ MeasureTheory.snorm'_le_snormEssSup_mul_rpow_measure_univ
 
@@ -1157,9 +1154,8 @@ theorem pow_mul_meas_ge_le_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
     (hf : AEStronglyMeasurable f μ) (ε : ℝ≥0∞) :
     (ε * μ { x | ε ≤ (‖f x‖₊ : ℝ≥0∞) ^ p.toReal }) ^ (1 / p.toReal) ≤ snorm f p μ := by
   rw [snorm_eq_lintegral_rpow_nnnorm hp_ne_zero hp_ne_top]
-  exact
-    ENNReal.rpow_le_rpow (mul_meas_ge_le_lintegral₀ (hf.ennnorm.pow_const _) ε)
-      (one_div_nonneg.2 ENNReal.toReal_nonneg)
+  gcongr
+  exact mul_meas_ge_le_lintegral₀ (hf.ennnorm.pow_const _) ε
 #align measure_theory.pow_mul_meas_ge_le_snorm MeasureTheory.pow_mul_meas_ge_le_snorm
 
 theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
@@ -1170,9 +1166,8 @@ theorem mul_meas_ge_le_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
     rw [Ne, ENNReal.toReal_eq_zero_iff]
     exact not_or_of_not hp_ne_zero hp_ne_top
   rw [← ENNReal.rpow_one (ε * μ { x | ε ≤ (‖f x‖₊ : ℝ≥0∞) ^ p.toReal }), ← this, ENNReal.rpow_mul]
-  exact
-    ENNReal.rpow_le_rpow (pow_mul_meas_ge_le_snorm μ hp_ne_zero hp_ne_top hf ε)
-      ENNReal.toReal_nonneg
+  gcongr
+  exact pow_mul_meas_ge_le_snorm μ hp_ne_zero hp_ne_top hf ε
 #align measure_theory.mul_meas_ge_le_pow_snorm MeasureTheory.mul_meas_ge_le_pow_snorm
 
 /-- A version of Markov's inequality using Lp-norms. -/
@@ -1384,7 +1379,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
   calc
     (∫⁻ x, (‖b (f x) (g x)‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) ≤
         (∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ^ p.toReal * (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
-      refine' ENNReal.rpow_le_rpow _ (one_div_nonneg.mpr ENNReal.toReal_nonneg)
+      gcongr ?_ ^ _
       refine' lintegral_mono_ae (h.mono fun a ha => _)
       rw [← ENNReal.mul_rpow_of_nonneg _ _ ENNReal.toReal_nonneg]
       refine' ENNReal.rpow_le_rpow _ ENNReal.toReal_nonneg
@@ -1393,13 +1388,10 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
     _ ≤
         (∫⁻ x, essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ ^ p.toReal * (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^
           (1 / p.toReal) := by
-      refine' ENNReal.rpow_le_rpow _ _
-      swap;
-      · rw [one_div_nonneg]
-        exact ENNReal.toReal_nonneg
+      gcongr ?_ ^ _
       refine' lintegral_mono_ae _
       filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => (‖f x‖₊ : ℝ≥0∞)] with x hx
-      exact mul_le_mul_right' (ENNReal.rpow_le_rpow hx ENNReal.toReal_nonneg) _
+      gcongr
     _ = essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ *
         (∫⁻ x, (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
       rw [lintegral_const_mul'']
@@ -1614,7 +1606,8 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
   rw [nnnorm_indicator_eq_indicator_nnnorm]
   by_cases hxs : x ∈ s
   · simp only [Set.indicator_of_mem hxs] at hx ⊢
-    exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 (hx hxs)) ENNReal.toReal_nonneg
+    gcongr
+    exact hx hxs
   · simp [Set.indicator_of_not_mem hxs]
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
 
chore: add missing hypothesis names to by_cases (#8533)

I've also got a change to make this required, but I'd like to land this first.

Diff
@@ -1187,7 +1187,7 @@ theorem mul_meas_ge_le_pow_snorm' {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_t
 theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_top : p ≠ ∞)
     (hf : AEStronglyMeasurable f μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) :
     μ { x | ε ≤ ‖f x‖₊ } ≤ ε⁻¹ ^ p.toReal * snorm f p μ ^ p.toReal := by
-  by_cases ε = ∞
+  by_cases h : ε = ∞
   · simp [h]
   have hεpow : ε ^ p.toReal ≠ 0 := (ENNReal.rpow_pos (pos_iff_ne_zero.2 hε) h).ne.symm
   have hεpow' : ε ^ p.toReal ≠ ∞ := ENNReal.rpow_ne_top_of_nonneg ENNReal.toReal_nonneg h
chore: bump to v4.3.0-rc2 (#8366)

PR contents

This is the supremum of

along with some minor fixes from failures on nightly-testing as Mathlib master is merged into it.

Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.

I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0 branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.

Lean PRs involved in this bump

In particular this includes adjustments for the Lean PRs

leanprover/lean4#2778

We can get rid of all the

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)

macros across Mathlib (and in any projects that want to write natural number powers of reals).

leanprover/lean4#2722

Changes the default behaviour of simp to (config := {decide := false}). This makes simp (and consequentially norm_num) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp or norm_num to decide or rfl, or adding (config := {decide := true}).

leanprover/lean4#2783

This changed the behaviour of simp so that simp [f] will only unfold "fully applied" occurrences of f. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true }). We may in future add a syntax for this, e.g. simp [!f]; please provide feedback! In the meantime, we have made the following changes:

  • switching to using explicit lemmas that have the intended level of application
  • (config := { unfoldPartialApp := true }) in some places, to recover the old behaviour
  • Using @[eqns] to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp and Function.flip.

This change in Lean may require further changes down the line (e.g. adding the !f syntax, and/or upstreaming the special treatment for Function.comp and Function.flip, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!

Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -327,10 +327,10 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
     snorm (fun _ : α => c) p μ < ∞ ↔ c = 0 ∨ μ Set.univ < ∞ := by
   have hp : 0 < p.toReal := ENNReal.toReal_pos hp_ne_zero hp_ne_top
   by_cases hμ : μ = 0
-  · simp only [hμ, Measure.coe_zero, Pi.zero_apply, or_true_iff, WithTop.zero_lt_top,
+  · simp only [hμ, Measure.coe_zero, Pi.zero_apply, or_true_iff, zero_lt_top,
       snorm_measure_zero]
   by_cases hc : c = 0
-  · simp only [hc, true_or_iff, eq_self_iff_true, WithTop.zero_lt_top, snorm_zero']
+  · simp only [hc, true_or_iff, eq_self_iff_true, zero_lt_top, snorm_zero']
   rw [snorm_const' c hp_ne_zero hp_ne_top]
   by_cases hμ_top : μ Set.univ = ∞
   · simp [hc, hμ_top, hp]
@@ -357,7 +357,7 @@ theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun _ : α => c) p
 theorem memℒp_top_const (c : E) : Memℒp (fun _ : α => c) ∞ μ := by
   refine' ⟨aestronglyMeasurable_const, _⟩
   by_cases h : μ = 0
-  · simp only [h, snorm_measure_zero, WithTop.zero_lt_top]
+  · simp only [h, snorm_measure_zero, zero_lt_top]
   · rw [snorm_const _ ENNReal.top_ne_zero h]
     simp only [ENNReal.top_toReal, _root_.div_zero, ENNReal.rpow_zero, mul_one, ENNReal.coe_lt_top]
 #align measure_theory.mem_ℒp_top_const MeasureTheory.memℒp_top_const
feat(LiminfLimsup, LpSeminorm): add lemmas/golf (#8300)
  • Add blimsup_eq_limsup and bliminf_eq_liminf
  • Generalize limsup_nat_add and liminf_nat_add to a ConditionallyCompleteLattice.
  • Add Filter.HasBasis.blimsup_eq_iInf_iSup.
  • Add limsup_sup_filter, liminf_sup_filter, blimsup_sup_not, bliminf_inf_not, blimsup_not_sup, bliminf_not_inf, limsup_piecewise, and liminf_piecewise.
  • Add essSup_piecewise.
  • Assume that the codomain is ℝ≥0∞ in essSup_indicator_eq_essSup_restrict. This allows us to drop assumptions 0 ≤ᵐ[_] f and μ s ≠ 0.
  • Upgrade inequality to an equality in snormEssSup_piecewise_le (now snormEssSup_piecewise) and snorm_top_piecewise_le (now snorm_top_piecewise).
  • Use new lemmas to golf some proofs.
Diff
@@ -909,33 +909,19 @@ theorem meas_snormEssSup_lt {f : α → F} : μ { y | snormEssSup f μ < ‖f y
   meas_essSup_lt
 #align measure_theory.meas_snorm_ess_sup_lt MeasureTheory.meas_snormEssSup_lt
 
-lemma snormEssSup_piecewise_le {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
+lemma snormEssSup_piecewise {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
     (hs : MeasurableSet s) :
     snormEssSup (Set.piecewise s f g) μ
-      ≤ max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ)) := by
-  refine essSup_le_of_ae_le (max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ))) ?_
-  have hf : ∀ᵐ y ∂(μ.restrict s), ↑‖f y‖₊ ≤ snormEssSup f (μ.restrict s) :=
-    ae_le_snormEssSup (μ := μ.restrict s) (f := f)
-  have hg : ∀ᵐ y ∂(μ.restrict sᶜ), ↑‖g y‖₊ ≤ snormEssSup g (μ.restrict sᶜ) :=
-    ae_le_snormEssSup (μ := μ.restrict sᶜ) (f := g)
-  refine ae_of_ae_restrict_of_ae_restrict_compl s ?_ ?_
-  · rw [ae_restrict_iff' hs] at hf ⊢
-    filter_upwards [hf] with x hx
-    intro hx_mem
-    simp only [hx_mem, Set.piecewise_eq_of_mem]
-    exact (hx hx_mem).trans (le_max_left _ _)
-  · rw [ae_restrict_iff' hs.compl] at hg ⊢
-    filter_upwards [hg] with x hx
-    intro hx_mem
-    rw [Set.mem_compl_iff] at hx_mem
-    simp only [hx_mem, not_false_eq_true, Set.piecewise_eq_of_not_mem]
-    exact (hx hx_mem).trans (le_max_right _ _)
-
-lemma snorm_top_piecewise_le {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
+      = max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ)) := by
+  simp only [snormEssSup, ← essSup_piecewise hs]
+  congr with x
+  by_cases hx : x ∈ s <;> simp [hx]
+
+lemma snorm_top_piecewise {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
     (hs : MeasurableSet s) :
     snorm (Set.piecewise s f g) ∞ μ
-      ≤ max (snorm f ∞ (μ.restrict s)) (snorm g ∞ (μ.restrict sᶜ)) :=
-  snormEssSup_piecewise_le f g hs
+      = max (snorm f ∞ (μ.restrict s)) (snorm g ∞ (μ.restrict sᶜ)) :=
+  snormEssSup_piecewise f g hs
 
 section MapMeasure
 
feat: add Integrable.piecewise (#8080)
Diff
@@ -176,6 +176,7 @@ theorem snorm'_exponent_zero {f : α → F} : snorm' f 0 μ = 1 := by
 theorem snorm_exponent_zero {f : α → F} : snorm f 0 μ = 0 := by simp [snorm]
 #align measure_theory.snorm_exponent_zero MeasureTheory.snorm_exponent_zero
 
+@[simp]
 theorem memℒp_zero_iff_aestronglyMeasurable {f : α → E} : Memℒp f 0 μ ↔ AEStronglyMeasurable f μ :=
   by simp [Memℒp, snorm_exponent_zero]
 #align measure_theory.mem_ℒp_zero_iff_ae_strongly_measurable MeasureTheory.memℒp_zero_iff_aestronglyMeasurable
@@ -908,6 +909,34 @@ theorem meas_snormEssSup_lt {f : α → F} : μ { y | snormEssSup f μ < ‖f y
   meas_essSup_lt
 #align measure_theory.meas_snorm_ess_sup_lt MeasureTheory.meas_snormEssSup_lt
 
+lemma snormEssSup_piecewise_le {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
+    (hs : MeasurableSet s) :
+    snormEssSup (Set.piecewise s f g) μ
+      ≤ max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ)) := by
+  refine essSup_le_of_ae_le (max (snormEssSup f (μ.restrict s)) (snormEssSup g (μ.restrict sᶜ))) ?_
+  have hf : ∀ᵐ y ∂(μ.restrict s), ↑‖f y‖₊ ≤ snormEssSup f (μ.restrict s) :=
+    ae_le_snormEssSup (μ := μ.restrict s) (f := f)
+  have hg : ∀ᵐ y ∂(μ.restrict sᶜ), ↑‖g y‖₊ ≤ snormEssSup g (μ.restrict sᶜ) :=
+    ae_le_snormEssSup (μ := μ.restrict sᶜ) (f := g)
+  refine ae_of_ae_restrict_of_ae_restrict_compl s ?_ ?_
+  · rw [ae_restrict_iff' hs] at hf ⊢
+    filter_upwards [hf] with x hx
+    intro hx_mem
+    simp only [hx_mem, Set.piecewise_eq_of_mem]
+    exact (hx hx_mem).trans (le_max_left _ _)
+  · rw [ae_restrict_iff' hs.compl] at hg ⊢
+    filter_upwards [hg] with x hx
+    intro hx_mem
+    rw [Set.mem_compl_iff] at hx_mem
+    simp only [hx_mem, not_false_eq_true, Set.piecewise_eq_of_not_mem]
+    exact (hx hx_mem).trans (le_max_right _ _)
+
+lemma snorm_top_piecewise_le {s : Set α} (f g : α → E) [DecidablePred (· ∈ s)]
+    (hs : MeasurableSet s) :
+    snorm (Set.piecewise s f g) ∞ μ
+      ≤ max (snorm f ∞ (μ.restrict s)) (snorm g ∞ (μ.restrict sᶜ)) :=
+  snormEssSup_piecewise_le f g hs
+
 section MapMeasure
 
 variable {β : Type*} {mβ : MeasurableSpace β} {f : α → β} {g : β → E}
chore: cleanup typo in filter_upwards (#7719)

mathport was forgetting a space in filter_upwards [...]with instead of filter_upwards [...] with.

Diff
@@ -1383,7 +1383,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
       · rw [one_div_nonneg]
         exact ENNReal.toReal_nonneg
       refine' lintegral_mono_ae _
-      filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => (‖f x‖₊ : ℝ≥0∞)]with x hx
+      filter_upwards [@ENNReal.ae_le_essSup _ _ μ fun x => (‖f x‖₊ : ℝ≥0∞)] with x hx
       exact mul_le_mul_right' (ENNReal.rpow_le_rpow hx ENNReal.toReal_nonneg) _
     _ = essSup (fun x => (‖f x‖₊ : ℝ≥0∞)) μ *
         (∫⁻ x, (‖g x‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) := by
@@ -1665,7 +1665,7 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
       ae_lt_of_essSup_lt
         (lt_of_le_of_lt (hbdd n) <| ENNReal.lt_add_right ENNReal.coe_ne_top one_ne_zero)
     rw [← ae_all_iff] at this
-    filter_upwards [this]with x hx using lt_of_le_of_lt
+    filter_upwards [this] with x hx using lt_of_le_of_lt
         (liminf_le_of_frequently_le' <| frequently_of_forall fun n => (hx n).le)
         (ENNReal.add_lt_top.2 ⟨ENNReal.coe_lt_top, ENNReal.one_lt_top⟩)
   filter_upwards [ae_bdd_liminf_atTop_rpow_of_snorm_bdd hfmeas hbdd] with x hx
chore: tidy various files (#7017)
Diff
@@ -490,8 +490,8 @@ theorem snorm_congr_norm_ae {f : α → F} {g : α → G} (hfg : ∀ᵐ x ∂μ,
 
 theorem snorm_indicator_sub_indicator (s t : Set α) (f : α → E) :
     snorm (s.indicator f - t.indicator f) p μ = snorm ((s ∆ t).indicator f) p μ :=
-    snorm_congr_norm_ae <| ae_of_all _ fun x ↦ by
-  simp only [Pi.sub_apply, Set.apply_indicator_symmDiff norm_neg]
+  snorm_congr_norm_ae <| ae_of_all _ fun x ↦ by
+    simp only [Pi.sub_apply, Set.apply_indicator_symmDiff norm_neg]
 
 @[simp]
 theorem snorm'_norm {f : α → F} : snorm' (fun a => ‖f a‖) q μ = snorm' f q μ := by simp [snorm']
chore(MeasureTheory/../LpSeminorm): golf (#6797)
  • Generalize TC assumptions in some lemmas.
  • Golf MeasureTheory.snorm_sub_le'.
  • Move some neg lemmas up so that we can use them in MeasureTheory.snorm_sub_le'.
Diff
@@ -251,6 +251,31 @@ theorem snorm_measure_zero {f : α → F} : snorm f p (0 : Measure α) = 0 := by
 
 end Zero
 
+section Neg
+
+@[simp]
+theorem snorm'_neg {f : α → F} : snorm' (-f) q μ = snorm' f q μ := by simp [snorm']
+#align measure_theory.snorm'_neg MeasureTheory.snorm'_neg
+
+@[simp]
+theorem snorm_neg {f : α → F} : snorm (-f) p μ = snorm f p μ := by
+  by_cases h0 : p = 0
+  · simp [h0]
+  by_cases h_top : p = ∞
+  · simp [h_top, snormEssSup]
+  simp [snorm_eq_snorm' h0 h_top]
+#align measure_theory.snorm_neg MeasureTheory.snorm_neg
+
+theorem Memℒp.neg {f : α → E} (hf : Memℒp f p μ) : Memℒp (-f) p μ :=
+  ⟨AEStronglyMeasurable.neg hf.1, by simp [hf.right]⟩
+#align measure_theory.mem_ℒp.neg MeasureTheory.Memℒp.neg
+
+theorem memℒp_neg_iff {f : α → E} : Memℒp (-f) p μ ↔ Memℒp f p μ :=
+  ⟨fun h => neg_neg f ▸ h.neg, Memℒp.neg⟩
+#align measure_theory.mem_ℒp_neg_iff MeasureTheory.memℒp_neg_iff
+
+end Neg
+
 section Const
 
 theorem snorm'_const (c : F) (hq_pos : 0 < q) :
@@ -856,21 +881,8 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
 variable {μ E}
 
 theorem snorm_sub_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
-    (p : ℝ≥0∞) : snorm (f - g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) :=
-  calc
-    snorm (f - g) p μ = snorm (f + -g) p μ := by rw [sub_eq_add_neg]
-    -- We cannot use snorm_add_le on f and (-g) because we don't have `AEMeasurable (-g) μ`, since
-    -- we don't suppose `[BorelSpace E]`.
-    _ = snorm (fun x => ‖f x + -g x‖) p μ :=
-      (snorm_norm (f + -g)).symm
-    _ ≤ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ := by
-      refine' snorm_mono_real fun x => _
-      rw [norm_norm]
-      exact norm_add_le _ _
-    _ = snorm (fun x => ‖f x‖ + ‖g x‖) p μ := by simp_rw [norm_neg]
-    _ ≤ LpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) :=
-      (snorm_add_le' hf.norm hg.norm p)
-    _ = LpAddConst p * (snorm f p μ + snorm g p μ) := by rw [← snorm_norm f, ← snorm_norm g]
+    (p : ℝ≥0∞) : snorm (f - g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := by
+  simpa only [sub_eq_add_neg, snorm_neg] using snorm_add_le' hf hg.neg p
 #align measure_theory.snorm_sub_le' MeasureTheory.snorm_sub_le'
 
 theorem snorm_sub_le {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
@@ -1027,27 +1039,6 @@ theorem memℒp_of_memℒp_trim (hm : m ≤ m0) {f : α → E} (hf : Memℒp f p
 
 end Trim
 
-@[simp]
-theorem snorm'_neg {f : α → F} : snorm' (-f) q μ = snorm' f q μ := by simp [snorm']
-#align measure_theory.snorm'_neg MeasureTheory.snorm'_neg
-
-@[simp]
-theorem snorm_neg {f : α → F} : snorm (-f) p μ = snorm f p μ := by
-  by_cases h0 : p = 0
-  · simp [h0]
-  by_cases h_top : p = ∞
-  · simp [h_top, snormEssSup]
-  simp [snorm_eq_snorm' h0 h_top]
-#align measure_theory.snorm_neg MeasureTheory.snorm_neg
-
-theorem Memℒp.neg {f : α → E} (hf : Memℒp f p μ) : Memℒp (-f) p μ :=
-  ⟨AEStronglyMeasurable.neg hf.1, by simp [hf.right]⟩
-#align measure_theory.mem_ℒp.neg MeasureTheory.Memℒp.neg
-
-theorem memℒp_neg_iff {f : α → E} : Memℒp (-f) p μ ↔ Memℒp f p μ :=
-  ⟨fun h => neg_neg f ▸ h.neg, Memℒp.neg⟩
-#align measure_theory.mem_ℒp_neg_iff MeasureTheory.memℒp_neg_iff
-
 theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq : p ≤ q) {f : α → E}
     (hf : AEStronglyMeasurable f μ) :
     snorm' f p μ ≤ snorm' f q μ * μ Set.univ ^ (1 / p - 1 / q) := by
feat: lemmas about indicator of the symmetric difference (#6738)
Diff
@@ -463,6 +463,11 @@ theorem snorm_congr_norm_ae {f : α → F} {g : α → G} (hfg : ∀ᵐ x ∂μ,
   snorm_congr_nnnorm_ae <| hfg.mono fun _x hx => NNReal.eq hx
 #align measure_theory.snorm_congr_norm_ae MeasureTheory.snorm_congr_norm_ae
 
+theorem snorm_indicator_sub_indicator (s t : Set α) (f : α → E) :
+    snorm (s.indicator f - t.indicator f) p μ = snorm ((s ∆ t).indicator f) p μ :=
+    snorm_congr_norm_ae <| ae_of_all _ fun x ↦ by
+  simp only [Pi.sub_apply, Set.apply_indicator_symmDiff norm_neg]
+
 @[simp]
 theorem snorm'_norm {f : α → F} : snorm' (fun a => ‖f a‖) q μ = snorm' f q μ := by simp [snorm']
 #align measure_theory.snorm'_norm MeasureTheory.snorm'_norm
feat: patch for new alias command (#6172)
Diff
@@ -533,7 +533,7 @@ theorem Memℒp.of_le {f : α → E} {g : α → F} (hg : Memℒp g p μ) (hf :
   ⟨hf, (snorm_mono_ae hfg).trans_lt hg.snorm_lt_top⟩
 #align measure_theory.mem_ℒp.of_le MeasureTheory.Memℒp.of_le
 
-alias Memℒp.of_le ← Memℒp.mono
+alias Memℒp.mono := Memℒp.of_le
 #align measure_theory.mem_ℒp.mono MeasureTheory.Memℒp.mono
 
 theorem Memℒp.mono' {f : α → E} {g : α → ℝ} (hg : Memℒp g p μ) (hf : AEStronglyMeasurable f μ)
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -812,7 +812,7 @@ theorem LpAddConst_lt_top (p : ℝ≥0∞) : LpAddConst p < ∞ := by
 theorem snorm_add_le' {f g : α → E} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
     (p : ℝ≥0∞) : snorm (f + g) p μ ≤ LpAddConst p * (snorm f p μ + snorm g p μ) := by
   rcases eq_or_ne p 0 with (rfl | hp)
-  · simp only [snorm_exponent_zero, add_zero, MulZeroClass.mul_zero, le_zero_iff]
+  · simp only [snorm_exponent_zero, add_zero, mul_zero, le_zero_iff]
   rcases lt_or_le p 1 with (h'p | h'p)
   · simp only [snorm_eq_snorm' hp (h'p.trans ENNReal.one_lt_top).ne]
     convert snorm'_add_le_of_le_one hf ENNReal.toReal_nonneg _
@@ -839,7 +839,7 @@ theorem exists_Lp_half (p : ℝ≥0∞) {δ : ℝ≥0∞} (hδ : δ ≠ 0) :
     (ENNReal.Tendsto.const_mul (tendsto_id.add tendsto_id)
           (Or.inr (LpAddConst_lt_top p).ne)).mono_left
       nhdsWithin_le_nhds
-  simp only [add_zero, MulZeroClass.mul_zero] at this
+  simp only [add_zero, mul_zero] at this
   rcases (((tendsto_order.1 this).2 δ hδ.bot_lt).and self_mem_nhdsWithin).exists with ⟨η, hη, ηpos⟩
   refine' ⟨η, ηpos, fun f g hf hg Hf Hg => _⟩
   calc
@@ -1308,7 +1308,7 @@ private theorem le_mul_iff_eq_zero_of_nonneg_of_neg_of_nonneg {α} [LinearOrdere
       ⟨(h.trans (mul_nonpos_of_nonpos_of_nonneg hb.le hc)).antisymm ha,
         (nonpos_of_mul_nonneg_right (ha.trans h) hb).antisymm hc⟩
   · rintro ⟨rfl, rfl⟩
-    rw [MulZeroClass.mul_zero]
+    rw [mul_zero]
 
 /-- When `c` is negative, `‖f x‖ ≤ c * ‖g x‖` is nonsense and forces both `f` and `g` to have an
 `snorm` of `0`. -/
@@ -1368,7 +1368,7 @@ theorem snorm_le_snorm_top_mul_snorm (p : ℝ≥0∞) (f : α → E) {g : α →
     simp_rw [Pi.mul_apply, ← ENNReal.coe_mul, ENNReal.coe_le_coe]
     exact ha
   by_cases hp_zero : p = 0
-  · simp only [hp_zero, snorm_exponent_zero, MulZeroClass.mul_zero, le_zero_iff]
+  · simp only [hp_zero, snorm_exponent_zero, mul_zero, le_zero_iff]
   simp_rw [snorm_eq_lintegral_rpow_nnnorm hp_zero hp_top, snorm_exponent_top, snormEssSup]
   calc
     (∫⁻ x, (‖b (f x) (g x)‖₊ : ℝ≥0∞) ^ p.toReal ∂μ) ^ (1 / p.toReal) ≤
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -43,7 +43,7 @@ open TopologicalSpace MeasureTheory Filter
 
 open NNReal ENNReal BigOperators Topology MeasureTheory
 
-variable {α E F G : Type _} {m m0 : MeasurableSpace α} {p : ℝ≥0∞} {q : ℝ} {μ ν : Measure α}
+variable {α E F G : Type*} {m m0 : MeasurableSpace α} {p : ℝ≥0∞} {q : ℝ} {μ ν : Measure α}
   [NormedAddCommGroup E] [NormedAddCommGroup F] [NormedAddCommGroup G]
 
 namespace MeasureTheory
@@ -893,7 +893,7 @@ theorem meas_snormEssSup_lt {f : α → F} : μ { y | snormEssSup f μ < ‖f y
 
 section MapMeasure
 
-variable {β : Type _} {mβ : MeasurableSpace β} {f : α → β} {g : β → E}
+variable {β : Type*} {mβ : MeasurableSpace β} {f : α → β} {g : β → E}
 
 theorem snormEssSup_map_measure (hg : AEStronglyMeasurable g (Measure.map f μ))
     (hf : AEMeasurable f μ) : snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
@@ -1474,7 +1474,7 @@ In this section we show inequalities on the norm.
 
 section BoundedSMul
 
-variable {𝕜 : Type _} [NormedRing 𝕜] [MulActionWithZero 𝕜 E] [MulActionWithZero 𝕜 F]
+variable {𝕜 : Type*} [NormedRing 𝕜] [MulActionWithZero 𝕜 E] [MulActionWithZero 𝕜 F]
 
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
@@ -1561,7 +1561,7 @@ The inequalities in the previous section are now tight.
 
 section NormedSpace
 
-variable {𝕜 : Type _} [NormedDivisionRing 𝕜] [MulActionWithZero 𝕜 E] [Module 𝕜 F]
+variable {𝕜 : Type*} [NormedDivisionRing 𝕜] [MulActionWithZero 𝕜 E] [Module 𝕜 F]
 
 variable [BoundedSMul 𝕜 E] [BoundedSMul 𝕜 F]
 
@@ -1609,7 +1609,7 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
 
 section IsROrC
 
-variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [IsROrC 𝕜] {f : α → 𝕜}
 
 theorem Memℒp.re (hf : Memℒp f p μ) : Memℒp (fun x => IsROrC.re (f x)) p μ := by
   have : ∀ x, ‖IsROrC.re (f x)‖ ≤ 1 * ‖f x‖ := by
@@ -1692,7 +1692,7 @@ end Liminf
 
 /-- A continuous function with compact support belongs to `L^∞`. -/
 theorem _root_.Continuous.memℒp_top_of_hasCompactSupport
-    {X : Type _} [TopologicalSpace X] [MeasurableSpace X] [OpensMeasurableSpace X]
+    {X : Type*} [TopologicalSpace X] [MeasurableSpace X] [OpensMeasurableSpace X]
     {f : X → E} (hf : Continuous f) (h'f : HasCompactSupport f) (μ : Measure X) : Memℒp f ⊤ μ := by
   borelize E
   rcases hf.bounded_above_of_compact_support h'f with ⟨C, hC⟩
feat: Integrability of g • f for g continuous with compact support and f locally integrable (#6100)
Diff
@@ -1690,6 +1690,15 @@ theorem ae_bdd_liminf_atTop_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0) {f : 
 
 end Liminf
 
+/-- A continuous function with compact support belongs to `L^∞`. -/
+theorem _root_.Continuous.memℒp_top_of_hasCompactSupport
+    {X : Type _} [TopologicalSpace X] [MeasurableSpace X] [OpensMeasurableSpace X]
+    {f : X → E} (hf : Continuous f) (h'f : HasCompactSupport f) (μ : Measure X) : Memℒp f ⊤ μ := by
+  borelize E
+  rcases hf.bounded_above_of_compact_support h'f with ⟨C, hC⟩
+  apply memℒp_top_of_bound ?_ C (Filter.eventually_of_forall hC)
+  exact (hf.stronglyMeasurable_of_hasCompactSupport h'f).aestronglyMeasurable
+
 end ℒp
 
 end MeasureTheory
refactor: use NeZero for measures (#6048)

Assume NeZero μ instead of μ.ae.NeBot everywhere, and sometimes instead of μ ≠ 0.

API changes

  • Convex.average_mem, Convex.set_average_mem, ConvexOn.average_mem_epigraph, ConcaveOn.average_mem_hypograph, ConvexOn.map_average_le, ConcaveOn.le_map_average: assume [NeZero μ] instead of μ ≠ 0;
  • MeasureTheory.condexp_bot', essSup_const', essInf_const', MeasureTheory.laverage_const, MeasureTheory.laverage_one, MeasureTheory.average_const: assume [NeZero μ] instead of [μ.ae.NeBot]
  • MeasureTheory.Measure.measure_ne_zero: replace with an instance;
  • remove @[simp] from MeasureTheory.ae_restrict_neBot, use ≠ 0 in the RHS;
  • turn MeasureTheory.IsProbabilityMeasure.ae_neBot into a theorem because inferInstance can find it now;
  • add instances:
    • [NeZero μ] : NeZero (μ univ);
    • [NeZero (μ s)] : NeZero (μ.restrict s);
    • [NeZero μ] : μ.ae.NeBot;
    • [IsProbabilityMeasure μ] : NeZero μ;
    • [IsFiniteMeasure μ] [NeZero μ] : IsProbabilityMeasure ((μ univ)⁻¹ • μ) this was a theorem MeasureTheory.isProbabilityMeasureSmul assuming μ ≠ 0;
Diff
@@ -437,14 +437,13 @@ theorem snormEssSup_lt_top_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x
 
 theorem snorm_le_of_ae_nnnorm_bound {f : α → F} {C : ℝ≥0} (hfC : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ C) :
     snorm f p μ ≤ C • μ Set.univ ^ p.toReal⁻¹ := by
-  by_cases hμ : μ = 0
-  · simp [hμ]
-  haveI : μ.ae.NeBot := ae_neBot.mpr hμ
+  rcases eq_zero_or_neZero μ with rfl | hμ
+  · simp
   by_cases hp : p = 0
   · simp [hp]
   have : ∀ᵐ x ∂μ, ‖f x‖₊ ≤ ‖(C : ℝ)‖₊ := hfC.mono fun x hx => hx.trans_eq C.nnnorm_eq.symm
   refine' (snorm_mono_ae this).trans_eq _
-  rw [snorm_const _ hp hμ, C.nnnorm_eq, one_div, ENNReal.smul_def, smul_eq_mul]
+  rw [snorm_const _ hp (NeZero.ne μ), C.nnnorm_eq, one_div, ENNReal.smul_def, smul_eq_mul]
 #align measure_theory.snorm_le_of_ae_nnnorm_bound MeasureTheory.snorm_le_of_ae_nnnorm_bound
 
 theorem snorm_le_of_ae_bound {f : α → F} {C : ℝ} (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) :
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Rémy Degenne. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Rémy Degenne, Sébastien Gouëzel
-
-! This file was ported from Lean 3 source module measure_theory.function.lp_seminorm
-! leanprover-community/mathlib commit c4015acc0a223449d44061e27ddac1835a3852b9
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.NormedSpace.IndicatorFunction
 import Mathlib.Analysis.SpecialFunctions.Pow.Continuity
@@ -14,6 +9,8 @@ import Mathlib.MeasureTheory.Function.EssSup
 import Mathlib.MeasureTheory.Function.AEEqFun
 import Mathlib.MeasureTheory.Integral.MeanInequalities
 
+#align_import measure_theory.function.lp_seminorm from "leanprover-community/mathlib"@"c4015acc0a223449d44061e27ddac1835a3852b9"
+
 /-!
 # ℒp space
 
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -26,7 +26,7 @@ and is almost everywhere strongly measurable.
 
 ## Main definitions
 
-* `snorm' f p μ` : `(∫ ‖f a‖^p ∂μ) ^ (1/p)` for `f : α → F` and `p : ℝ`, where `α` is a  measurable
+* `snorm' f p μ` : `(∫ ‖f a‖^p ∂μ) ^ (1/p)` for `f : α → F` and `p : ℝ`, where `α` is a measurable
   space and `F` is a normed group.
 * `snormEssSup f μ` : seminorm in `ℒ∞`, equal to the essential supremum `ess_sup ‖f‖ μ`.
 * `snorm f p μ` : for `p : ℝ≥0∞`, seminorm in `ℒp`, equal to `0` for `p=0`, to `snorm' f p μ`
feat: define composition of an AEEqFun with a (quasi)measure preserving function (#5217)
Diff
@@ -220,7 +220,7 @@ theorem zero_memℒp : Memℒp (0 : α → E) p μ :=
     exact ENNReal.coe_lt_top⟩
 #align measure_theory.zero_mem_ℒp MeasureTheory.zero_memℒp
 
-theorem zero_mem_ℒp' : Memℒp (fun _ : α => (0 : E)) p μ := by convert zero_memℒp (E := E)
+theorem zero_mem_ℒp' : Memℒp (fun _ : α => (0 : E)) p μ := zero_memℒp (E := E)
 #align measure_theory.zero_mem_ℒp' MeasureTheory.zero_mem_ℒp'
 
 variable [MeasurableSpace α]
@@ -921,6 +921,24 @@ theorem memℒp_map_measure_iff (hg : AEStronglyMeasurable g (Measure.map f μ))
   simp [Memℒp, snorm_map_measure hg hf, hg.comp_aemeasurable hf, hg]
 #align measure_theory.mem_ℒp_map_measure_iff MeasureTheory.memℒp_map_measure_iff
 
+theorem Memℒp.comp_of_map (hg : Memℒp g p (Measure.map f μ)) (hf : AEMeasurable f μ) :
+    Memℒp (g ∘ f) p μ :=
+  (memℒp_map_measure_iff hg.aestronglyMeasurable hf).1 hg
+
+theorem snorm_comp_measurePreserving {ν : MeasureTheory.Measure β} (hg : AEStronglyMeasurable g ν)
+    (hf : MeasurePreserving f μ ν) : snorm (g ∘ f) p μ = snorm g p ν :=
+  Eq.symm <| hf.map_eq ▸ snorm_map_measure (hf.map_eq ▸ hg) hf.aemeasurable
+
+theorem AEEqFun.snorm_compMeasurePreserving {ν : MeasureTheory.Measure β} (g : β →ₘ[ν] E)
+    (hf : MeasurePreserving f μ ν) :
+    snorm (g.compMeasurePreserving f hf) p μ = snorm g p ν := by
+  rw [snorm_congr_ae (g.coeFn_compMeasurePreserving _)]
+  exact snorm_comp_measurePreserving g.aestronglyMeasurable hf
+
+theorem Memℒp.comp_measurePreserving {ν : MeasureTheory.Measure β} (hg : Memℒp g p ν)
+    (hf : MeasurePreserving f μ ν) : Memℒp (g ∘ f) p μ :=
+  .comp_of_map (hf.map_eq.symm ▸ hg) hf.aemeasurable
+
 theorem _root_.MeasurableEmbedding.snormEssSup_map_measure {g : β → F}
     (hf : MeasurableEmbedding f) : snormEssSup g (Measure.map f μ) = snormEssSup (g ∘ f) μ :=
   hf.essSup_map_measure
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -1588,7 +1588,7 @@ theorem snorm_indicator_ge_of_bdd_below (hp : p ≠ 0) (hp' : p ≠ ∞) {f : α
   filter_upwards [hf] with x hx
   rw [nnnorm_indicator_eq_indicator_nnnorm]
   by_cases hxs : x ∈ s
-  · simp only [Set.indicator_of_mem hxs] at hx⊢
+  · simp only [Set.indicator_of_mem hxs] at hx ⊢
     exact ENNReal.rpow_le_rpow (ENNReal.coe_le_coe.2 (hx hxs)) ENNReal.toReal_nonneg
   · simp [Set.indicator_of_not_mem hxs]
 #align measure_theory.snorm_indicator_ge_of_bdd_below MeasureTheory.snorm_indicator_ge_of_bdd_below
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -1055,7 +1055,7 @@ theorem snorm'_le_snorm'_mul_rpow_measure_univ {p q : ℝ} (hp0_lt : 0 < p) (hpq
 
 theorem snorm'_le_snormEssSup_mul_rpow_measure_univ (hq_pos : 0 < q) {f : α → F} :
     snorm' f q μ ≤ snormEssSup f μ * μ Set.univ ^ (1 / q) := by
-  have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _a : α, snormEssSup f μ ^ q ∂μ := by
+  have h_le : (∫⁻ a : α, (‖f a‖₊ : ℝ≥0∞) ^ q ∂μ) ≤ ∫⁻ _ : α, snormEssSup f μ ^ q ∂μ := by
     refine' lintegral_mono_ae _
     have h_nnnorm_le_snorm_ess_sup := coe_nnnorm_ae_le_snormEssSup f μ
     refine' h_nnnorm_le_snorm_ess_sup.mono fun x hx => ENNReal.rpow_le_rpow hx (le_of_lt hq_pos)
style: recover Is of Foo which is ported from is_foo (#4639)

I have misported is_foo to Foo because I misunderstood the rule for IsLawfulFoo. This PR recover Is of Foo which is ported from is_foo. This PR also renames some misported theorems.

Diff
@@ -265,7 +265,7 @@ theorem snorm'_const (c : F) (hq_pos : 0 < q) :
   rw [one_div, mul_inv_cancel (ne_of_lt hq_pos).symm]
 #align measure_theory.snorm'_const MeasureTheory.snorm'_const
 
-theorem snorm'_const' [FiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_zero : q ≠ 0) :
+theorem snorm'_const' [IsFiniteMeasure μ] (c : F) (hc_ne_zero : c ≠ 0) (hq_ne_zero : q ≠ 0) :
     snorm' (fun _ : α => c) q μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / q) := by
   rw [snorm', lintegral_const, ENNReal.mul_rpow_of_ne_top _ (measure_ne_top μ Set.univ)]
   · congr
@@ -284,9 +284,9 @@ theorem snormEssSup_const (c : F) (hμ : μ ≠ 0) : snormEssSup (fun _ : α =>
   by rw [snormEssSup, essSup_const _ hμ]
 #align measure_theory.snorm_ess_sup_const MeasureTheory.snormEssSup_const
 
-theorem snorm'_const_of_probabilityMeasure (c : F) (hq_pos : 0 < q) [ProbabilityMeasure μ] :
+theorem snorm'_const_of_isProbabilityMeasure (c : F) (hq_pos : 0 < q) [IsProbabilityMeasure μ] :
     snorm' (fun _ : α => c) q μ = (‖c‖₊ : ℝ≥0∞) := by simp [snorm'_const c hq_pos, measure_univ]
-#align measure_theory.snorm'_const_of_is_probability_measure MeasureTheory.snorm'_const_of_probabilityMeasure
+#align measure_theory.snorm'_const_of_is_probability_measure MeasureTheory.snorm'_const_of_isProbabilityMeasure
 
 theorem snorm_const (c : F) (h0 : p ≠ 0) (hμ : μ ≠ 0) :
     snorm (fun _ : α => c) p μ = (‖c‖₊ : ℝ≥0∞) * μ Set.univ ^ (1 / ENNReal.toReal p) := by
@@ -319,7 +319,7 @@ theorem snorm_const_lt_top_iff {p : ℝ≥0∞} {c : F} (hp_ne_zero : p ≠ 0) (
   exact ENNReal.rpow_lt_top_of_nonneg (inv_nonneg.mpr hp.le) hμ_top
 #align measure_theory.snorm_const_lt_top_iff MeasureTheory.snorm_const_lt_top_iff
 
-theorem memℒp_const (c : E) [FiniteMeasure μ] : Memℒp (fun _ : α => c) p μ := by
+theorem memℒp_const (c : E) [IsFiniteMeasure μ] : Memℒp (fun _ : α => c) p μ := by
   refine' ⟨aestronglyMeasurable_const, _⟩
   by_cases h0 : p = 0
   · simp [h0]
@@ -562,7 +562,7 @@ theorem memℒp_top_of_bound {f : α → E} (hf : AEStronglyMeasurable f μ) (C
     exact snormEssSup_lt_top_of_ae_bound hfC⟩
 #align measure_theory.mem_ℒp_top_of_bound MeasureTheory.memℒp_top_of_bound
 
-theorem Memℒp.of_bound [FiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
+theorem Memℒp.of_bound [IsFiniteMeasure μ] {f : α → E} (hf : AEStronglyMeasurable f μ) (C : ℝ)
     (hfC : ∀ᵐ x ∂μ, ‖f x‖ ≤ C) : Memℒp f p μ :=
   (memℒp_const C).of_le hf (hfC.mono fun _x hx => le_trans hx (le_abs_self _))
 #align measure_theory.mem_ℒp.of_bound MeasureTheory.Memℒp.of_bound
@@ -1094,23 +1094,23 @@ theorem snorm_le_snorm_mul_rpow_measure_univ {p q : ℝ≥0∞} (hpq : p ≤ q)
 #align measure_theory.snorm_le_snorm_mul_rpow_measure_univ MeasureTheory.snorm_le_snorm_mul_rpow_measure_univ
 
 theorem snorm'_le_snorm'_of_exponent_le {m : MeasurableSpace α} {p q : ℝ} (hp0_lt : 0 < p)
-    (hpq : p ≤ q) (μ : Measure α) [ProbabilityMeasure μ] {f : α → E}
+    (hpq : p ≤ q) (μ : Measure α) [IsProbabilityMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) : snorm' f p μ ≤ snorm' f q μ := by
   have h_le_μ := snorm'_le_snorm'_mul_rpow_measure_univ hp0_lt hpq hf
   rwa [measure_univ, ENNReal.one_rpow, mul_one] at h_le_μ
 #align measure_theory.snorm'_le_snorm'_of_exponent_le MeasureTheory.snorm'_le_snorm'_of_exponent_le
 
-theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [ProbabilityMeasure μ] :
+theorem snorm'_le_snormEssSup (hq_pos : 0 < q) {f : α → F} [IsProbabilityMeasure μ] :
     snorm' f q μ ≤ snormEssSup f μ :=
   le_trans (snorm'_le_snormEssSup_mul_rpow_measure_univ hq_pos) (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm'_le_snorm_ess_sup MeasureTheory.snorm'_le_snormEssSup
 
-theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [ProbabilityMeasure μ] {f : α → E}
-    (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
+theorem snorm_le_snorm_of_exponent_le {p q : ℝ≥0∞} (hpq : p ≤ q) [IsProbabilityMeasure μ]
+    {f : α → E} (hf : AEStronglyMeasurable f μ) : snorm f p μ ≤ snorm f q μ :=
   (snorm_le_snorm_mul_rpow_measure_univ hpq hf).trans (le_of_eq (by simp [measure_univ]))
 #align measure_theory.snorm_le_snorm_of_exponent_le MeasureTheory.snorm_le_snorm_of_exponent_le
 
-theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [FiniteMeasure μ] {f : α → E}
+theorem snorm'_lt_top_of_snorm'_lt_top_of_exponent_le {p q : ℝ} [IsFiniteMeasure μ] {f : α → E}
     (hf : AEStronglyMeasurable f μ) (hfq_lt_top : snorm' f q μ < ∞) (hp_nonneg : 0 ≤ p)
     (hpq : p ≤ q) : snorm' f p μ < ∞ := by
   cases' le_or_lt p 0 with hp_nonpos hp_pos
@@ -1173,7 +1173,7 @@ theorem meas_ge_le_mul_pow_snorm {f : α → E} (hp_ne_zero : p ≠ 0) (hp_ne_to
 
 variable {μ}
 
-theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [FiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
+theorem Memℒp.memℒp_of_exponent_le {p q : ℝ≥0∞} [IsFiniteMeasure μ] {f : α → E} (hfq : Memℒp f q μ)
     (hpq : p ≤ q) : Memℒp f p μ := by
   cases' hfq with hfq_m hfq_lt_top
   by_cases hp0 : p = 0
feat: port MeasureTheory.Function.L1Space (#4383)
Diff
@@ -113,7 +113,7 @@ def Memℒp {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞)
   AEStronglyMeasurable f μ ∧ snorm f p μ < ∞
 #align measure_theory.mem_ℒp MeasureTheory.Memℒp
 
--- Porting note: Lean can't generate an equation lemma for this.
+-- Porting note: TODO Delete this when leanprover/lean4#2243 is fixed.
 theorem memℒp_def {α} {_ : MeasurableSpace α} (f : α → E) (p : ℝ≥0∞) (μ : Measure α) :
     Memℒp f p μ ↔ (AEStronglyMeasurable f μ ∧ snorm f p μ < ∞) :=
   Iff.rfl
feat: port MeasureTheory.Function.LpSeminorm (#4445)

Co-authored-by: Komyyy <pol_tta@outlook.jp>

Dependencies 12 + 924

925 files ported (98.7%)
419071 lines ported (98.7%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file