measure_theory.function.l1_space
⟷
Mathlib.MeasureTheory.Function.L1Space
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.
(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)
Integrable functions are smaller/larger than their mean on a set of positive measure. We prove it for the Bochner and Lebesgue integrals.
@@ -456,7 +456,7 @@ begin
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
end
-lemma integrable_const [is_finite_measure μ] (c : β) : integrable (λ x : α, c) μ :=
+@[simp] lemma integrable_const [is_finite_measure μ] (c : β) : integrable (λ x : α, c) μ :=
integrable_const_iff.2 $ or.inr $ measure_lt_top _ _
lemma mem_ℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞}
(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)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1391,9 +1391,9 @@ theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
end NormedDivisionRing
-section IsROrC
+section RCLike
-variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type _} [RCLike 𝕜] {f : α → 𝕜}
#print MeasureTheory.Integrable.ofReal /-
theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
@@ -1403,25 +1403,25 @@ theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (
#print MeasureTheory.Integrable.re_im_iff /-
theorem Integrable.re_im_iff :
- Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
+ Integrable (fun x => RCLike.re (f x)) μ ∧ Integrable (fun x => RCLike.im (f x)) μ ↔
Integrable f μ :=
by simp_rw [← mem_ℒp_one_iff_integrable]; exact mem_ℒp_re_im_iff
#align measure_theory.integrable.re_im_iff MeasureTheory.Integrable.re_im_iff
-/
#print MeasureTheory.Integrable.re /-
-theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ := by
+theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => RCLike.re (f x)) μ := by
rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.re
#align measure_theory.integrable.re MeasureTheory.Integrable.re
-/
#print MeasureTheory.Integrable.im /-
-theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ := by
+theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => RCLike.im (f x)) μ := by
rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.im
#align measure_theory.integrable.im MeasureTheory.Integrable.im
-/
-end IsROrC
+end RCLike
section Trim
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -370,7 +370,7 @@ theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖
∀ᵐ a ∂μ, ENNReal.ofReal ‖f a‖ ≤ ENNReal.ofReal (bound a) :=
by
have F_le_bound := all_ae_of_real_F_le_bound h_bound
- rw [← ae_all_iff] at F_le_bound
+ rw [← ae_all_iff] at F_le_bound
apply F_le_bound.mp ((all_ae_tendsto_of_real_norm h_lim).mono _)
intro a tendsto_norm F_le_bound
exact le_of_tendsto' tendsto_norm F_le_bound
@@ -431,7 +431,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
suffices h : tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) at_top (𝓝 (∫⁻ a : α, 0 ∂μ))
- · rwa [lintegral_zero] at h
+ · rwa [lintegral_zero] at h
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
-- Show `λa, ‖f a - F n a‖` is almost everywhere measurable for all `n`
@@ -439,7 +439,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
exact fun n =>
measurable_of_real.comp_ae_measurable ((F_measurable n).sub f_measurable).norm.AEMeasurable
-- Show `2 * bound` is has_finite_integral
- · rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
+ · rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
calc
∫⁻ a, b a ∂μ = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
@@ -1444,7 +1444,7 @@ theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ
obtain ⟨hf_meas_ae, hf⟩ := hf_int
refine' ⟨aestronglyMeasurable_of_aestronglyMeasurable_trim hm hf_meas_ae, _⟩
rw [has_finite_integral] at hf ⊢
- rwa [lintegral_trim_ae hm _] at hf
+ rwa [lintegral_trim_ae hm _] at hf
exact ae_strongly_measurable.ennnorm hf_meas_ae
#align measure_theory.integrable_of_integrable_trim MeasureTheory.integrable_of_integrable_trim
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -469,8 +469,7 @@ theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ
theorem HasFiniteIntegral.min_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => min (f a) 0) μ :=
hf.mono <|
- eventually_of_forall fun x => by
- simp [abs_le, neg_le, neg_le_abs_self, abs_eq_max_neg, le_total]
+ eventually_of_forall fun x => by simp [abs_le, neg_le, neg_le_abs, abs_eq_max_neg, le_total]
#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.min_zero
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -992,10 +992,10 @@ theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsF
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
-/
-#print MeasureTheory.Integrable.measure_ge_lt_top /-
+#print MeasureTheory.Integrable.measure_norm_ge_lt_top /-
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
where `‖f x‖ ≥ ε` is finite for all positive `ε`. -/
-theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
+theorem Integrable.measure_norm_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
μ {x | ε ≤ ‖f x‖} < ∞ :=
by
rw [show {x | ε ≤ ‖f x‖} = {x | ENNReal.ofReal ε ≤ ‖f x‖₊} by
@@ -1008,7 +1008,7 @@ theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε
ENNReal.ofReal_eq_zero, not_le] using hε
simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(mem_ℒp_one_iff_integrable.2 hf).snorm_ne_top
-#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_ge_lt_top
+#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_norm_ge_lt_top
-/
#print MeasureTheory.LipschitzWith.integrable_comp_iff_of_antilipschitz /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -207,7 +207,7 @@ theorem hasFiniteIntegral_congr {f g : α → β} (h : f =ᵐ[μ] g) :
theorem hasFiniteIntegral_const_iff {c : β} :
HasFiniteIntegral (fun x : α => c) μ ↔ c = 0 ∨ μ univ < ∞ := by
simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, ENNReal.mul_eq_top,
- or_iff_not_imp_left]
+ Classical.or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2019 Zhouhang Zhou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
-/
-import Mathbin.MeasureTheory.Function.LpOrder
+import MeasureTheory.Function.LpOrder
#align_import measure_theory.function.l1_space from "leanprover-community/mathlib"@"ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f"
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -427,7 +427,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
by
rw [← ENNReal.ofReal_zero]
refine' h_lim.mono fun a h => (continuous_of_real.tendsto _).comp _
- rwa [← tendsto_iff_norm_tendsto_zero]
+ rwa [← tendsto_iff_norm_sub_tendsto_zero]
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
suffices h : tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) at_top (𝓝 (∫⁻ a : α, 0 ∂μ))
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2019 Zhouhang Zhou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
-
-! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.MeasureTheory.Function.LpOrder
+#align_import measure_theory.function.l1_space from "leanprover-community/mathlib"@"ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f"
+
/-!
# Integrable functions and `L¹` space
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -70,15 +70,20 @@ namespace MeasureTheory
/-! ### Some results about the Lebesgue integral involving a normed group -/
+#print MeasureTheory.lintegral_nnnorm_eq_lintegral_edist /-
theorem lintegral_nnnorm_eq_lintegral_edist (f : α → β) :
∫⁻ a, ‖f a‖₊ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by simp only [edist_eq_coe_nnnorm]
#align measure_theory.lintegral_nnnorm_eq_lintegral_edist MeasureTheory.lintegral_nnnorm_eq_lintegral_edist
+-/
+#print MeasureTheory.lintegral_norm_eq_lintegral_edist /-
theorem lintegral_norm_eq_lintegral_edist (f : α → β) :
∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by
simp only [ofReal_norm_eq_coe_nnnorm, edist_eq_coe_nnnorm]
#align measure_theory.lintegral_norm_eq_lintegral_edist MeasureTheory.lintegral_norm_eq_lintegral_edist
+-/
+#print MeasureTheory.lintegral_edist_triangle /-
theorem lintegral_edist_triangle {f g h : α → β} (hf : AEStronglyMeasurable f μ)
(hh : AEStronglyMeasurable h μ) :
∫⁻ a, edist (f a) (g a) ∂μ ≤ ∫⁻ a, edist (f a) (h a) ∂μ + ∫⁻ a, edist (g a) (h a) ∂μ :=
@@ -87,23 +92,32 @@ theorem lintegral_edist_triangle {f g h : α → β} (hf : AEStronglyMeasurable
refine' lintegral_mono fun a => _
apply edist_triangle_right
#align measure_theory.lintegral_edist_triangle MeasureTheory.lintegral_edist_triangle
+-/
+#print MeasureTheory.lintegral_nnnorm_zero /-
theorem lintegral_nnnorm_zero : ∫⁻ a : α, ‖(0 : β)‖₊ ∂μ = 0 := by simp
#align measure_theory.lintegral_nnnorm_zero MeasureTheory.lintegral_nnnorm_zero
+-/
+#print MeasureTheory.lintegral_nnnorm_add_left /-
theorem lintegral_nnnorm_add_left {f : α → β} (hf : AEStronglyMeasurable f μ) (g : α → γ) :
∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_left' hf.ennnorm _
#align measure_theory.lintegral_nnnorm_add_left MeasureTheory.lintegral_nnnorm_add_left
+-/
+#print MeasureTheory.lintegral_nnnorm_add_right /-
theorem lintegral_nnnorm_add_right (f : α → β) {g : α → γ} (hg : AEStronglyMeasurable g μ) :
∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_right' _ hg.ennnorm
#align measure_theory.lintegral_nnnorm_add_right MeasureTheory.lintegral_nnnorm_add_right
+-/
+#print MeasureTheory.lintegral_nnnorm_neg /-
theorem lintegral_nnnorm_neg {f : α → β} : ∫⁻ a, ‖(-f) a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ := by
simp only [Pi.neg_apply, nnnorm_neg]
#align measure_theory.lintegral_nnnorm_neg MeasureTheory.lintegral_nnnorm_neg
+-/
/-! ### The predicate `has_finite_integral` -/
@@ -117,26 +131,35 @@ def HasFiniteIntegral {m : MeasurableSpace α} (f : α → β)
#align measure_theory.has_finite_integral MeasureTheory.HasFiniteIntegral
-/
+#print MeasureTheory.hasFiniteIntegral_iff_norm /-
theorem hasFiniteIntegral_iff_norm (f : α → β) :
HasFiniteIntegral f μ ↔ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ < ∞ := by
simp only [has_finite_integral, ofReal_norm_eq_coe_nnnorm]
#align measure_theory.has_finite_integral_iff_norm MeasureTheory.hasFiniteIntegral_iff_norm
+-/
+#print MeasureTheory.hasFiniteIntegral_iff_edist /-
theorem hasFiniteIntegral_iff_edist (f : α → β) :
HasFiniteIntegral f μ ↔ ∫⁻ a, edist (f a) 0 ∂μ < ∞ := by
simp only [has_finite_integral_iff_norm, edist_dist, dist_zero_right]
#align measure_theory.has_finite_integral_iff_edist MeasureTheory.hasFiniteIntegral_iff_edist
+-/
+#print MeasureTheory.hasFiniteIntegral_iff_ofReal /-
theorem hasFiniteIntegral_iff_ofReal {f : α → ℝ} (h : 0 ≤ᵐ[μ] f) :
HasFiniteIntegral f μ ↔ ∫⁻ a, ENNReal.ofReal (f a) ∂μ < ∞ := by
rw [has_finite_integral, lintegral_nnnorm_eq_of_ae_nonneg h]
#align measure_theory.has_finite_integral_iff_of_real MeasureTheory.hasFiniteIntegral_iff_ofReal
+-/
+#print MeasureTheory.hasFiniteIntegral_iff_ofNNReal /-
theorem hasFiniteIntegral_iff_ofNNReal {f : α → ℝ≥0} :
HasFiniteIntegral (fun x => (f x : ℝ)) μ ↔ ∫⁻ a, f a ∂μ < ∞ := by
simp [has_finite_integral_iff_norm]
#align measure_theory.has_finite_integral_iff_of_nnreal MeasureTheory.hasFiniteIntegral_iff_ofNNReal
+-/
+#print MeasureTheory.HasFiniteIntegral.mono /-
theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIntegral g μ)
(h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : HasFiniteIntegral f μ :=
by
@@ -146,107 +169,145 @@ theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIn
lintegral_mono_ae (h.mono fun a h => of_real_le_of_real h)
_ < ∞ := hg
#align measure_theory.has_finite_integral.mono MeasureTheory.HasFiniteIntegral.mono
+-/
+#print MeasureTheory.HasFiniteIntegral.mono' /-
theorem HasFiniteIntegral.mono' {f : α → β} {g : α → ℝ} (hg : HasFiniteIntegral g μ)
(h : ∀ᵐ a ∂μ, ‖f a‖ ≤ g a) : HasFiniteIntegral f μ :=
hg.mono <| h.mono fun x hx => le_trans hx (le_abs_self _)
#align measure_theory.has_finite_integral.mono' MeasureTheory.HasFiniteIntegral.mono'
+-/
+#print MeasureTheory.HasFiniteIntegral.congr' /-
theorem HasFiniteIntegral.congr' {f : α → β} {g : α → γ} (hf : HasFiniteIntegral f μ)
(h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : HasFiniteIntegral g μ :=
hf.mono <| EventuallyEq.le <| EventuallyEq.symm h
#align measure_theory.has_finite_integral.congr' MeasureTheory.HasFiniteIntegral.congr'
+-/
+#print MeasureTheory.hasFiniteIntegral_congr' /-
theorem hasFiniteIntegral_congr' {f : α → β} {g : α → γ} (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) :
HasFiniteIntegral f μ ↔ HasFiniteIntegral g μ :=
⟨fun hf => hf.congr' h, fun hg => hg.congr' <| EventuallyEq.symm h⟩
#align measure_theory.has_finite_integral_congr' MeasureTheory.hasFiniteIntegral_congr'
+-/
+#print MeasureTheory.HasFiniteIntegral.congr /-
theorem HasFiniteIntegral.congr {f g : α → β} (hf : HasFiniteIntegral f μ) (h : f =ᵐ[μ] g) :
HasFiniteIntegral g μ :=
hf.congr' <| h.fun_comp norm
#align measure_theory.has_finite_integral.congr MeasureTheory.HasFiniteIntegral.congr
+-/
+#print MeasureTheory.hasFiniteIntegral_congr /-
theorem hasFiniteIntegral_congr {f g : α → β} (h : f =ᵐ[μ] g) :
HasFiniteIntegral f μ ↔ HasFiniteIntegral g μ :=
hasFiniteIntegral_congr' <| h.fun_comp norm
#align measure_theory.has_finite_integral_congr MeasureTheory.hasFiniteIntegral_congr
+-/
+#print MeasureTheory.hasFiniteIntegral_const_iff /-
theorem hasFiniteIntegral_const_iff {c : β} :
HasFiniteIntegral (fun x : α => c) μ ↔ c = 0 ∨ μ univ < ∞ := by
simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, ENNReal.mul_eq_top,
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
+-/
+#print MeasureTheory.hasFiniteIntegral_const /-
theorem hasFiniteIntegral_const [IsFiniteMeasure μ] (c : β) :
HasFiniteIntegral (fun x : α => c) μ :=
hasFiniteIntegral_const_iff.2 (Or.inr <| measure_lt_top _ _)
#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegral_const
+-/
+#print MeasureTheory.hasFiniteIntegral_of_bounded /-
theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
(hC : ∀ᵐ a ∂μ, ‖f a‖ ≤ C) : HasFiniteIntegral f μ :=
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
+-/
+#print MeasureTheory.HasFiniteIntegral.mono_measure /-
theorem HasFiniteIntegral.mono_measure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
HasFiniteIntegral f μ :=
lt_of_le_of_lt (lintegral_mono' hμ le_rfl) h
#align measure_theory.has_finite_integral.mono_measure MeasureTheory.HasFiniteIntegral.mono_measure
+-/
+#print MeasureTheory.HasFiniteIntegral.add_measure /-
theorem HasFiniteIntegral.add_measure {f : α → β} (hμ : HasFiniteIntegral f μ)
(hν : HasFiniteIntegral f ν) : HasFiniteIntegral f (μ + ν) :=
by
simp only [has_finite_integral, lintegral_add_measure] at *
exact add_lt_top.2 ⟨hμ, hν⟩
#align measure_theory.has_finite_integral.add_measure MeasureTheory.HasFiniteIntegral.add_measure
+-/
+#print MeasureTheory.HasFiniteIntegral.left_of_add_measure /-
theorem HasFiniteIntegral.left_of_add_measure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
HasFiniteIntegral f μ :=
h.mono_measure <| Measure.le_add_right <| le_rfl
#align measure_theory.has_finite_integral.left_of_add_measure MeasureTheory.HasFiniteIntegral.left_of_add_measure
+-/
+#print MeasureTheory.HasFiniteIntegral.right_of_add_measure /-
theorem HasFiniteIntegral.right_of_add_measure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
HasFiniteIntegral f ν :=
h.mono_measure <| Measure.le_add_left <| le_rfl
#align measure_theory.has_finite_integral.right_of_add_measure MeasureTheory.HasFiniteIntegral.right_of_add_measure
+-/
+#print MeasureTheory.hasFiniteIntegral_add_measure /-
@[simp]
theorem hasFiniteIntegral_add_measure {f : α → β} :
HasFiniteIntegral f (μ + ν) ↔ HasFiniteIntegral f μ ∧ HasFiniteIntegral f ν :=
⟨fun h => ⟨h.left_of_add_measure, h.right_of_add_measure⟩, fun h => h.1.add_measure h.2⟩
#align measure_theory.has_finite_integral_add_measure MeasureTheory.hasFiniteIntegral_add_measure
+-/
+#print MeasureTheory.HasFiniteIntegral.smul_measure /-
theorem HasFiniteIntegral.smul_measure {f : α → β} (h : HasFiniteIntegral f μ) {c : ℝ≥0∞}
(hc : c ≠ ∞) : HasFiniteIntegral f (c • μ) :=
by
simp only [has_finite_integral, lintegral_smul_measure] at *
exact mul_lt_top hc h.ne
#align measure_theory.has_finite_integral.smul_measure MeasureTheory.HasFiniteIntegral.smul_measure
+-/
+#print MeasureTheory.hasFiniteIntegral_zero_measure /-
@[simp]
theorem hasFiniteIntegral_zero_measure {m : MeasurableSpace α} (f : α → β) :
HasFiniteIntegral f (0 : Measure α) := by
simp only [has_finite_integral, lintegral_zero_measure, WithTop.zero_lt_top]
#align measure_theory.has_finite_integral_zero_measure MeasureTheory.hasFiniteIntegral_zero_measure
+-/
variable (α β μ)
+#print MeasureTheory.hasFiniteIntegral_zero /-
@[simp]
theorem hasFiniteIntegral_zero : HasFiniteIntegral (fun a : α => (0 : β)) μ := by
simp [has_finite_integral]
#align measure_theory.has_finite_integral_zero MeasureTheory.hasFiniteIntegral_zero
+-/
variable {α β μ}
+#print MeasureTheory.HasFiniteIntegral.neg /-
theorem HasFiniteIntegral.neg {f : α → β} (hfi : HasFiniteIntegral f μ) :
HasFiniteIntegral (-f) μ := by simpa [has_finite_integral] using hfi
#align measure_theory.has_finite_integral.neg MeasureTheory.HasFiniteIntegral.neg
+-/
+#print MeasureTheory.hasFiniteIntegral_neg_iff /-
@[simp]
theorem hasFiniteIntegral_neg_iff {f : α → β} : HasFiniteIntegral (-f) μ ↔ HasFiniteIntegral f μ :=
⟨fun h => neg_neg f ▸ h.neg, HasFiniteIntegral.neg⟩
#align measure_theory.has_finite_integral_neg_iff MeasureTheory.hasFiniteIntegral_neg_iff
+-/
+#print MeasureTheory.HasFiniteIntegral.norm /-
theorem HasFiniteIntegral.norm {f : α → β} (hfi : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => ‖f a‖) μ :=
by
@@ -254,12 +315,16 @@ theorem HasFiniteIntegral.norm {f : α → β} (hfi : HasFiniteIntegral f μ) :
rw [nnnorm_norm]
rwa [has_finite_integral, Eq]
#align measure_theory.has_finite_integral.norm MeasureTheory.HasFiniteIntegral.norm
+-/
+#print MeasureTheory.hasFiniteIntegral_norm_iff /-
theorem hasFiniteIntegral_norm_iff (f : α → β) :
HasFiniteIntegral (fun a => ‖f a‖) μ ↔ HasFiniteIntegral f μ :=
hasFiniteIntegral_congr' <| eventually_of_forall fun x => norm_norm (f x)
#align measure_theory.has_finite_integral_norm_iff MeasureTheory.hasFiniteIntegral_norm_iff
+-/
+#print MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top /-
theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf : ∫⁻ x, f x ∂μ ≠ ∞) :
HasFiniteIntegral (fun x => (f x).toReal) μ :=
by
@@ -273,6 +338,7 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
· lift f x to ℝ≥0 using hfx with fx
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
+-/
#print MeasureTheory.isFiniteMeasure_withDensity_ofReal /-
theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
@@ -287,16 +353,21 @@ section DominatedConvergence
variable {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
+#print MeasureTheory.all_ae_ofReal_F_le_bound /-
theorem all_ae_ofReal_F_le_bound (h : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a) :
∀ n, ∀ᵐ a ∂μ, ENNReal.ofReal ‖F n a‖ ≤ ENNReal.ofReal (bound a) := fun n =>
(h n).mono fun a h => ENNReal.ofReal_le_ofReal h
#align measure_theory.all_ae_of_real_F_le_bound MeasureTheory.all_ae_ofReal_F_le_bound
+-/
+#print MeasureTheory.all_ae_tendsto_ofReal_norm /-
theorem all_ae_tendsto_ofReal_norm (h : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop <| 𝓝 <| f a) :
∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a‖) atTop <| 𝓝 <| ENNReal.ofReal ‖f a‖ :=
h.mono fun a h => tendsto_ofReal <| Tendsto.comp (Continuous.tendsto continuous_norm _) h
#align measure_theory.all_ae_tendsto_of_real_norm MeasureTheory.all_ae_tendsto_ofReal_norm
+-/
+#print MeasureTheory.all_ae_ofReal_f_le_bound /-
theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
(h_lim : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop (𝓝 (f a))) :
∀ᵐ a ∂μ, ENNReal.ofReal ‖f a‖ ≤ ENNReal.ofReal (bound a) :=
@@ -307,7 +378,9 @@ theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖
intro a tendsto_norm F_le_bound
exact le_of_tendsto' tendsto_norm F_le_bound
#align measure_theory.all_ae_of_real_f_le_bound MeasureTheory.all_ae_ofReal_f_le_bound
+-/
+#print MeasureTheory.hasFiniteIntegral_of_dominated_convergence /-
theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
(bound_has_finite_integral : HasFiniteIntegral bound μ)
(h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
@@ -324,7 +397,9 @@ theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f :
· exact bound_has_finite_integral
exact (h_bound 0).mono fun a h => le_trans (norm_nonneg _) h
#align measure_theory.has_finite_integral_of_dominated_convergence MeasureTheory.hasFiniteIntegral_of_dominated_convergence
+-/
+#print MeasureTheory.tendsto_lintegral_norm_of_dominated_convergence /-
theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
(F_measurable : ∀ n, AEStronglyMeasurable (F n) μ)
(bound_has_finite_integral : HasFiniteIntegral bound μ)
@@ -377,6 +452,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
-- Show `‖f a - F n a‖ --> 0`
· exact h
#align measure_theory.tendsto_lintegral_norm_of_dominated_convergence MeasureTheory.tendsto_lintegral_norm_of_dominated_convergence
+-/
end DominatedConvergence
@@ -385,17 +461,21 @@ section PosPart
/-! Lemmas used for defining the positive part of a `L¹` function -/
+#print MeasureTheory.HasFiniteIntegral.max_zero /-
theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => max (f a) 0) μ :=
hf.mono <| eventually_of_forall fun x => by simp [abs_le, le_abs_self]
#align measure_theory.has_finite_integral.max_zero MeasureTheory.HasFiniteIntegral.max_zero
+-/
+#print MeasureTheory.HasFiniteIntegral.min_zero /-
theorem HasFiniteIntegral.min_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => min (f a) 0) μ :=
hf.mono <|
eventually_of_forall fun x => by
simp [abs_le, neg_le, neg_le_abs_self, abs_eq_max_neg, le_total]
#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.min_zero
+-/
end PosPart
@@ -403,6 +483,7 @@ section NormedSpace
variable {𝕜 : Type _}
+#print MeasureTheory.HasFiniteIntegral.smul /-
theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
{f : α → β} : HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
by
@@ -417,7 +498,9 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
rw [lintegral_const_mul']
exacts [mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
#align measure_theory.has_finite_integral.smul MeasureTheory.HasFiniteIntegral.smul
+-/
+#print MeasureTheory.hasFiniteIntegral_smul_iff /-
theorem hasFiniteIntegral_smul_iff [NormedRing 𝕜] [MulActionWithZero 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
(hc : IsUnit c) (f : α → β) : HasFiniteIntegral (c • f) μ ↔ HasFiniteIntegral f μ :=
by
@@ -427,16 +510,21 @@ theorem hasFiniteIntegral_smul_iff [NormedRing 𝕜] [MulActionWithZero 𝕜 β]
simpa only [smul_smul, Units.inv_mul, one_smul] using h.smul (↑c⁻¹ : 𝕜)
exact has_finite_integral.smul _
#align measure_theory.has_finite_integral_smul_iff MeasureTheory.hasFiniteIntegral_smul_iff
+-/
+#print MeasureTheory.HasFiniteIntegral.const_mul /-
theorem HasFiniteIntegral.const_mul [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
HasFiniteIntegral (fun x => c * f x) μ :=
h.smul c
#align measure_theory.has_finite_integral.const_mul MeasureTheory.HasFiniteIntegral.const_mul
+-/
+#print MeasureTheory.HasFiniteIntegral.mul_const /-
theorem HasFiniteIntegral.mul_const [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
HasFiniteIntegral (fun x => f x * c) μ :=
h.smul (MulOpposite.op c)
#align measure_theory.has_finite_integral.mul_const MeasureTheory.HasFiniteIntegral.mul_const
+-/
end NormedSpace
@@ -479,26 +567,34 @@ theorem Integrable.hasFiniteIntegral {f : α → β} (hf : Integrable f μ) : Ha
#align measure_theory.integrable.has_finite_integral MeasureTheory.Integrable.hasFiniteIntegral
-/
+#print MeasureTheory.Integrable.mono /-
theorem Integrable.mono {f : α → β} {g : α → γ} (hg : Integrable g μ)
(hf : AEStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : Integrable f μ :=
⟨hf, hg.HasFiniteIntegral.mono h⟩
#align measure_theory.integrable.mono MeasureTheory.Integrable.mono
+-/
+#print MeasureTheory.Integrable.mono' /-
theorem Integrable.mono' {f : α → β} {g : α → ℝ} (hg : Integrable g μ)
(hf : AEStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ g a) : Integrable f μ :=
⟨hf, hg.HasFiniteIntegral.mono' h⟩
#align measure_theory.integrable.mono' MeasureTheory.Integrable.mono'
+-/
+#print MeasureTheory.Integrable.congr' /-
theorem Integrable.congr' {f : α → β} {g : α → γ} (hf : Integrable f μ)
(hg : AEStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : Integrable g μ :=
⟨hg, hf.HasFiniteIntegral.congr' h⟩
#align measure_theory.integrable.congr' MeasureTheory.Integrable.congr'
+-/
+#print MeasureTheory.integrable_congr' /-
theorem integrable_congr' {f : α → β} {g : α → γ} (hf : AEStronglyMeasurable f μ)
(hg : AEStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) :
Integrable f μ ↔ Integrable g μ :=
⟨fun h2f => h2f.congr' hg h, fun h2g => h2g.congr' hf <| EventuallyEq.symm h⟩
#align measure_theory.integrable_congr' MeasureTheory.integrable_congr'
+-/
#print MeasureTheory.Integrable.congr /-
theorem Integrable.congr {f g : α → β} (hf : Integrable f μ) (h : f =ᵐ[μ] g) : Integrable g μ :=
@@ -506,28 +602,37 @@ theorem Integrable.congr {f g : α → β} (hf : Integrable f μ) (h : f =ᵐ[μ
#align measure_theory.integrable.congr MeasureTheory.Integrable.congr
-/
+#print MeasureTheory.integrable_congr /-
theorem integrable_congr {f g : α → β} (h : f =ᵐ[μ] g) : Integrable f μ ↔ Integrable g μ :=
⟨fun hf => hf.congr h, fun hg => hg.congr h.symm⟩
#align measure_theory.integrable_congr MeasureTheory.integrable_congr
+-/
+#print MeasureTheory.integrable_const_iff /-
theorem integrable_const_iff {c : β} : Integrable (fun x : α => c) μ ↔ c = 0 ∨ μ univ < ∞ :=
by
have : ae_strongly_measurable (fun x : α => c) μ := ae_strongly_measurable_const
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
+-/
+#print MeasureTheory.integrable_const /-
@[simp]
theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
+-/
+#print MeasureTheory.Memℒp.integrable_norm_rpow /-
theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
(hp_ne_top : p ≠ ∞) : Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
rw [← mem_ℒp_one_iff_integrable]
exact hf.norm_rpow hp_ne_zero hp_ne_top
#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrable_norm_rpow
+-/
+#print MeasureTheory.Memℒp.integrable_norm_rpow' /-
theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
@@ -537,6 +642,7 @@ theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p :
· simp [h_top, integrable_const]
exact hf.integrable_norm_rpow h_zero h_top
#align measure_theory.mem_ℒp.integrable_norm_rpow' MeasureTheory.Memℒp.integrable_norm_rpow'
+-/
#print MeasureTheory.Integrable.mono_measure /-
theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ ≤ ν) : Integrable f μ :=
@@ -544,10 +650,12 @@ theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ
#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.mono_measure
-/
+#print MeasureTheory.Integrable.of_measure_le_smul /-
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
{f : α → β} (hf : Integrable f μ) : Integrable f μ' := by
rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.of_measure_le_smul c hc hμ'_le
#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
+-/
#print MeasureTheory.Integrable.add_measure /-
theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
@@ -580,21 +688,28 @@ theorem integrable_add_measure {f : α → β} :
#align measure_theory.integrable_add_measure MeasureTheory.integrable_add_measure
-/
+#print MeasureTheory.integrable_zero_measure /-
@[simp]
theorem integrable_zero_measure {m : MeasurableSpace α} {f : α → β} :
Integrable f (0 : Measure α) :=
⟨aestronglyMeasurable_zero_measure f, hasFiniteIntegral_zero_measure f⟩
#align measure_theory.integrable_zero_measure MeasureTheory.integrable_zero_measure
+-/
+#print MeasureTheory.integrable_finset_sum_measure /-
theorem integrable_finset_sum_measure {ι} {m : MeasurableSpace α} {f : α → β} {μ : ι → Measure α}
{s : Finset ι} : Integrable f (∑ i in s, μ i) ↔ ∀ i ∈ s, Integrable f (μ i) := by
induction s using Finset.induction_on <;> simp [*]
#align measure_theory.integrable_finset_sum_measure MeasureTheory.integrable_finset_sum_measure
+-/
+#print MeasureTheory.Integrable.smul_measure /-
theorem Integrable.smul_measure {f : α → β} (h : Integrable f μ) {c : ℝ≥0∞} (hc : c ≠ ∞) :
Integrable f (c • μ) := by rw [← mem_ℒp_one_iff_integrable] at h ⊢; exact h.smul_measure hc
#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smul_measure
+-/
+#print MeasureTheory.integrable_smul_measure /-
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
Integrable f (c • μ) ↔ Integrable f μ :=
⟨fun h => by
@@ -602,25 +717,32 @@ theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0
h.smul_measure (ENNReal.inv_ne_top.2 h₁),
fun h => h.smul_measure h₂⟩
#align measure_theory.integrable_smul_measure MeasureTheory.integrable_smul_measure
+-/
+#print MeasureTheory.integrable_inv_smul_measure /-
theorem integrable_inv_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
Integrable f (c⁻¹ • μ) ↔ Integrable f μ :=
integrable_smul_measure (by simpa using h₂) (by simpa using h₁)
#align measure_theory.integrable_inv_smul_measure MeasureTheory.integrable_inv_smul_measure
+-/
+#print MeasureTheory.Integrable.to_average /-
theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable f ((μ univ)⁻¹ • μ) :=
by
rcases eq_or_ne μ 0 with (rfl | hne)
· rwa [smul_zero]
· apply h.smul_measure; simpa
#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
+-/
+#print MeasureTheory.integrable_average /-
theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
(eq_or_ne μ 0).byCases (fun h => by simp [h]) fun h =>
integrable_smul_measure (ENNReal.inv_ne_zero.2 <| measure_ne_top _ _)
(ENNReal.inv_ne_top.2 <| mt Measure.measure_univ_eq_zero.1 h)
#align measure_theory.integrable_average MeasureTheory.integrable_average
+-/
#print MeasureTheory.integrable_map_measure /-
theorem integrable_map_measure {f : α → δ} {g : δ → β}
@@ -630,37 +752,50 @@ theorem integrable_map_measure {f : α → δ} {g : δ → β}
#align measure_theory.integrable_map_measure MeasureTheory.integrable_map_measure
-/
+#print MeasureTheory.Integrable.comp_aemeasurable /-
theorem Integrable.comp_aemeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : AEMeasurable f μ) : Integrable (g ∘ f) μ :=
(integrable_map_measure hg.AEStronglyMeasurable hf).mp hg
#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.comp_aemeasurable
+-/
+#print MeasureTheory.Integrable.comp_measurable /-
theorem Integrable.comp_measurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : Measurable f) : Integrable (g ∘ f) μ :=
hg.comp_aemeasurable hf.AEMeasurable
#align measure_theory.integrable.comp_measurable MeasureTheory.Integrable.comp_measurable
+-/
+#print MeasurableEmbedding.integrable_map_iff /-
theorem MeasurableEmbedding.integrable_map_iff {f : α → δ} (hf : MeasurableEmbedding f)
{g : δ → β} : Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
simp_rw [← mem_ℒp_one_iff_integrable]; exact hf.mem_ℒp_map_measure_iff
#align measurable_embedding.integrable_map_iff MeasurableEmbedding.integrable_map_iff
+-/
+#print MeasureTheory.integrable_map_equiv /-
theorem integrable_map_equiv (f : α ≃ᵐ δ) (g : δ → β) :
Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
simp_rw [← mem_ℒp_one_iff_integrable]; exact f.mem_ℒp_map_measure_iff
#align measure_theory.integrable_map_equiv MeasureTheory.integrable_map_equiv
+-/
+#print MeasureTheory.MeasurePreserving.integrable_comp /-
theorem MeasurePreserving.integrable_comp {ν : Measure δ} {g : δ → β} {f : α → δ}
(hf : MeasurePreserving f μ ν) (hg : AEStronglyMeasurable g ν) :
Integrable (g ∘ f) μ ↔ Integrable g ν := by rw [← hf.map_eq] at hg ⊢;
exact (integrable_map_measure hg hf.measurable.ae_measurable).symm
#align measure_theory.measure_preserving.integrable_comp MeasureTheory.MeasurePreserving.integrable_comp
+-/
+#print MeasureTheory.MeasurePreserving.integrable_comp_emb /-
theorem MeasurePreserving.integrable_comp_emb {f : α → δ} {ν} (h₁ : MeasurePreserving f μ ν)
(h₂ : MeasurableEmbedding f) {g : δ → β} : Integrable (g ∘ f) μ ↔ Integrable g ν :=
h₁.map_eq ▸ Iff.symm h₂.integrable_map_iff
#align measure_theory.measure_preserving.integrable_comp_emb MeasureTheory.MeasurePreserving.integrable_comp_emb
+-/
+#print MeasureTheory.lintegral_edist_lt_top /-
theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
∫⁻ a, edist (f a) (g a) ∂μ < ∞ :=
lt_of_le_of_lt (lintegral_edist_triangle hf.AEStronglyMeasurable aestronglyMeasurable_zero)
@@ -669,16 +804,20 @@ theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : In
simp_rw [Pi.zero_apply, ← has_finite_integral_iff_edist]
exact ⟨hf.has_finite_integral, hg.has_finite_integral⟩)
#align measure_theory.lintegral_edist_lt_top MeasureTheory.lintegral_edist_lt_top
+-/
variable (α β μ)
+#print MeasureTheory.integrable_zero /-
@[simp]
theorem integrable_zero : Integrable (fun _ => (0 : β)) μ := by
simp [integrable, ae_strongly_measurable_const]
#align measure_theory.integrable_zero MeasureTheory.integrable_zero
+-/
variable {α β μ}
+#print MeasureTheory.Integrable.add' /-
theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
HasFiniteIntegral (f + g) μ :=
calc
@@ -687,11 +826,14 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
_ = _ := (lintegral_nnnorm_add_left hf.AEStronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.HasFiniteIntegral, hg.HasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
+-/
+#print MeasureTheory.Integrable.add /-
theorem Integrable.add {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (f + g) μ :=
⟨hf.AEStronglyMeasurable.add hg.AEStronglyMeasurable, hf.add' hg⟩
#align measure_theory.integrable.add MeasureTheory.Integrable.add
+-/
#print MeasureTheory.integrable_finset_sum' /-
theorem integrable_finset_sum' {ι} (s : Finset ι) {f : ι → α → β}
@@ -708,18 +850,24 @@ theorem integrable_finset_sum {ι} (s : Finset ι) {f : ι → α → β}
#align measure_theory.integrable_finset_sum MeasureTheory.integrable_finset_sum
-/
+#print MeasureTheory.Integrable.neg /-
theorem Integrable.neg {f : α → β} (hf : Integrable f μ) : Integrable (-f) μ :=
⟨hf.AEStronglyMeasurable.neg, hf.HasFiniteIntegral.neg⟩
#align measure_theory.integrable.neg MeasureTheory.Integrable.neg
+-/
+#print MeasureTheory.integrable_neg_iff /-
@[simp]
theorem integrable_neg_iff {f : α → β} : Integrable (-f) μ ↔ Integrable f μ :=
⟨fun h => neg_neg f ▸ h.neg, Integrable.neg⟩
#align measure_theory.integrable_neg_iff MeasureTheory.integrable_neg_iff
+-/
+#print MeasureTheory.Integrable.sub /-
theorem Integrable.sub {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (f - g) μ := by simpa only [sub_eq_add_neg] using hf.add hg.neg
#align measure_theory.integrable.sub MeasureTheory.Integrable.sub
+-/
#print MeasureTheory.Integrable.norm /-
theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun a => ‖f a‖) μ :=
@@ -727,20 +875,27 @@ theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun
#align measure_theory.integrable.norm MeasureTheory.Integrable.norm
-/
+#print MeasureTheory.Integrable.inf /-
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
(hg : Integrable g μ) : Integrable (f ⊓ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg ⊢;
exact hf.inf hg
#align measure_theory.integrable.inf MeasureTheory.Integrable.inf
+-/
+#print MeasureTheory.Integrable.sup /-
theorem Integrable.sup {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
(hg : Integrable g μ) : Integrable (f ⊔ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg ⊢;
exact hf.sup hg
#align measure_theory.integrable.sup MeasureTheory.Integrable.sup
+-/
+#print MeasureTheory.Integrable.abs /-
theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf : Integrable f μ) :
Integrable (fun a => |f a|) μ := by rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
+-/
+#print MeasureTheory.Integrable.bdd_mul /-
theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
(hm : AEStronglyMeasurable f μ) (hfbdd : ∃ C, ∀ x, ‖f x‖ ≤ C) :
Integrable (fun x => f x * g x) μ :=
@@ -761,7 +916,9 @@ theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F}
rw [lintegral_const_mul' _ _ ENNReal.coe_ne_top]
exact ENNReal.mul_lt_top ENNReal.coe_ne_top (ne_of_lt hint.2)
#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bdd_mul
+-/
+#print MeasureTheory.Integrable.essSup_smul /-
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
@@ -777,7 +934,9 @@ theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_ae_strongly_measurable h
_ < ∞ := ENNReal.mul_lt_top hg' hf.2.Ne
#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSup_smul
+-/
+#print MeasureTheory.Integrable.smul_essSup /-
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
theorem Integrable.smul_essSup {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
@@ -794,12 +953,16 @@ theorem Integrable.smul_essSup {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β
MeasureTheory.snorm_smul_le_mul_snorm g_ae_strongly_measurable hf.1 h
_ < ∞ := ENNReal.mul_lt_top hf.2.Ne hg'
#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
+-/
+#print MeasureTheory.integrable_norm_iff /-
theorem integrable_norm_iff {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (fun a => ‖f a‖) μ ↔ Integrable f μ := by
simp_rw [integrable, and_iff_right hf, and_iff_right hf.norm, has_finite_integral_norm_iff]
#align measure_theory.integrable_norm_iff MeasureTheory.integrable_norm_iff
+-/
+#print MeasureTheory.integrable_of_norm_sub_le /-
theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m : AEStronglyMeasurable f₁ μ)
(hf₀_i : Integrable f₀ μ) (hg_i : Integrable g μ) (h : ∀ᵐ a ∂μ, ‖f₀ a - f₁ a‖ ≤ g a) :
Integrable f₁ μ :=
@@ -811,7 +974,9 @@ theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf
_ ≤ ‖f₀ a‖ + g a := add_le_add_left ha _
integrable.mono' (hf₀_i.norm.add hg_i) hf₁_m this
#align measure_theory.integrable_of_norm_sub_le MeasureTheory.integrable_of_norm_sub_le
+-/
+#print MeasureTheory.Integrable.prod_mk /-
theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (fun x => (f x, g x)) μ :=
⟨hf.AEStronglyMeasurable.prod_mk hg.AEStronglyMeasurable,
@@ -821,12 +986,16 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
max ‖f x‖ ‖g x‖ ≤ ‖f x‖ + ‖g x‖ := max_le_add_of_nonneg (norm_nonneg _) (norm_nonneg _)
_ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
+-/
+#print MeasureTheory.Memℒp.integrable /-
theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
(hfq : Memℒp f q μ) : Integrable f μ :=
memℒp_one_iff_integrable.mp (hfq.memℒp_of_exponent_le hq1)
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
+-/
+#print MeasureTheory.Integrable.measure_ge_lt_top /-
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
where `‖f x‖ ≥ ε` is finite for all positive `ε`. -/
theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
@@ -843,13 +1012,17 @@ theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε
simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(mem_ℒp_one_iff_integrable.2 hf).snorm_ne_top
#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_ge_lt_top
+-/
+#print MeasureTheory.LipschitzWith.integrable_comp_iff_of_antilipschitz /-
theorem LipschitzWith.integrable_comp_iff_of_antilipschitz {K K'} {f : α → β} {g : β → γ}
(hg : LipschitzWith K g) (hg' : AntilipschitzWith K' g) (g0 : g 0 = 0) :
Integrable (g ∘ f) μ ↔ Integrable f μ := by
simp [← mem_ℒp_one_iff_integrable, hg.mem_ℒp_comp_iff_of_antilipschitz hg' g0]
#align measure_theory.lipschitz_with.integrable_comp_iff_of_antilipschitz MeasureTheory.LipschitzWith.integrable_comp_iff_of_antilipschitz
+-/
+#print MeasureTheory.Integrable.real_toNNReal /-
theorem Integrable.real_toNNReal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => ((f x).toNNReal : ℝ)) μ :=
by
@@ -861,7 +1034,9 @@ theorem Integrable.real_toNNReal {f : α → ℝ} (hf : Integrable f μ) :
intro x
simp [ENNReal.ofReal_le_ofReal, abs_le, le_abs_self]
#align measure_theory.integrable.real_to_nnreal MeasureTheory.Integrable.real_toNNReal
+-/
+#print MeasureTheory.ofReal_toReal_ae_eq /-
theorem ofReal_toReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
(fun x => ENNReal.ofReal (f x).toReal) =ᵐ[μ] f :=
by
@@ -869,7 +1044,9 @@ theorem ofReal_toReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x <
intro x hx
simp only [hx.ne, of_real_to_real, Ne.def, not_false_iff]
#align measure_theory.of_real_to_real_ae_eq MeasureTheory.ofReal_toReal_ae_eq
+-/
+#print MeasureTheory.coe_toNNReal_ae_eq /-
theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
(fun x => ((f x).toNNReal : ℝ≥0∞)) =ᵐ[μ] f :=
by
@@ -877,11 +1054,13 @@ theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x <
intro x hx
simp only [hx.ne, Ne.def, not_false_iff, coe_to_nnreal]
#align measure_theory.coe_to_nnreal_ae_eq MeasureTheory.coe_toNNReal_ae_eq
+-/
section
variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
+#print MeasureTheory.integrable_withDensity_iff_integrable_coe_smul /-
theorem integrable_withDensity_iff_integrable_coe_smul {f : α → ℝ≥0} (hf : Measurable f)
{g : α → E} :
Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
@@ -899,12 +1078,16 @@ theorem integrable_withDensity_iff_integrable_coe_smul {f : α → ℝ≥0} (hf
simp only [nnnorm_smul, NNReal.nnnorm_eq, coe_mul]
· simp only [integrable, aestronglyMeasurable_withDensity_iff hf, H, false_and_iff]
#align measure_theory.integrable_with_density_iff_integrable_coe_smul MeasureTheory.integrable_withDensity_iff_integrable_coe_smul
+-/
+#print MeasureTheory.integrable_withDensity_iff_integrable_smul /-
theorem integrable_withDensity_iff_integrable_smul {f : α → ℝ≥0} (hf : Measurable f) {g : α → E} :
Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => f x • g x) μ :=
integrable_withDensity_iff_integrable_coe_smul hf
#align measure_theory.integrable_with_density_iff_integrable_smul MeasureTheory.integrable_withDensity_iff_integrable_smul
+-/
+#print MeasureTheory.integrable_withDensity_iff_integrable_smul' /-
theorem integrable_withDensity_iff_integrable_smul' {f : α → ℝ≥0∞} (hf : Measurable f)
(hflt : ∀ᵐ x ∂μ, f x < ∞) {g : α → E} :
Integrable g (μ.withDensity f) ↔ Integrable (fun x => (f x).toReal • g x) μ :=
@@ -914,7 +1097,9 @@ theorem integrable_withDensity_iff_integrable_smul' {f : α → ℝ≥0∞} (hf
· rfl
· exact hf.ennreal_to_nnreal
#align measure_theory.integrable_with_density_iff_integrable_smul' MeasureTheory.integrable_withDensity_iff_integrable_smul'
+-/
+#print MeasureTheory.integrable_withDensity_iff_integrable_coe_smul₀ /-
theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (hf : AEMeasurable f μ)
{g : α → E} :
Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
@@ -932,14 +1117,18 @@ theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (
filter_upwards [hf.ae_eq_mk] with x hx
simp [hx]
#align measure_theory.integrable_with_density_iff_integrable_coe_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_coe_smul₀
+-/
+#print MeasureTheory.integrable_withDensity_iff_integrable_smul₀ /-
theorem integrable_withDensity_iff_integrable_smul₀ {f : α → ℝ≥0} (hf : AEMeasurable f μ)
{g : α → E} : Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => f x • g x) μ :=
integrable_withDensity_iff_integrable_coe_smul₀ hf
#align measure_theory.integrable_with_density_iff_integrable_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_smul₀
+-/
end
+#print MeasureTheory.integrable_withDensity_iff /-
theorem integrable_withDensity_iff {f : α → ℝ≥0∞} (hf : Measurable f) (hflt : ∀ᵐ x ∂μ, f x < ∞)
{g : α → ℝ} : Integrable g (μ.withDensity f) ↔ Integrable (fun x => g x * (f x).toReal) μ :=
by
@@ -947,19 +1136,23 @@ theorem integrable_withDensity_iff {f : α → ℝ≥0∞} (hf : Measurable f) (
rw [this]
exact integrable_with_density_iff_integrable_smul' hf hflt
#align measure_theory.integrable_with_density_iff MeasureTheory.integrable_withDensity_iff
+-/
section
variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
+#print MeasureTheory.memℒ1_smul_of_L1_withDensity /-
theorem memℒ1_smul_of_L1_withDensity {f : α → ℝ≥0} (f_meas : Measurable f)
(u : Lp E 1 (μ.withDensity fun x => f x)) : Memℒp (fun x => f x • u x) 1 μ :=
memℒp_one_iff_integrable.2 <|
(integrable_withDensity_iff_integrable_smul f_meas).1 <| memℒp_one_iff_integrable.1 (Lp.memℒp u)
#align measure_theory.mem_ℒ1_smul_of_L1_with_density MeasureTheory.memℒ1_smul_of_L1_withDensity
+-/
variable (μ)
+#print MeasureTheory.withDensitySMulLI /-
/-- The map `u ↦ f • u` is an isometry between the `L^1` spaces for `μ.with_density f` and `μ`. -/
noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f) :
Lp E 1 (μ.withDensity fun x => f x) →ₗᵢ[ℝ] Lp E 1 μ
@@ -1006,7 +1199,9 @@ noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f)
change ↑‖(f x : ℝ) • u x‖₊ = ↑(f x) * ↑‖u x‖₊
simp only [nnnorm_smul, NNReal.nnnorm_eq, ENNReal.coe_mul]
#align measure_theory.with_density_smul_li MeasureTheory.withDensitySMulLI
+-/
+#print MeasureTheory.withDensitySMulLI_apply /-
@[simp]
theorem withDensitySMulLI_apply {f : α → ℝ≥0} (f_meas : Measurable f)
(u : Lp E 1 (μ.withDensity fun x => f x)) :
@@ -1014,9 +1209,11 @@ theorem withDensitySMulLI_apply {f : α → ℝ≥0} (f_meas : Measurable f)
(memℒ1_smul_of_L1_withDensity f_meas u).toLp fun x => f x • u x :=
rfl
#align measure_theory.with_density_smul_li_apply MeasureTheory.withDensitySMulLI_apply
+-/
end
+#print MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top /-
theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
(hfi : ∫⁻ x, f x ∂μ ≠ ∞) : Memℒp (fun x => (f x).toReal) 1 μ :=
by
@@ -1025,27 +1222,34 @@ theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMea
⟨(AEMeasurable.ennreal_toReal hfm).AEStronglyMeasurable,
has_finite_integral_to_real_of_lintegral_ne_top hfi⟩
#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top
+-/
+#print MeasureTheory.integrable_toReal_of_lintegral_ne_top /-
theorem integrable_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
(hfi : ∫⁻ x, f x ∂μ ≠ ∞) : Integrable (fun x => (f x).toReal) μ :=
memℒp_one_iff_integrable.1 <| mem_ℒ1_toReal_of_lintegral_ne_top hfm hfi
#align measure_theory.integrable_to_real_of_lintegral_ne_top MeasureTheory.integrable_toReal_of_lintegral_ne_top
+-/
section PosPart
/-! ### Lemmas used for defining the positive part of a `L¹` function -/
+#print MeasureTheory.Integrable.pos_part /-
theorem Integrable.pos_part {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun a => max (f a) 0) μ :=
⟨(hf.AEStronglyMeasurable.AEMeasurable.max aemeasurable_const).AEStronglyMeasurable,
hf.HasFiniteIntegral.max_zero⟩
#align measure_theory.integrable.pos_part MeasureTheory.Integrable.pos_part
+-/
+#print MeasureTheory.Integrable.neg_part /-
theorem Integrable.neg_part {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun a => max (-f a) 0) μ :=
hf.neg.posPart
#align measure_theory.integrable.neg_part MeasureTheory.Integrable.neg_part
+-/
end PosPart
@@ -1053,37 +1257,49 @@ section BoundedSMul
variable {𝕜 : Type _}
+#print MeasureTheory.Integrable.smul /-
theorem Integrable.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
{f : α → β} (hf : Integrable f μ) : Integrable (c • f) μ :=
⟨hf.AEStronglyMeasurable.const_smul c, hf.HasFiniteIntegral.smul c⟩
#align measure_theory.integrable.smul MeasureTheory.Integrable.smul
+-/
+#print IsUnit.integrable_smul_iff /-
theorem IsUnit.integrable_smul_iff [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
(hc : IsUnit c) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
and_congr hc.aestronglyMeasurable_const_smul_iff (hasFiniteIntegral_smul_iff hc f)
#align measure_theory.is_unit.integrable_smul_iff IsUnit.integrable_smul_iff
+-/
+#print MeasureTheory.integrable_smul_iff /-
theorem integrable_smul_iff [NormedDivisionRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
(hc : c ≠ 0) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
(IsUnit.mk0 _ hc).integrable_smul_iff f
#align measure_theory.integrable_smul_iff MeasureTheory.integrable_smul_iff
+-/
variable [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+#print MeasureTheory.Integrable.smul_of_top_right /-
theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
(hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hf ⊢;
exact mem_ℒp.smul_of_top_right hf hφ
#align measure_theory.integrable.smul_of_top_right MeasureTheory.Integrable.smul_of_top_right
+-/
+#print MeasureTheory.Integrable.smul_of_top_left /-
theorem Integrable.smul_of_top_left {f : α → β} {φ : α → 𝕜} (hφ : Integrable φ μ)
(hf : Memℒp f ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hφ ⊢;
exact mem_ℒp.smul_of_top_left hf hφ
#align measure_theory.integrable.smul_of_top_left MeasureTheory.Integrable.smul_of_top_left
+-/
+#print MeasureTheory.Integrable.smul_const /-
theorem Integrable.smul_const {f : α → 𝕜} (hf : Integrable f μ) (c : β) :
Integrable (fun x => f x • c) μ :=
hf.smul_of_top_left (memℒp_top_const c)
#align measure_theory.integrable.smul_const MeasureTheory.Integrable.smul_const
+-/
end BoundedSMul
@@ -1093,6 +1309,7 @@ variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜]
variable {E : Type _} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
+#print MeasureTheory.integrable_smul_const /-
theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
Integrable (fun x => f x • c) μ ↔ Integrable f μ :=
by
@@ -1102,6 +1319,7 @@ theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
have : ∀ x : ℝ≥0∞, x = 0 → x < ∞ := by simp
simp [hc, or_iff_left_of_imp (this _)]
#align measure_theory.integrable_smul_const MeasureTheory.integrable_smul_const
+-/
end NormedSpaceOverCompleteField
@@ -1109,36 +1327,49 @@ section NormedRing
variable {𝕜 : Type _} [NormedRing 𝕜] {f : α → 𝕜}
+#print MeasureTheory.Integrable.const_mul /-
theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
h.smul c
#align measure_theory.integrable.const_mul MeasureTheory.Integrable.const_mul
+-/
+#print MeasureTheory.Integrable.const_mul' /-
theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable ((fun x : α => c) * f) μ :=
Integrable.const_mul h c
#align measure_theory.integrable.const_mul' MeasureTheory.Integrable.const_mul'
+-/
+#print MeasureTheory.Integrable.mul_const /-
theorem Integrable.mul_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x * c) μ :=
h.smul (MulOpposite.op c)
#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mul_const
+-/
+#print MeasureTheory.Integrable.mul_const' /-
theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (f * fun x : α => c) μ :=
Integrable.mul_const h c
#align measure_theory.integrable.mul_const' MeasureTheory.Integrable.mul_const'
+-/
+#print MeasureTheory.integrable_const_mul_iff /-
theorem integrable_const_mul_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
Integrable (fun x => c * f x) μ ↔ Integrable f μ :=
hc.integrable_smul_iff f
#align measure_theory.integrable_const_mul_iff MeasureTheory.integrable_const_mul_iff
+-/
+#print MeasureTheory.integrable_mul_const_iff /-
theorem integrable_mul_const_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
Integrable (fun x => f x * c) μ ↔ Integrable f μ :=
hc.op.integrable_smul_iff f
#align measure_theory.integrable_mul_const_iff MeasureTheory.integrable_mul_const_iff
+-/
+#print MeasureTheory.Integrable.bdd_mul' /-
theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
(hf : AEStronglyMeasurable f μ) (hf_bound : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
Integrable (fun x => f x * g x) μ :=
@@ -1148,6 +1379,7 @@ theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
rw [Pi.smul_apply, smul_eq_mul]
exact (norm_mul_le _ _).trans (mul_le_mul_of_nonneg_right hx (norm_nonneg _))
#align measure_theory.integrable.bdd_mul' MeasureTheory.Integrable.bdd_mul'
+-/
end NormedRing
@@ -1155,9 +1387,11 @@ section NormedDivisionRing
variable {𝕜 : Type _} [NormedDivisionRing 𝕜] {f : α → 𝕜}
+#print MeasureTheory.Integrable.div_const /-
theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x / c) μ := by simp_rw [div_eq_mul_inv, h.mul_const]
#align measure_theory.integrable.div_const MeasureTheory.Integrable.div_const
+-/
end NormedDivisionRing
@@ -1165,23 +1399,31 @@ section IsROrC
variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+#print MeasureTheory.Integrable.ofReal /-
theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
by rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.of_real
#align measure_theory.integrable.of_real MeasureTheory.Integrable.ofReal
+-/
+#print MeasureTheory.Integrable.re_im_iff /-
theorem Integrable.re_im_iff :
Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
Integrable f μ :=
by simp_rw [← mem_ℒp_one_iff_integrable]; exact mem_ℒp_re_im_iff
#align measure_theory.integrable.re_im_iff MeasureTheory.Integrable.re_im_iff
+-/
+#print MeasureTheory.Integrable.re /-
theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ := by
rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.re
#align measure_theory.integrable.re MeasureTheory.Integrable.re
+-/
+#print MeasureTheory.Integrable.im /-
theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ := by
rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.im
#align measure_theory.integrable.im MeasureTheory.Integrable.im
+-/
end IsROrC
@@ -1189,6 +1431,7 @@ section Trim
variable {H : Type _} [NormedAddCommGroup H] {m0 : MeasurableSpace α} {μ' : Measure α} {f : α → H}
+#print MeasureTheory.Integrable.trim /-
theorem Integrable.trim (hm : m ≤ m0) (hf_int : Integrable f μ') (hf : strongly_measurable[m] f) :
Integrable f (μ'.trim hm) :=
by
@@ -1197,7 +1440,9 @@ theorem Integrable.trim (hm : m ≤ m0) (hf_int : Integrable f μ') (hf : strong
· exact hf_int.2
· exact @strongly_measurable.ennnorm _ m _ _ f hf
#align measure_theory.integrable.trim MeasureTheory.Integrable.trim
+-/
+#print MeasureTheory.integrable_of_integrable_trim /-
theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ'.trim hm)) :
Integrable f μ' := by
obtain ⟨hf_meas_ae, hf⟩ := hf_int
@@ -1206,6 +1451,7 @@ theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ
rwa [lintegral_trim_ae hm _] at hf
exact ae_strongly_measurable.ennnorm hf_meas_ae
#align measure_theory.integrable_of_integrable_trim MeasureTheory.integrable_of_integrable_trim
+-/
end Trim
@@ -1213,17 +1459,21 @@ section SigmaFinite
variable {E : Type _} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
+#print MeasureTheory.integrable_of_forall_fin_meas_le' /-
theorem integrable_of_forall_fin_meas_le' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AEStronglyMeasurable f μ)
(hf : ∀ s, measurable_set[m] s → μ s ≠ ∞ → ∫⁻ x in s, ‖f x‖₊ ∂μ ≤ C) : Integrable f μ :=
⟨hf_meas, (lintegral_le_of_forall_fin_meas_le' hm C hf_meas.ennnorm hf).trans_lt hC⟩
#align measure_theory.integrable_of_forall_fin_meas_le' MeasureTheory.integrable_of_forall_fin_meas_le'
+-/
+#print MeasureTheory.integrable_of_forall_fin_meas_le /-
theorem integrable_of_forall_fin_meas_le [SigmaFinite μ] (C : ℝ≥0∞) (hC : C < ∞) {f : α → E}
(hf_meas : AEStronglyMeasurable f μ)
(hf : ∀ s : Set α, MeasurableSet s → μ s ≠ ∞ → ∫⁻ x in s, ‖f x‖₊ ∂μ ≤ C) : Integrable f μ :=
@integrable_of_forall_fin_meas_le' _ _ _ _ _ _ _ (by rwa [trim_eq_self]) C hC _ hf_meas hf
#align measure_theory.integrable_of_forall_fin_meas_le MeasureTheory.integrable_of_forall_fin_meas_le
+-/
end SigmaFinite
@@ -1242,6 +1492,7 @@ def Integrable (f : α →ₘ[μ] β) : Prop :=
#align measure_theory.ae_eq_fun.integrable MeasureTheory.AEEqFun.Integrable
-/
+#print MeasureTheory.AEEqFun.integrable_mk /-
theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (mk f hf : α →ₘ[μ] β) ↔ MeasureTheory.Integrable f μ :=
by
@@ -1249,40 +1500,53 @@ theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
apply integrable_congr
exact coe_fn_mk f hf
#align measure_theory.ae_eq_fun.integrable_mk MeasureTheory.AEEqFun.integrable_mk
+-/
+#print MeasureTheory.AEEqFun.integrable_coeFn /-
theorem integrable_coeFn {f : α →ₘ[μ] β} : MeasureTheory.Integrable f μ ↔ Integrable f := by
rw [← integrable_mk, mk_coe_fn]
#align measure_theory.ae_eq_fun.integrable_coe_fn MeasureTheory.AEEqFun.integrable_coeFn
+-/
+#print MeasureTheory.AEEqFun.integrable_zero /-
theorem integrable_zero : Integrable (0 : α →ₘ[μ] β) :=
(integrable_zero α β μ).congr (coeFn_mk _ _).symm
#align measure_theory.ae_eq_fun.integrable_zero MeasureTheory.AEEqFun.integrable_zero
+-/
end
section
+#print MeasureTheory.AEEqFun.Integrable.neg /-
theorem Integrable.neg {f : α →ₘ[μ] β} : Integrable f → Integrable (-f) :=
induction_on f fun f hfm hfi => (integrable_mk _).2 ((integrable_mk hfm).1 hfi).neg
#align measure_theory.ae_eq_fun.integrable.neg MeasureTheory.AEEqFun.Integrable.neg
+-/
section
+#print MeasureTheory.AEEqFun.integrable_iff_mem_L1 /-
theorem integrable_iff_mem_L1 {f : α →ₘ[μ] β} : Integrable f ↔ f ∈ (α →₁[μ] β) := by
rw [← integrable_coe_fn, ← mem_ℒp_one_iff_integrable, Lp.mem_Lp_iff_mem_ℒp]
#align measure_theory.ae_eq_fun.integrable_iff_mem_L1 MeasureTheory.AEEqFun.integrable_iff_mem_L1
+-/
+#print MeasureTheory.AEEqFun.Integrable.add /-
theorem Integrable.add {f g : α →ₘ[μ] β} : Integrable f → Integrable g → Integrable (f + g) :=
by
refine' induction_on₂ f g fun f hf g hg hfi hgi => _
simp only [integrable_mk, mk_add_mk] at hfi hgi ⊢
exact hfi.add hgi
#align measure_theory.ae_eq_fun.integrable.add MeasureTheory.AEEqFun.Integrable.add
+-/
+#print MeasureTheory.AEEqFun.Integrable.sub /-
theorem Integrable.sub {f g : α →ₘ[μ] β} (hf : Integrable f) (hg : Integrable g) :
Integrable (f - g) :=
(sub_eq_add_neg f g).symm ▸ hf.add hg.neg
#align measure_theory.ae_eq_fun.integrable.sub MeasureTheory.AEEqFun.Integrable.sub
+-/
end
@@ -1290,9 +1554,11 @@ section BoundedSMul
variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+#print MeasureTheory.AEEqFun.Integrable.smul /-
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
induction_on f fun f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AEEqFun.Integrable.smul
+-/
end BoundedSMul
@@ -1302,42 +1568,61 @@ end AeEqFun
namespace L1
+#print MeasureTheory.L1.integrable_coeFn /-
theorem integrable_coeFn (f : α →₁[μ] β) : Integrable f μ := by rw [← mem_ℒp_one_iff_integrable];
exact Lp.mem_ℒp f
#align measure_theory.L1.integrable_coe_fn MeasureTheory.L1.integrable_coeFn
+-/
+#print MeasureTheory.L1.hasFiniteIntegral_coeFn /-
theorem hasFiniteIntegral_coeFn (f : α →₁[μ] β) : HasFiniteIntegral f μ :=
(integrable_coeFn f).HasFiniteIntegral
#align measure_theory.L1.has_finite_integral_coe_fn MeasureTheory.L1.hasFiniteIntegral_coeFn
+-/
+#print MeasureTheory.L1.stronglyMeasurable_coeFn /-
theorem stronglyMeasurable_coeFn (f : α →₁[μ] β) : StronglyMeasurable f :=
Lp.stronglyMeasurable f
#align measure_theory.L1.strongly_measurable_coe_fn MeasureTheory.L1.stronglyMeasurable_coeFn
+-/
+#print MeasureTheory.L1.measurable_coeFn /-
theorem measurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : Measurable f :=
(Lp.stronglyMeasurable f).Measurable
#align measure_theory.L1.measurable_coe_fn MeasureTheory.L1.measurable_coeFn
+-/
+#print MeasureTheory.L1.aestronglyMeasurable_coeFn /-
theorem aestronglyMeasurable_coeFn (f : α →₁[μ] β) : AEStronglyMeasurable f μ :=
Lp.aestronglyMeasurable f
#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aestronglyMeasurable_coeFn
+-/
+#print MeasureTheory.L1.aemeasurable_coeFn /-
theorem aemeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AEMeasurable f μ :=
(Lp.stronglyMeasurable f).Measurable.AEMeasurable
#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aemeasurable_coeFn
+-/
+#print MeasureTheory.L1.edist_def /-
theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ := by
simp [Lp.edist_def, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.edist_def MeasureTheory.L1.edist_def
+-/
+#print MeasureTheory.L1.dist_def /-
theorem dist_def (f g : α →₁[μ] β) : dist f g = (∫⁻ a, edist (f a) (g a) ∂μ).toReal := by
simp [Lp.dist_def, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.dist_def MeasureTheory.L1.dist_def
+-/
+#print MeasureTheory.L1.norm_def /-
theorem norm_def (f : α →₁[μ] β) : ‖f‖ = (∫⁻ a, ‖f a‖₊ ∂μ).toReal := by
simp [Lp.norm_def, snorm, snorm']
#align measure_theory.L1.norm_def MeasureTheory.L1.norm_def
+-/
+#print MeasureTheory.L1.norm_sub_eq_lintegral /-
/-- Computing the norm of a difference between two L¹-functions. Note that this is not a
special case of `norm_def` since `(f - g) x` and `f x - g x` are not equal
(but only a.e.-equal). -/
@@ -1350,11 +1635,15 @@ theorem norm_sub_eq_lintegral (f g : α →₁[μ] β) :
filter_upwards [Lp.coe_fn_sub f g] with _ ha
simp only [ha, Pi.sub_apply]
#align measure_theory.L1.norm_sub_eq_lintegral MeasureTheory.L1.norm_sub_eq_lintegral
+-/
+#print MeasureTheory.L1.ofReal_norm_eq_lintegral /-
theorem ofReal_norm_eq_lintegral (f : α →₁[μ] β) : ENNReal.ofReal ‖f‖ = ∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ∂μ :=
by rw [norm_def, ENNReal.ofReal_toReal]; exact ne_of_lt (has_finite_integral_coe_fn f)
#align measure_theory.L1.of_real_norm_eq_lintegral MeasureTheory.L1.ofReal_norm_eq_lintegral
+-/
+#print MeasureTheory.L1.ofReal_norm_sub_eq_lintegral /-
/-- Computing the norm of a difference between two L¹-functions. Note that this is not a
special case of `of_real_norm_eq_lintegral` since `(f - g) x` and `f x - g x` are not equal
(but only a.e.-equal). -/
@@ -1366,21 +1655,26 @@ theorem ofReal_norm_sub_eq_lintegral (f g : α →₁[μ] β) :
filter_upwards [Lp.coe_fn_sub f g] with _ ha
simp only [ha, Pi.sub_apply]
#align measure_theory.L1.of_real_norm_sub_eq_lintegral MeasureTheory.L1.ofReal_norm_sub_eq_lintegral
+-/
end L1
namespace Integrable
+#print MeasureTheory.Integrable.toL1 /-
/-- Construct the equivalence class `[f]` of an integrable function `f`, as a member of the
space `L1 β 1 μ`. -/
def toL1 (f : α → β) (hf : Integrable f μ) : α →₁[μ] β :=
(memℒp_one_iff_integrable.2 hf).toLp f
#align measure_theory.integrable.to_L1 MeasureTheory.Integrable.toL1
+-/
+#print MeasureTheory.Integrable.toL1_coeFn /-
@[simp]
theorem toL1_coeFn (f : α →₁[μ] β) (hf : Integrable f μ) : hf.toL1 f = f := by
simp [integrable.to_L1]
#align measure_theory.integrable.to_L1_coe_fn MeasureTheory.Integrable.toL1_coeFn
+-/
#print MeasureTheory.Integrable.coeFn_toL1 /-
theorem coeFn_toL1 {f : α → β} (hf : Integrable f μ) : hf.toL1 f =ᵐ[μ] f :=
@@ -1388,10 +1682,12 @@ theorem coeFn_toL1 {f : α → β} (hf : Integrable f μ) : hf.toL1 f =ᵐ[μ] f
#align measure_theory.integrable.coe_fn_to_L1 MeasureTheory.Integrable.coeFn_toL1
-/
+#print MeasureTheory.Integrable.toL1_zero /-
@[simp]
theorem toL1_zero (h : Integrable (0 : α → β) μ) : h.toL1 0 = 0 :=
rfl
#align measure_theory.integrable.to_L1_zero MeasureTheory.Integrable.toL1_zero
+-/
#print MeasureTheory.Integrable.toL1_eq_mk /-
@[simp]
@@ -1401,30 +1697,40 @@ theorem toL1_eq_mk (f : α → β) (hf : Integrable f μ) :
#align measure_theory.integrable.to_L1_eq_mk MeasureTheory.Integrable.toL1_eq_mk
-/
+#print MeasureTheory.Integrable.toL1_eq_toL1_iff /-
@[simp]
theorem toL1_eq_toL1_iff (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
toL1 f hf = toL1 g hg ↔ f =ᵐ[μ] g :=
Memℒp.toLp_eq_toLp_iff _ _
#align measure_theory.integrable.to_L1_eq_to_L1_iff MeasureTheory.Integrable.toL1_eq_toL1_iff
+-/
+#print MeasureTheory.Integrable.toL1_add /-
theorem toL1_add (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
toL1 (f + g) (hf.add hg) = toL1 f hf + toL1 g hg :=
rfl
#align measure_theory.integrable.to_L1_add MeasureTheory.Integrable.toL1_add
+-/
+#print MeasureTheory.Integrable.toL1_neg /-
theorem toL1_neg (f : α → β) (hf : Integrable f μ) : toL1 (-f) (Integrable.neg hf) = -toL1 f hf :=
rfl
#align measure_theory.integrable.to_L1_neg MeasureTheory.Integrable.toL1_neg
+-/
+#print MeasureTheory.Integrable.toL1_sub /-
theorem toL1_sub (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
toL1 (f - g) (hf.sub hg) = toL1 f hf - toL1 g hg :=
rfl
#align measure_theory.integrable.to_L1_sub MeasureTheory.Integrable.toL1_sub
+-/
+#print MeasureTheory.Integrable.norm_toL1 /-
theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, edist (f a) 0 ∂μ) := by simp [to_L1, snorm, snorm'];
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
+-/
#print MeasureTheory.Integrable.norm_toL1_eq_lintegral_norm /-
theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
@@ -1441,23 +1747,29 @@ theorem edist_toL1_toL1 (f g : α → β) (hf : Integrable f μ) (hg : Integrabl
#align measure_theory.integrable.edist_to_L1_to_L1 MeasureTheory.Integrable.edist_toL1_toL1
-/
+#print MeasureTheory.Integrable.edist_toL1_zero /-
@[simp]
theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
edist (hf.toL1 f) 0 = ∫⁻ a, edist (f a) 0 ∂μ := by simp [integrable.to_L1, snorm, snorm'];
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.edist_to_L1_zero MeasureTheory.Integrable.edist_toL1_zero
+-/
variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+#print MeasureTheory.Integrable.toL1_smul /-
theorem toL1_smul (f : α → β) (hf : Integrable f μ) (k : 𝕜) :
toL1 (fun a => k • f a) (hf.smul k) = k • toL1 f hf :=
rfl
#align measure_theory.integrable.to_L1_smul MeasureTheory.Integrable.toL1_smul
+-/
+#print MeasureTheory.Integrable.toL1_smul' /-
theorem toL1_smul' (f : α → β) (hf : Integrable f μ) (k : 𝕜) :
toL1 (k • f) (hf.smul k) = k • toL1 f hf :=
rfl
#align measure_theory.integrable.to_L1_smul' MeasureTheory.Integrable.toL1_smul'
+-/
end Integrable
@@ -1468,16 +1780,20 @@ open MeasureTheory
variable {E : Type _} [NormedAddCommGroup E] {𝕜 : Type _} [NontriviallyNormedField 𝕜]
[NormedSpace 𝕜 E] {H : Type _} [NormedAddCommGroup H] [NormedSpace 𝕜 H]
+#print MeasureTheory.Integrable.apply_continuousLinearMap /-
theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
(φ_int.norm.mul_const ‖v‖).mono' (φ_int.AEStronglyMeasurable.apply_continuousLinearMap v)
(eventually_of_forall fun a => (φ a).le_opNorm v)
#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.apply_continuousLinearMap
+-/
+#print ContinuousLinearMap.integrable_comp /-
theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
(L.Continuous.comp_aestronglyMeasurable φ_int.AEStronglyMeasurable)
(eventually_of_forall fun a => L.le_opNorm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 599fffe78f0e11eb6a034e834ec51882167b9688
+! leanprover-community/mathlib commit ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -516,6 +516,7 @@ theorem integrable_const_iff {c : β} : Integrable (fun x : α => c) μ ↔ c =
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
+@[simp]
theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3e83f0fa4391c8740f7d773a7a9b74e311ae2a3
@@ -71,37 +71,37 @@ namespace MeasureTheory
theorem lintegral_nnnorm_eq_lintegral_edist (f : α → β) :
- (∫⁻ a, ‖f a‖₊ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by simp only [edist_eq_coe_nnnorm]
+ ∫⁻ a, ‖f a‖₊ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by simp only [edist_eq_coe_nnnorm]
#align measure_theory.lintegral_nnnorm_eq_lintegral_edist MeasureTheory.lintegral_nnnorm_eq_lintegral_edist
theorem lintegral_norm_eq_lintegral_edist (f : α → β) :
- (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by
+ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by
simp only [ofReal_norm_eq_coe_nnnorm, edist_eq_coe_nnnorm]
#align measure_theory.lintegral_norm_eq_lintegral_edist MeasureTheory.lintegral_norm_eq_lintegral_edist
theorem lintegral_edist_triangle {f g h : α → β} (hf : AEStronglyMeasurable f μ)
(hh : AEStronglyMeasurable h μ) :
- (∫⁻ a, edist (f a) (g a) ∂μ) ≤ (∫⁻ a, edist (f a) (h a) ∂μ) + ∫⁻ a, edist (g a) (h a) ∂μ :=
+ ∫⁻ a, edist (f a) (g a) ∂μ ≤ ∫⁻ a, edist (f a) (h a) ∂μ + ∫⁻ a, edist (g a) (h a) ∂μ :=
by
rw [← lintegral_add_left' (hf.edist hh)]
refine' lintegral_mono fun a => _
apply edist_triangle_right
#align measure_theory.lintegral_edist_triangle MeasureTheory.lintegral_edist_triangle
-theorem lintegral_nnnorm_zero : (∫⁻ a : α, ‖(0 : β)‖₊ ∂μ) = 0 := by simp
+theorem lintegral_nnnorm_zero : ∫⁻ a : α, ‖(0 : β)‖₊ ∂μ = 0 := by simp
#align measure_theory.lintegral_nnnorm_zero MeasureTheory.lintegral_nnnorm_zero
theorem lintegral_nnnorm_add_left {f : α → β} (hf : AEStronglyMeasurable f μ) (g : α → γ) :
- (∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
+ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_left' hf.ennnorm _
#align measure_theory.lintegral_nnnorm_add_left MeasureTheory.lintegral_nnnorm_add_left
theorem lintegral_nnnorm_add_right (f : α → β) {g : α → γ} (hg : AEStronglyMeasurable g μ) :
- (∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
+ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_right' _ hg.ennnorm
#align measure_theory.lintegral_nnnorm_add_right MeasureTheory.lintegral_nnnorm_add_right
-theorem lintegral_nnnorm_neg {f : α → β} : (∫⁻ a, ‖(-f) a‖₊ ∂μ) = ∫⁻ a, ‖f a‖₊ ∂μ := by
+theorem lintegral_nnnorm_neg {f : α → β} : ∫⁻ a, ‖(-f) a‖₊ ∂μ = ∫⁻ a, ‖f a‖₊ ∂μ := by
simp only [Pi.neg_apply, nnnorm_neg]
#align measure_theory.lintegral_nnnorm_neg MeasureTheory.lintegral_nnnorm_neg
@@ -113,27 +113,27 @@ theorem lintegral_nnnorm_neg {f : α → β} : (∫⁻ a, ‖(-f) a‖₊ ∂μ)
`has_finite_integral f` means `has_finite_integral f volume`. -/
def HasFiniteIntegral {m : MeasurableSpace α} (f : α → β)
(μ : Measure α := by exact MeasureTheory.MeasureSpace.volume) : Prop :=
- (∫⁻ a, ‖f a‖₊ ∂μ) < ∞
+ ∫⁻ a, ‖f a‖₊ ∂μ < ∞
#align measure_theory.has_finite_integral MeasureTheory.HasFiniteIntegral
-/
theorem hasFiniteIntegral_iff_norm (f : α → β) :
- HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) < ∞ := by
+ HasFiniteIntegral f μ ↔ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ < ∞ := by
simp only [has_finite_integral, ofReal_norm_eq_coe_nnnorm]
#align measure_theory.has_finite_integral_iff_norm MeasureTheory.hasFiniteIntegral_iff_norm
theorem hasFiniteIntegral_iff_edist (f : α → β) :
- HasFiniteIntegral f μ ↔ (∫⁻ a, edist (f a) 0 ∂μ) < ∞ := by
+ HasFiniteIntegral f μ ↔ ∫⁻ a, edist (f a) 0 ∂μ < ∞ := by
simp only [has_finite_integral_iff_norm, edist_dist, dist_zero_right]
#align measure_theory.has_finite_integral_iff_edist MeasureTheory.hasFiniteIntegral_iff_edist
theorem hasFiniteIntegral_iff_ofReal {f : α → ℝ} (h : 0 ≤ᵐ[μ] f) :
- HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal (f a) ∂μ) < ∞ := by
+ HasFiniteIntegral f μ ↔ ∫⁻ a, ENNReal.ofReal (f a) ∂μ < ∞ := by
rw [has_finite_integral, lintegral_nnnorm_eq_of_ae_nonneg h]
#align measure_theory.has_finite_integral_iff_of_real MeasureTheory.hasFiniteIntegral_iff_ofReal
theorem hasFiniteIntegral_iff_ofNNReal {f : α → ℝ≥0} :
- HasFiniteIntegral (fun x => (f x : ℝ)) μ ↔ (∫⁻ a, f a ∂μ) < ∞ := by
+ HasFiniteIntegral (fun x => (f x : ℝ)) μ ↔ ∫⁻ a, f a ∂μ < ∞ := by
simp [has_finite_integral_iff_norm]
#align measure_theory.has_finite_integral_iff_of_nnreal MeasureTheory.hasFiniteIntegral_iff_ofNNReal
@@ -142,7 +142,7 @@ theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIn
by
simp only [has_finite_integral_iff_norm] at *
calc
- (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a : α, ENNReal.ofReal ‖g a‖ ∂μ :=
+ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ ≤ ∫⁻ a : α, ENNReal.ofReal ‖g a‖ ∂μ :=
lintegral_mono_ae (h.mono fun a h => of_real_le_of_real h)
_ < ∞ := hg
#align measure_theory.has_finite_integral.mono MeasureTheory.HasFiniteIntegral.mono
@@ -260,7 +260,7 @@ theorem hasFiniteIntegral_norm_iff (f : α → β) :
hasFiniteIntegral_congr' <| eventually_of_forall fun x => norm_norm (f x)
#align measure_theory.has_finite_integral_norm_iff MeasureTheory.hasFiniteIntegral_norm_iff
-theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf : (∫⁻ x, f x ∂μ) ≠ ∞) :
+theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf : ∫⁻ x, f x ∂μ ≠ ∞) :
HasFiniteIntegral (fun x => (f x).toReal) μ :=
by
have :
@@ -317,7 +317,7 @@ theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f :
and so `∫ ‖f‖ ≤ ∫ bound < ∞` since `bound` is has_finite_integral -/
rw [has_finite_integral_iff_norm]
calc
- (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a, ENNReal.ofReal (bound a) ∂μ :=
+ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ ≤ ∫⁻ a, ENNReal.ofReal (bound a) ∂μ :=
lintegral_mono_ae <| all_ae_of_real_f_le_bound h_bound h_lim
_ < ∞ := by
rw [← has_finite_integral_iff_of_real]
@@ -370,7 +370,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
calc
- (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
+ ∫⁻ a, b a ∂μ = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
exact coe_ne_top
_ ≠ ∞ := mul_ne_top coe_ne_top bound_has_finite_integral.ne
filter_upwards [h_bound 0] with _ h using le_trans (norm_nonneg _) h
@@ -408,7 +408,7 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
by
simp only [has_finite_integral]; intro hfi
calc
- (∫⁻ a : α, ‖c • f a‖₊ ∂μ) ≤ ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ :=
+ ∫⁻ a : α, ‖c • f a‖₊ ∂μ ≤ ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ :=
by
refine' lintegral_mono _
intro i
@@ -661,7 +661,7 @@ theorem MeasurePreserving.integrable_comp_emb {f : α → δ} {ν} (h₁ : Measu
#align measure_theory.measure_preserving.integrable_comp_emb MeasureTheory.MeasurePreserving.integrable_comp_emb
theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
- (∫⁻ a, edist (f a) (g a) ∂μ) < ∞ :=
+ ∫⁻ a, edist (f a) (g a) ∂μ < ∞ :=
lt_of_le_of_lt (lintegral_edist_triangle hf.AEStronglyMeasurable aestronglyMeasurable_zero)
(ENNReal.add_lt_top.2 <|
by
@@ -681,7 +681,7 @@ variable {α β μ}
theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
HasFiniteIntegral (f + g) μ :=
calc
- (∫⁻ a, ‖f a + g a‖₊ ∂μ) ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
+ ∫⁻ a, ‖f a + g a‖₊ ∂μ ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
lintegral_mono fun a => by exact_mod_cast nnnorm_add_le _ _
_ = _ := (lintegral_nnnorm_add_left hf.AEStronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.HasFiniteIntegral, hg.HasFiniteIntegral⟩
@@ -1017,7 +1017,7 @@ theorem withDensitySMulLI_apply {f : α → ℝ≥0} (f_meas : Measurable f)
end
theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
- (hfi : (∫⁻ x, f x ∂μ) ≠ ∞) : Memℒp (fun x => (f x).toReal) 1 μ :=
+ (hfi : ∫⁻ x, f x ∂μ ≠ ∞) : Memℒp (fun x => (f x).toReal) 1 μ :=
by
rw [mem_ℒp, snorm_one_eq_lintegral_nnnorm]
exact
@@ -1026,7 +1026,7 @@ theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMea
#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top
theorem integrable_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
- (hfi : (∫⁻ x, f x ∂μ) ≠ ∞) : Integrable (fun x => (f x).toReal) μ :=
+ (hfi : ∫⁻ x, f x ∂μ ≠ ∞) : Integrable (fun x => (f x).toReal) μ :=
memℒp_one_iff_integrable.1 <| mem_ℒ1_toReal_of_lintegral_ne_top hfm hfi
#align measure_theory.integrable_to_real_of_lintegral_ne_top MeasureTheory.integrable_toReal_of_lintegral_ne_top
@@ -1214,13 +1214,13 @@ variable {E : Type _} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
theorem integrable_of_forall_fin_meas_le' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AEStronglyMeasurable f μ)
- (hf : ∀ s, measurable_set[m] s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
+ (hf : ∀ s, measurable_set[m] s → μ s ≠ ∞ → ∫⁻ x in s, ‖f x‖₊ ∂μ ≤ C) : Integrable f μ :=
⟨hf_meas, (lintegral_le_of_forall_fin_meas_le' hm C hf_meas.ennnorm hf).trans_lt hC⟩
#align measure_theory.integrable_of_forall_fin_meas_le' MeasureTheory.integrable_of_forall_fin_meas_le'
theorem integrable_of_forall_fin_meas_le [SigmaFinite μ] (C : ℝ≥0∞) (hC : C < ∞) {f : α → E}
(hf_meas : AEStronglyMeasurable f μ)
- (hf : ∀ s : Set α, MeasurableSet s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
+ (hf : ∀ s : Set α, MeasurableSet s → μ s ≠ ∞ → ∫⁻ x in s, ‖f x‖₊ ∂μ ≤ C) : Integrable f μ :=
@integrable_of_forall_fin_meas_le' _ _ _ _ _ _ _ (by rwa [trim_eq_self]) C hC _ hf_meas hf
#align measure_theory.integrable_of_forall_fin_meas_le MeasureTheory.integrable_of_forall_fin_meas_le
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -145,7 +145,6 @@ theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIn
(∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a : α, ENNReal.ofReal ‖g a‖ ∂μ :=
lintegral_mono_ae (h.mono fun a h => of_real_le_of_real h)
_ < ∞ := hg
-
#align measure_theory.has_finite_integral.mono MeasureTheory.HasFiniteIntegral.mono
theorem HasFiniteIntegral.mono' {f : α → β} {g : α → ℝ} (hg : HasFiniteIntegral g μ)
@@ -324,7 +323,6 @@ theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f :
rw [← has_finite_integral_iff_of_real]
· exact bound_has_finite_integral
exact (h_bound 0).mono fun a h => le_trans (norm_nonneg _) h
-
#align measure_theory.has_finite_integral_of_dominated_convergence MeasureTheory.hasFiniteIntegral_of_dominated_convergence
theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
@@ -352,7 +350,6 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· apply norm_sub_le; · exact norm_nonneg _; · exact norm_nonneg _
_ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := (add_le_add h₁ h₂)
_ = b a := by rw [← two_mul]
-
-- On the other hand, `F n a --> f a` implies that `‖F n a - f a‖ --> 0`
have h : ∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a - f a‖) atTop (𝓝 0) :=
by
@@ -376,7 +373,6 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
(∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
exact coe_ne_top
_ ≠ ∞ := mul_ne_top coe_ne_top bound_has_finite_integral.ne
-
filter_upwards [h_bound 0] with _ h using le_trans (norm_nonneg _) h
-- Show `‖f a - F n a‖ --> 0`
· exact h
@@ -420,7 +416,6 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
_ < ∞ := by
rw [lintegral_const_mul']
exacts [mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
-
#align measure_theory.has_finite_integral.smul MeasureTheory.HasFiniteIntegral.smul
theorem hasFiniteIntegral_smul_iff [NormedRing 𝕜] [MulActionWithZero 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
@@ -690,7 +685,6 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
lintegral_mono fun a => by exact_mod_cast nnnorm_add_le _ _
_ = _ := (lintegral_nnnorm_add_left hf.AEStronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.HasFiniteIntegral, hg.HasFiniteIntegral⟩
-
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
theorem Integrable.add {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
@@ -781,7 +775,6 @@ theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
snorm (fun x : α => g x • f x) 1 μ ≤ _ :=
MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_ae_strongly_measurable h
_ < ∞ := ENNReal.mul_lt_top hg' hf.2.Ne
-
#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSup_smul
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
@@ -799,7 +792,6 @@ theorem Integrable.smul_essSup {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β
snorm (fun x : α => f x • g x) 1 μ ≤ _ :=
MeasureTheory.snorm_smul_le_mul_snorm g_ae_strongly_measurable hf.1 h
_ < ∞ := ENNReal.mul_lt_top hf.2.Ne hg'
-
#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
theorem integrable_norm_iff {f : α → β} (hf : AEStronglyMeasurable f μ) :
@@ -816,7 +808,6 @@ theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf
calc
‖f₁ a‖ ≤ ‖f₀ a‖ + ‖f₀ a - f₁ a‖ := norm_le_insert _ _
_ ≤ ‖f₀ a‖ + g a := add_le_add_left ha _
-
integrable.mono' (hf₀_i.norm.add hg_i) hf₁_m this
#align measure_theory.integrable_of_norm_sub_le MeasureTheory.integrable_of_norm_sub_le
@@ -827,8 +818,7 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
eventually_of_forall fun x =>
calc
max ‖f x‖ ‖g x‖ ≤ ‖f x‖ + ‖g x‖ := max_le_add_of_nonneg (norm_nonneg _) (norm_nonneg _)
- _ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _
- ⟩
+ _ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
@@ -940,7 +930,6 @@ theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (
apply integrable_congr
filter_upwards [hf.ae_eq_mk] with x hx
simp [hx]
-
#align measure_theory.integrable_with_density_iff_integrable_coe_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_coe_smul₀
theorem integrable_withDensity_iff_integrable_smul₀ {f : α → ℝ≥0} (hf : AEMeasurable f μ)
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -179,11 +179,12 @@ theorem hasFiniteIntegral_const_iff {c : β} :
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
-theorem hasFiniteIntegral_const [FiniteMeasure μ] (c : β) : HasFiniteIntegral (fun x : α => c) μ :=
+theorem hasFiniteIntegral_const [IsFiniteMeasure μ] (c : β) :
+ HasFiniteIntegral (fun x : α => c) μ :=
hasFiniteIntegral_const_iff.2 (Or.inr <| measure_lt_top _ _)
#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegral_const
-theorem hasFiniteIntegral_of_bounded [FiniteMeasure μ] {f : α → β} {C : ℝ}
+theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
(hC : ∀ᵐ a ∂μ, ‖f a‖ ≤ C) : HasFiniteIntegral f μ :=
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
@@ -274,13 +275,13 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
-#print MeasureTheory.finiteMeasure_withDensity_ofReal /-
-theorem finiteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
- FiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
+#print MeasureTheory.isFiniteMeasure_withDensity_ofReal /-
+theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
+ IsFiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
by
refine' is_finite_measure_with_density ((lintegral_mono fun x => _).trans_lt hfi).Ne
exact Real.ofReal_le_ennnorm (f x)
-#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.finiteMeasure_withDensity_ofReal
+#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.isFiniteMeasure_withDensity_ofReal
-/
section DominatedConvergence
@@ -342,7 +343,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
by
intro n
filter_upwards [all_ae_of_real_F_le_bound h_bound n,
- all_ae_of_real_f_le_bound h_bound h_lim]with a h₁ h₂
+ all_ae_of_real_f_le_bound h_bound h_lim] with a h₁ h₂
calc
ENNReal.ofReal ‖F n a - f a‖ ≤ ENNReal.ofReal ‖F n a‖ + ENNReal.ofReal ‖f a‖ :=
by
@@ -376,7 +377,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
exact coe_ne_top
_ ≠ ∞ := mul_ne_top coe_ne_top bound_has_finite_integral.ne
- filter_upwards [h_bound 0]with _ h using le_trans (norm_nonneg _) h
+ filter_upwards [h_bound 0] with _ h using le_trans (norm_nonneg _) h
-- Show `‖f a - F n a‖ --> 0`
· exact h
#align measure_theory.tendsto_lintegral_norm_of_dominated_convergence MeasureTheory.tendsto_lintegral_norm_of_dominated_convergence
@@ -520,7 +521,7 @@ theorem integrable_const_iff {c : β} : Integrable (fun x : α => c) μ ↔ c =
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
-theorem integrable_const [FiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
+theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
@@ -531,7 +532,7 @@ theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Mem
exact hf.norm_rpow hp_ne_zero hp_ne_top
#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrable_norm_rpow
-theorem Memℒp.integrable_norm_rpow' [FiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
+theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
by_cases h_zero : p = 0
@@ -618,7 +619,7 @@ theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable
· apply h.smul_measure; simpa
#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
-theorem integrable_average [FiniteMeasure μ] {f : α → β} :
+theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
(eq_or_ne μ 0).byCases (fun h => by simp [h]) fun h =>
integrable_smul_measure (ENNReal.inv_ne_zero.2 <| measure_ne_top _ _)
@@ -830,7 +831,7 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
-theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [FiniteMeasure μ]
+theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
(hfq : Memℒp f q μ) : Integrable f μ :=
memℒp_one_iff_integrable.mp (hfq.memℒp_of_exponent_le hq1)
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
@@ -838,9 +839,9 @@ theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [Fin
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
where `‖f x‖ ≥ ε` is finite for all positive `ε`. -/
theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
- μ { x | ε ≤ ‖f x‖ } < ∞ :=
+ μ {x | ε ≤ ‖f x‖} < ∞ :=
by
- rw [show { x | ε ≤ ‖f x‖ } = { x | ENNReal.ofReal ε ≤ ‖f x‖₊ } by
+ rw [show {x | ε ≤ ‖f x‖} = {x | ENNReal.ofReal ε ≤ ‖f x‖₊} by
simp only [ENNReal.ofReal, Real.toNNReal_le_iff_le_coe, ENNReal.coe_le_coe, coe_nnnorm]]
refine' (meas_ge_le_mul_pow_snorm μ one_ne_zero ENNReal.one_ne_top hf.1 _).trans_lt _
· simpa only [Ne.def, ENNReal.ofReal_eq_zero, not_le] using hε
@@ -930,14 +931,14 @@ theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (
Integrable g (μ.withDensity fun x => f x) ↔ Integrable g (μ.withDensity fun x => hf.mk f x) :=
by
suffices (fun x => (f x : ℝ≥0∞)) =ᵐ[μ] fun x => hf.mk f x by rw [with_density_congr_ae this]
- filter_upwards [hf.ae_eq_mk]with x hx
+ filter_upwards [hf.ae_eq_mk] with x hx
simp [hx]
_ ↔ Integrable (fun x => (hf.mk f x : ℝ) • g x) μ :=
(integrable_withDensity_iff_integrable_coe_smul hf.measurable_mk)
_ ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
by
apply integrable_congr
- filter_upwards [hf.ae_eq_mk]with x hx
+ filter_upwards [hf.ae_eq_mk] with x hx
simp [hx]
#align measure_theory.integrable_with_density_iff_integrable_coe_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_coe_smul₀
@@ -1010,7 +1011,7 @@ noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f)
(Filter.eventually_of_forall fun x => ENNReal.coe_lt_top)]
congr 1
apply lintegral_congr_ae
- filter_upwards [(mem_ℒ1_smul_of_L1_with_density f_meas u).coeFn_toLp]with x hx
+ filter_upwards [(mem_ℒ1_smul_of_L1_with_density f_meas u).coeFn_toLp] with x hx
rw [hx, Pi.mul_apply]
change ↑‖(f x : ℝ) • u x‖₊ = ↑(f x) * ↑‖u x‖₊
simp only [nnnorm_smul, NNReal.nnnorm_eq, ENNReal.coe_mul]
@@ -1153,7 +1154,7 @@ theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
Integrable (fun x => f x * g x) μ :=
by
refine' integrable.mono' (hg.norm.smul c) (hf.mul hg.1) _
- filter_upwards [hf_bound]with x hx
+ filter_upwards [hf_bound] with x hx
rw [Pi.smul_apply, smul_eq_mul]
exact (norm_mul_le _ _).trans (mul_le_mul_of_nonneg_right hx (norm_nonneg _))
#align measure_theory.integrable.bdd_mul' MeasureTheory.Integrable.bdd_mul'
@@ -1356,7 +1357,7 @@ theorem norm_sub_eq_lintegral (f g : α →₁[μ] β) :
rw [norm_def]
congr 1
rw [lintegral_congr_ae]
- filter_upwards [Lp.coe_fn_sub f g]with _ ha
+ filter_upwards [Lp.coe_fn_sub f g] with _ ha
simp only [ha, Pi.sub_apply]
#align measure_theory.L1.norm_sub_eq_lintegral MeasureTheory.L1.norm_sub_eq_lintegral
@@ -1372,7 +1373,7 @@ theorem ofReal_norm_sub_eq_lintegral (f g : α →₁[μ] β) :
by
simp_rw [of_real_norm_eq_lintegral, ← edist_eq_coe_nnnorm]
apply lintegral_congr_ae
- filter_upwards [Lp.coe_fn_sub f g]with _ ha
+ filter_upwards [Lp.coe_fn_sub f g] with _ ha
simp only [ha, Pi.sub_apply]
#align measure_theory.L1.of_real_norm_sub_eq_lintegral MeasureTheory.L1.ofReal_norm_sub_eq_lintegral
mathlib commit https://github.com/leanprover-community/mathlib/commit/34ebaffc1d1e8e783fc05438ec2e70af87275ac9
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 13b0d72fd8533ba459ac66e9a885e35ffabb32b2
+! leanprover-community/mathlib commit 599fffe78f0e11eb6a034e834ec51882167b9688
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.MeasureTheory.Function.LpOrder
/-!
# Integrable functions and `L¹` space
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In the first part of this file, the predicate `integrable` is defined and basic properties of
integrable functions are proved.
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -299,7 +299,7 @@ theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖
∀ᵐ a ∂μ, ENNReal.ofReal ‖f a‖ ≤ ENNReal.ofReal (bound a) :=
by
have F_le_bound := all_ae_of_real_F_le_bound h_bound
- rw [← ae_all_iff] at F_le_bound
+ rw [← ae_all_iff] at F_le_bound
apply F_le_bound.mp ((all_ae_tendsto_of_real_norm h_lim).mono _)
intro a tendsto_norm F_le_bound
exact le_of_tendsto' tendsto_norm F_le_bound
@@ -358,7 +358,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
suffices h : tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) at_top (𝓝 (∫⁻ a : α, 0 ∂μ))
- · rwa [lintegral_zero] at h
+ · rwa [lintegral_zero] at h
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
-- Show `λa, ‖f a - F n a‖` is almost everywhere measurable for all `n`
@@ -366,7 +366,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
exact fun n =>
measurable_of_real.comp_ae_measurable ((F_measurable n).sub f_measurable).norm.AEMeasurable
-- Show `2 * bound` is has_finite_integral
- · rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
+ · rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
calc
(∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
@@ -415,7 +415,7 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
exact_mod_cast (nnnorm_smul_le c (f i) : _)
_ < ∞ := by
rw [lintegral_const_mul']
- exacts[mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
+ exacts [mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
#align measure_theory.has_finite_integral.smul MeasureTheory.HasFiniteIntegral.smul
@@ -546,14 +546,14 @@ theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
{f : α → β} (hf : Integrable f μ) : Integrable f μ' := by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_measure_le_smul c hc hμ'_le
+ rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.of_measure_le_smul c hc hμ'_le
#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
#print MeasureTheory.Integrable.add_measure /-
theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
Integrable f (μ + ν) :=
by
- simp_rw [← mem_ℒp_one_iff_integrable] at hμ hν⊢
+ simp_rw [← mem_ℒp_one_iff_integrable] at hμ hν ⊢
refine' ⟨hμ.ae_strongly_measurable.add_measure hν.ae_strongly_measurable, _⟩
rw [snorm_one_add_measure, ENNReal.add_lt_top]
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
@@ -562,13 +562,13 @@ theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : In
#print MeasureTheory.Integrable.left_of_add_measure /-
theorem Integrable.left_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ := by
- rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.left_of_add_measure
+ rw [← mem_ℒp_one_iff_integrable] at h ⊢; exact h.left_of_add_measure
#align measure_theory.integrable.left_of_add_measure MeasureTheory.Integrable.left_of_add_measure
-/
#print MeasureTheory.Integrable.right_of_add_measure /-
theorem Integrable.right_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f ν :=
- by rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.right_of_add_measure
+ by rw [← mem_ℒp_one_iff_integrable] at h ⊢; exact h.right_of_add_measure
#align measure_theory.integrable.right_of_add_measure MeasureTheory.Integrable.right_of_add_measure
-/
@@ -592,7 +592,7 @@ theorem integrable_finset_sum_measure {ι} {m : MeasurableSpace α} {f : α →
#align measure_theory.integrable_finset_sum_measure MeasureTheory.integrable_finset_sum_measure
theorem Integrable.smul_measure {f : α → β} (h : Integrable f μ) {c : ℝ≥0∞} (hc : c ≠ ∞) :
- Integrable f (c • μ) := by rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.smul_measure hc
+ Integrable f (c • μ) := by rw [← mem_ℒp_one_iff_integrable] at h ⊢; exact h.smul_measure hc
#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smul_measure
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
@@ -652,7 +652,7 @@ theorem integrable_map_equiv (f : α ≃ᵐ δ) (g : δ → β) :
theorem MeasurePreserving.integrable_comp {ν : Measure δ} {g : δ → β} {f : α → δ}
(hf : MeasurePreserving f μ ν) (hg : AEStronglyMeasurable g ν) :
- Integrable (g ∘ f) μ ↔ Integrable g ν := by rw [← hf.map_eq] at hg⊢;
+ Integrable (g ∘ f) μ ↔ Integrable g ν := by rw [← hf.map_eq] at hg ⊢;
exact (integrable_map_measure hg hf.measurable.ae_measurable).symm
#align measure_theory.measure_preserving.integrable_comp MeasureTheory.MeasurePreserving.integrable_comp
@@ -729,17 +729,17 @@ theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun
-/
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
- (hg : Integrable g μ) : Integrable (f ⊓ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg⊢;
+ (hg : Integrable g μ) : Integrable (f ⊓ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg ⊢;
exact hf.inf hg
#align measure_theory.integrable.inf MeasureTheory.Integrable.inf
theorem Integrable.sup {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
- (hg : Integrable g μ) : Integrable (f ⊔ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg⊢;
+ (hg : Integrable g μ) : Integrable (f ⊔ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg ⊢;
exact hf.sup hg
#align measure_theory.integrable.sup MeasureTheory.Integrable.sup
theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf : Integrable f μ) :
- Integrable (fun a => |f a|) μ := by rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.abs
+ Integrable (fun a => |f a|) μ := by rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
@@ -1077,12 +1077,12 @@ theorem integrable_smul_iff [NormedDivisionRing 𝕜] [Module 𝕜 β] [BoundedS
variable [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
- (hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hf⊢;
+ (hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hf ⊢;
exact mem_ℒp.smul_of_top_right hf hφ
#align measure_theory.integrable.smul_of_top_right MeasureTheory.Integrable.smul_of_top_right
theorem Integrable.smul_of_top_left {f : α → β} {φ : α → 𝕜} (hφ : Integrable φ μ)
- (hf : Memℒp f ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hφ⊢;
+ (hf : Memℒp f ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hφ ⊢;
exact mem_ℒp.smul_of_top_left hf hφ
#align measure_theory.integrable.smul_of_top_left MeasureTheory.Integrable.smul_of_top_left
@@ -1172,7 +1172,7 @@ section IsROrC
variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
- by rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_real
+ by rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.of_real
#align measure_theory.integrable.of_real MeasureTheory.Integrable.ofReal
theorem Integrable.re_im_iff :
@@ -1182,11 +1182,11 @@ theorem Integrable.re_im_iff :
#align measure_theory.integrable.re_im_iff MeasureTheory.Integrable.re_im_iff
theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ := by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.re
+ rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.re
#align measure_theory.integrable.re MeasureTheory.Integrable.re
theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ := by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.im
+ rw [← mem_ℒp_one_iff_integrable] at hf ⊢; exact hf.im
#align measure_theory.integrable.im MeasureTheory.Integrable.im
end IsROrC
@@ -1208,8 +1208,8 @@ theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ
Integrable f μ' := by
obtain ⟨hf_meas_ae, hf⟩ := hf_int
refine' ⟨aestronglyMeasurable_of_aestronglyMeasurable_trim hm hf_meas_ae, _⟩
- rw [has_finite_integral] at hf⊢
- rwa [lintegral_trim_ae hm _] at hf
+ rw [has_finite_integral] at hf ⊢
+ rwa [lintegral_trim_ae hm _] at hf
exact ae_strongly_measurable.ennnorm hf_meas_ae
#align measure_theory.integrable_of_integrable_trim MeasureTheory.integrable_of_integrable_trim
@@ -1281,7 +1281,7 @@ theorem integrable_iff_mem_L1 {f : α →ₘ[μ] β} : Integrable f ↔ f ∈ (
theorem Integrable.add {f g : α →ₘ[μ] β} : Integrable f → Integrable g → Integrable (f + g) :=
by
refine' induction_on₂ f g fun f hf g hg hfi hgi => _
- simp only [integrable_mk, mk_add_mk] at hfi hgi⊢
+ simp only [integrable_mk, mk_add_mk] at hfi hgi ⊢
exact hfi.add hgi
#align measure_theory.ae_eq_fun.integrable.add MeasureTheory.AEEqFun.Integrable.add
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -105,12 +105,14 @@ theorem lintegral_nnnorm_neg {f : α → β} : (∫⁻ a, ‖(-f) a‖₊ ∂μ)
/-! ### The predicate `has_finite_integral` -/
+#print MeasureTheory.HasFiniteIntegral /-
/-- `has_finite_integral f μ` means that the integral `∫⁻ a, ‖f a‖ ∂μ` is finite.
`has_finite_integral f` means `has_finite_integral f volume`. -/
def HasFiniteIntegral {m : MeasurableSpace α} (f : α → β)
(μ : Measure α := by exact MeasureTheory.MeasureSpace.volume) : Prop :=
(∫⁻ a, ‖f a‖₊ ∂μ) < ∞
#align measure_theory.has_finite_integral MeasureTheory.HasFiniteIntegral
+-/
theorem hasFiniteIntegral_iff_norm (f : α → β) :
HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) < ∞ := by
@@ -127,10 +129,10 @@ theorem hasFiniteIntegral_iff_ofReal {f : α → ℝ} (h : 0 ≤ᵐ[μ] f) :
rw [has_finite_integral, lintegral_nnnorm_eq_of_ae_nonneg h]
#align measure_theory.has_finite_integral_iff_of_real MeasureTheory.hasFiniteIntegral_iff_ofReal
-theorem hasFiniteIntegral_iff_of_nNReal {f : α → ℝ≥0} :
+theorem hasFiniteIntegral_iff_ofNNReal {f : α → ℝ≥0} :
HasFiniteIntegral (fun x => (f x : ℝ)) μ ↔ (∫⁻ a, f a ∂μ) < ∞ := by
simp [has_finite_integral_iff_norm]
-#align measure_theory.has_finite_integral_iff_of_nnreal MeasureTheory.hasFiniteIntegral_iff_of_nNReal
+#align measure_theory.has_finite_integral_iff_of_nnreal MeasureTheory.hasFiniteIntegral_iff_ofNNReal
theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIntegral g μ)
(h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : HasFiniteIntegral f μ :=
@@ -269,12 +271,14 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
+#print MeasureTheory.finiteMeasure_withDensity_ofReal /-
theorem finiteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
FiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
by
refine' is_finite_measure_with_density ((lintegral_mono fun x => _).trans_lt hfi).Ne
exact Real.ofReal_le_ennnorm (f x)
#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.finiteMeasure_withDensity_ofReal
+-/
section DominatedConvergence
@@ -440,6 +444,7 @@ end NormedSpace
/-! ### The predicate `integrable` -/
+#print MeasureTheory.Integrable /-
-- variables [measurable_space β] [measurable_space γ] [measurable_space δ]
/-- `integrable f μ` means that `f` is measurable and that the integral `∫⁻ a, ‖f a‖ ∂μ` is finite.
`integrable f` means `integrable f volume`. -/
@@ -447,24 +452,33 @@ def Integrable {α} {m : MeasurableSpace α} (f : α → β)
(μ : Measure α := by exact MeasureTheory.MeasureSpace.volume) : Prop :=
AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ
#align measure_theory.integrable MeasureTheory.Integrable
+-/
+#print MeasureTheory.memℒp_one_iff_integrable /-
theorem memℒp_one_iff_integrable {f : α → β} : Memℒp f 1 μ ↔ Integrable f μ := by
simp_rw [integrable, has_finite_integral, mem_ℒp, snorm_one_eq_lintegral_nnnorm]
#align measure_theory.mem_ℒp_one_iff_integrable MeasureTheory.memℒp_one_iff_integrable
+-/
-theorem Integrable.aEStronglyMeasurable {f : α → β} (hf : Integrable f μ) :
+#print MeasureTheory.Integrable.aestronglyMeasurable /-
+theorem Integrable.aestronglyMeasurable {f : α → β} (hf : Integrable f μ) :
AEStronglyMeasurable f μ :=
hf.1
-#align measure_theory.integrable.ae_strongly_measurable MeasureTheory.Integrable.aEStronglyMeasurable
+#align measure_theory.integrable.ae_strongly_measurable MeasureTheory.Integrable.aestronglyMeasurable
+-/
-theorem Integrable.aEMeasurable [MeasurableSpace β] [BorelSpace β] {f : α → β}
+#print MeasureTheory.Integrable.aemeasurable /-
+theorem Integrable.aemeasurable [MeasurableSpace β] [BorelSpace β] {f : α → β}
(hf : Integrable f μ) : AEMeasurable f μ :=
hf.AEStronglyMeasurable.AEMeasurable
-#align measure_theory.integrable.ae_measurable MeasureTheory.Integrable.aEMeasurable
+#align measure_theory.integrable.ae_measurable MeasureTheory.Integrable.aemeasurable
+-/
+#print MeasureTheory.Integrable.hasFiniteIntegral /-
theorem Integrable.hasFiniteIntegral {f : α → β} (hf : Integrable f μ) : HasFiniteIntegral f μ :=
hf.2
#align measure_theory.integrable.has_finite_integral MeasureTheory.Integrable.hasFiniteIntegral
+-/
theorem Integrable.mono {f : α → β} {g : α → γ} (hg : Integrable g μ)
(hf : AEStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : Integrable f μ :=
@@ -487,9 +501,11 @@ theorem integrable_congr' {f : α → β} {g : α → γ} (hf : AEStronglyMeasur
⟨fun h2f => h2f.congr' hg h, fun h2g => h2g.congr' hf <| EventuallyEq.symm h⟩
#align measure_theory.integrable_congr' MeasureTheory.integrable_congr'
+#print MeasureTheory.Integrable.congr /-
theorem Integrable.congr {f g : α → β} (hf : Integrable f μ) (h : f =ᵐ[μ] g) : Integrable g μ :=
⟨hf.1.congr h, hf.2.congr h⟩
#align measure_theory.integrable.congr MeasureTheory.Integrable.congr
+-/
theorem integrable_congr {f g : α → β} (h : f =ᵐ[μ] g) : Integrable f μ ↔ Integrable g μ :=
⟨fun hf => hf.congr h, fun hg => hg.congr h.symm⟩
@@ -522,15 +538,18 @@ theorem Memℒp.integrable_norm_rpow' [FiniteMeasure μ] {f : α → β} {p :
exact hf.integrable_norm_rpow h_zero h_top
#align measure_theory.mem_ℒp.integrable_norm_rpow' MeasureTheory.Memℒp.integrable_norm_rpow'
+#print MeasureTheory.Integrable.mono_measure /-
theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ ≤ ν) : Integrable f μ :=
⟨h.AEStronglyMeasurable.mono_measure hμ, h.HasFiniteIntegral.mono_measure hμ⟩
#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.mono_measure
+-/
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
{f : α → β} (hf : Integrable f μ) : Integrable f μ' := by
rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_measure_le_smul c hc hμ'_le
#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
+#print MeasureTheory.Integrable.add_measure /-
theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
Integrable f (μ + ν) :=
by
@@ -539,20 +558,27 @@ theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : In
rw [snorm_one_add_measure, ENNReal.add_lt_top]
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
#align measure_theory.integrable.add_measure MeasureTheory.Integrable.add_measure
+-/
+#print MeasureTheory.Integrable.left_of_add_measure /-
theorem Integrable.left_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ := by
rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.left_of_add_measure
#align measure_theory.integrable.left_of_add_measure MeasureTheory.Integrable.left_of_add_measure
+-/
+#print MeasureTheory.Integrable.right_of_add_measure /-
theorem Integrable.right_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f ν :=
by rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.right_of_add_measure
#align measure_theory.integrable.right_of_add_measure MeasureTheory.Integrable.right_of_add_measure
+-/
+#print MeasureTheory.integrable_add_measure /-
@[simp]
theorem integrable_add_measure {f : α → β} :
Integrable f (μ + ν) ↔ Integrable f μ ∧ Integrable f ν :=
⟨fun h => ⟨h.left_of_add_measure, h.right_of_add_measure⟩, fun h => h.1.add_measure h.2⟩
#align measure_theory.integrable_add_measure MeasureTheory.integrable_add_measure
+-/
@[simp]
theorem integrable_zero_measure {m : MeasurableSpace α} {f : α → β} :
@@ -596,16 +622,18 @@ theorem integrable_average [FiniteMeasure μ] {f : α → β} :
(ENNReal.inv_ne_top.2 <| mt Measure.measure_univ_eq_zero.1 h)
#align measure_theory.integrable_average MeasureTheory.integrable_average
+#print MeasureTheory.integrable_map_measure /-
theorem integrable_map_measure {f : α → δ} {g : δ → β}
(hg : AEStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
simp_rw [← mem_ℒp_one_iff_integrable]; exact mem_ℒp_map_measure_iff hg hf
#align measure_theory.integrable_map_measure MeasureTheory.integrable_map_measure
+-/
-theorem Integrable.comp_aEMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
+theorem Integrable.comp_aemeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : AEMeasurable f μ) : Integrable (g ∘ f) μ :=
(integrable_map_measure hg.AEStronglyMeasurable hf).mp hg
-#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.comp_aEMeasurable
+#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.comp_aemeasurable
theorem Integrable.comp_measurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : Measurable f) : Integrable (g ∘ f) μ :=
@@ -666,16 +694,20 @@ theorem Integrable.add {f g : α → β} (hf : Integrable f μ) (hg : Integrable
⟨hf.AEStronglyMeasurable.add hg.AEStronglyMeasurable, hf.add' hg⟩
#align measure_theory.integrable.add MeasureTheory.Integrable.add
+#print MeasureTheory.integrable_finset_sum' /-
theorem integrable_finset_sum' {ι} (s : Finset ι) {f : ι → α → β}
(hf : ∀ i ∈ s, Integrable (f i) μ) : Integrable (∑ i in s, f i) μ :=
Finset.sum_induction f (fun g => Integrable g μ) (fun _ _ => Integrable.add)
(integrable_zero _ _ _) hf
#align measure_theory.integrable_finset_sum' MeasureTheory.integrable_finset_sum'
+-/
+#print MeasureTheory.integrable_finset_sum /-
theorem integrable_finset_sum {ι} (s : Finset ι) {f : ι → α → β}
(hf : ∀ i ∈ s, Integrable (f i) μ) : Integrable (fun a => ∑ i in s, f i a) μ := by
simpa only [← Finset.sum_apply] using integrable_finset_sum' s hf
#align measure_theory.integrable_finset_sum MeasureTheory.integrable_finset_sum
+-/
theorem Integrable.neg {f : α → β} (hf : Integrable f μ) : Integrable (-f) μ :=
⟨hf.AEStronglyMeasurable.neg, hf.HasFiniteIntegral.neg⟩
@@ -690,9 +722,11 @@ theorem Integrable.sub {f g : α → β} (hf : Integrable f μ) (hg : Integrable
Integrable (f - g) μ := by simpa only [sub_eq_add_neg] using hf.add hg.neg
#align measure_theory.integrable.sub MeasureTheory.Integrable.sub
+#print MeasureTheory.Integrable.norm /-
theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun a => ‖f a‖) μ :=
⟨hf.AEStronglyMeasurable.norm, hf.HasFiniteIntegral.norm⟩
#align measure_theory.integrable.norm MeasureTheory.Integrable.norm
+-/
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
(hg : Integrable g μ) : Integrable (f ⊓ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg⊢;
@@ -924,19 +958,19 @@ section
variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
-theorem mem_ℒ1_smul_of_L1_withDensity {f : α → ℝ≥0} (f_meas : Measurable f)
- (u : lp E 1 (μ.withDensity fun x => f x)) : Memℒp (fun x => f x • u x) 1 μ :=
+theorem memℒ1_smul_of_L1_withDensity {f : α → ℝ≥0} (f_meas : Measurable f)
+ (u : Lp E 1 (μ.withDensity fun x => f x)) : Memℒp (fun x => f x • u x) 1 μ :=
memℒp_one_iff_integrable.2 <|
- (integrable_withDensity_iff_integrable_smul f_meas).1 <| memℒp_one_iff_integrable.1 (lp.memℒp u)
-#align measure_theory.mem_ℒ1_smul_of_L1_with_density MeasureTheory.mem_ℒ1_smul_of_L1_withDensity
+ (integrable_withDensity_iff_integrable_smul f_meas).1 <| memℒp_one_iff_integrable.1 (Lp.memℒp u)
+#align measure_theory.mem_ℒ1_smul_of_L1_with_density MeasureTheory.memℒ1_smul_of_L1_withDensity
variable (μ)
/-- The map `u ↦ f • u` is an isometry between the `L^1` spaces for `μ.with_density f` and `μ`. -/
-noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f) :
- lp E 1 (μ.withDensity fun x => f x) →ₗᵢ[ℝ] lp E 1 μ
+noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f) :
+ Lp E 1 (μ.withDensity fun x => f x) →ₗᵢ[ℝ] Lp E 1 μ
where
- toFun u := (mem_ℒ1_smul_of_L1_withDensity f_meas u).toLp _
+ toFun u := (memℒ1_smul_of_L1_withDensity f_meas u).toLp _
map_add' := by
intro u v
ext1
@@ -977,15 +1011,15 @@ noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f)
rw [hx, Pi.mul_apply]
change ↑‖(f x : ℝ) • u x‖₊ = ↑(f x) * ↑‖u x‖₊
simp only [nnnorm_smul, NNReal.nnnorm_eq, ENNReal.coe_mul]
-#align measure_theory.with_density_smul_li MeasureTheory.withDensitySmulLi
+#align measure_theory.with_density_smul_li MeasureTheory.withDensitySMulLI
@[simp]
-theorem withDensitySmulLi_apply {f : α → ℝ≥0} (f_meas : Measurable f)
- (u : lp E 1 (μ.withDensity fun x => f x)) :
- withDensitySmulLi μ f_meas u =
- (mem_ℒ1_smul_of_L1_withDensity f_meas u).toLp fun x => f x • u x :=
+theorem withDensitySMulLI_apply {f : α → ℝ≥0} (f_meas : Measurable f)
+ (u : Lp E 1 (μ.withDensity fun x => f x)) :
+ withDensitySMulLI μ f_meas u =
+ (memℒ1_smul_of_L1_withDensity f_meas u).toLp fun x => f x • u x :=
rfl
-#align measure_theory.with_density_smul_li_apply MeasureTheory.withDensitySmulLi_apply
+#align measure_theory.with_density_smul_li_apply MeasureTheory.withDensitySMulLI_apply
end
@@ -1033,7 +1067,7 @@ theorem Integrable.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [Bound
theorem IsUnit.integrable_smul_iff [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
(hc : IsUnit c) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
and_congr hc.aestronglyMeasurable_const_smul_iff (hasFiniteIntegral_smul_iff hc f)
-#align measure_theory.is_unit.integrable_smul_iff MeasureTheory.IsUnit.integrable_smul_iff
+#align measure_theory.is_unit.integrable_smul_iff IsUnit.integrable_smul_iff
theorem integrable_smul_iff [NormedDivisionRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
(hc : c ≠ 0) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
@@ -1137,9 +1171,9 @@ section IsROrC
variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
-theorem Integrable.of_real {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
+theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
by rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_real
-#align measure_theory.integrable.of_real MeasureTheory.Integrable.of_real
+#align measure_theory.integrable.of_real MeasureTheory.Integrable.ofReal
theorem Integrable.re_im_iff :
Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
@@ -1206,11 +1240,13 @@ namespace AeEqFun
section
+#print MeasureTheory.AEEqFun.Integrable /-
/-- A class of almost everywhere equal functions is `integrable` if its function representative
is integrable. -/
def Integrable (f : α →ₘ[μ] β) : Prop :=
Integrable f μ
#align measure_theory.ae_eq_fun.integrable MeasureTheory.AEEqFun.Integrable
+-/
theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (mk f hf : α →ₘ[μ] β) ↔ MeasureTheory.Integrable f μ :=
@@ -1281,20 +1317,20 @@ theorem hasFiniteIntegral_coeFn (f : α →₁[μ] β) : HasFiniteIntegral f μ
#align measure_theory.L1.has_finite_integral_coe_fn MeasureTheory.L1.hasFiniteIntegral_coeFn
theorem stronglyMeasurable_coeFn (f : α →₁[μ] β) : StronglyMeasurable f :=
- lp.stronglyMeasurable f
+ Lp.stronglyMeasurable f
#align measure_theory.L1.strongly_measurable_coe_fn MeasureTheory.L1.stronglyMeasurable_coeFn
theorem measurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : Measurable f :=
- (lp.stronglyMeasurable f).Measurable
+ (Lp.stronglyMeasurable f).Measurable
#align measure_theory.L1.measurable_coe_fn MeasureTheory.L1.measurable_coeFn
-theorem aEStronglyMeasurable_coeFn (f : α →₁[μ] β) : AEStronglyMeasurable f μ :=
- lp.aEStronglyMeasurable f
-#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aEStronglyMeasurable_coeFn
+theorem aestronglyMeasurable_coeFn (f : α →₁[μ] β) : AEStronglyMeasurable f μ :=
+ Lp.aestronglyMeasurable f
+#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aestronglyMeasurable_coeFn
-theorem aEMeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AEMeasurable f μ :=
- (lp.stronglyMeasurable f).Measurable.AEMeasurable
-#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aEMeasurable_coeFn
+theorem aemeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AEMeasurable f μ :=
+ (Lp.stronglyMeasurable f).Measurable.AEMeasurable
+#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aemeasurable_coeFn
theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ := by
simp [Lp.edist_def, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
@@ -1352,20 +1388,24 @@ theorem toL1_coeFn (f : α →₁[μ] β) (hf : Integrable f μ) : hf.toL1 f = f
simp [integrable.to_L1]
#align measure_theory.integrable.to_L1_coe_fn MeasureTheory.Integrable.toL1_coeFn
+#print MeasureTheory.Integrable.coeFn_toL1 /-
theorem coeFn_toL1 {f : α → β} (hf : Integrable f μ) : hf.toL1 f =ᵐ[μ] f :=
AEEqFun.coeFn_mk _ _
#align measure_theory.integrable.coe_fn_to_L1 MeasureTheory.Integrable.coeFn_toL1
+-/
@[simp]
theorem toL1_zero (h : Integrable (0 : α → β) μ) : h.toL1 0 = 0 :=
rfl
#align measure_theory.integrable.to_L1_zero MeasureTheory.Integrable.toL1_zero
+#print MeasureTheory.Integrable.toL1_eq_mk /-
@[simp]
theorem toL1_eq_mk (f : α → β) (hf : Integrable f μ) :
(hf.toL1 f : α →ₘ[μ] β) = AEEqFun.mk f hf.AEStronglyMeasurable :=
rfl
#align measure_theory.integrable.to_L1_eq_mk MeasureTheory.Integrable.toL1_eq_mk
+-/
@[simp]
theorem toL1_eq_toL1_iff (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
@@ -1392,16 +1432,20 @@ theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
+#print MeasureTheory.Integrable.norm_toL1_eq_lintegral_norm /-
theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) := by
rw [norm_to_L1, lintegral_norm_eq_lintegral_edist]
#align measure_theory.integrable.norm_to_L1_eq_lintegral_norm MeasureTheory.Integrable.norm_toL1_eq_lintegral_norm
+-/
+#print MeasureTheory.Integrable.edist_toL1_toL1 /-
@[simp]
theorem edist_toL1_toL1 (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
edist (hf.toL1 f) (hg.toL1 g) = ∫⁻ a, edist (f a) (g a) ∂μ := by
simp [integrable.to_L1, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.integrable.edist_to_L1_to_L1 MeasureTheory.Integrable.edist_toL1_toL1
+-/
@[simp]
theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -52,7 +52,7 @@ integrable, function space, l1
noncomputable section
-open Classical Topology BigOperators ENNReal MeasureTheory NNReal
+open scoped Classical Topology BigOperators ENNReal MeasureTheory NNReal
open Set Filter TopologicalSpace ENNReal Emetric MeasureTheory
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -245,9 +245,7 @@ theorem hasFiniteIntegral_neg_iff {f : α → β} : HasFiniteIntegral (-f) μ
theorem HasFiniteIntegral.norm {f : α → β} (hfi : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => ‖f a‖) μ :=
by
- have eq : (fun a => (nnnorm ‖f a‖ : ℝ≥0∞)) = fun a => (‖f a‖₊ : ℝ≥0∞) :=
- by
- funext
+ have eq : (fun a => (nnnorm ‖f a‖ : ℝ≥0∞)) = fun a => (‖f a‖₊ : ℝ≥0∞) := by funext;
rw [nnnorm_norm]
rwa [has_finite_integral, Eq]
#align measure_theory.has_finite_integral.norm MeasureTheory.HasFiniteIntegral.norm
@@ -262,9 +260,7 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
by
have :
∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = @coe ℝ≥0 ℝ≥0∞ _ (⟨(f x).toReal, ENNReal.toReal_nonneg⟩ : ℝ≥0) :=
- by
- intro x
- rw [Real.nnnorm_of_nonneg]
+ by intro x; rw [Real.nnnorm_of_nonneg]
simp_rw [has_finite_integral, this]
refine' lt_of_le_of_lt (lintegral_mono fun x => _) (lt_top_iff_ne_top.2 hf)
by_cases hfx : f x = ∞
@@ -369,9 +365,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
calc
- (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ :=
- by
- rw [lintegral_const_mul']
+ (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by rw [lintegral_const_mul'];
exact coe_ne_top
_ ≠ ∞ := mul_ne_top coe_ne_top bound_has_finite_integral.ne
@@ -533,10 +527,8 @@ theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ
#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.mono_measure
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
- {f : α → β} (hf : Integrable f μ) : Integrable f μ' :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.of_measure_le_smul c hc hμ'_le
+ {f : α → β} (hf : Integrable f μ) : Integrable f μ' := by
+ rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_measure_le_smul c hc hμ'_le
#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
@@ -548,16 +540,12 @@ theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : In
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
#align measure_theory.integrable.add_measure MeasureTheory.Integrable.add_measure
-theorem Integrable.left_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at h⊢
- exact h.left_of_add_measure
+theorem Integrable.left_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ := by
+ rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.left_of_add_measure
#align measure_theory.integrable.left_of_add_measure MeasureTheory.Integrable.left_of_add_measure
theorem Integrable.right_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f ν :=
- by
- rw [← mem_ℒp_one_iff_integrable] at h⊢
- exact h.right_of_add_measure
+ by rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.right_of_add_measure
#align measure_theory.integrable.right_of_add_measure MeasureTheory.Integrable.right_of_add_measure
@[simp]
@@ -578,9 +566,7 @@ theorem integrable_finset_sum_measure {ι} {m : MeasurableSpace α} {f : α →
#align measure_theory.integrable_finset_sum_measure MeasureTheory.integrable_finset_sum_measure
theorem Integrable.smul_measure {f : α → β} (h : Integrable f μ) {c : ℝ≥0∞} (hc : c ≠ ∞) :
- Integrable f (c • μ) := by
- rw [← mem_ℒp_one_iff_integrable] at h⊢
- exact h.smul_measure hc
+ Integrable f (c • μ) := by rw [← mem_ℒp_one_iff_integrable] at h⊢; exact h.smul_measure hc
#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smul_measure
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
@@ -600,8 +586,7 @@ theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable
by
rcases eq_or_ne μ 0 with (rfl | hne)
· rwa [smul_zero]
- · apply h.smul_measure
- simpa
+ · apply h.smul_measure; simpa
#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
theorem integrable_average [FiniteMeasure μ] {f : α → β} :
@@ -613,10 +598,8 @@ theorem integrable_average [FiniteMeasure μ] {f : α → β} :
theorem integrable_map_measure {f : α → δ} {g : δ → β}
(hg : AEStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
- Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
- by
- simp_rw [← mem_ℒp_one_iff_integrable]
- exact mem_ℒp_map_measure_iff hg hf
+ Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
+ simp_rw [← mem_ℒp_one_iff_integrable]; exact mem_ℒp_map_measure_iff hg hf
#align measure_theory.integrable_map_measure MeasureTheory.integrable_map_measure
theorem Integrable.comp_aEMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
@@ -630,24 +613,18 @@ theorem Integrable.comp_measurable {f : α → δ} {g : δ → β} (hg : Integra
#align measure_theory.integrable.comp_measurable MeasureTheory.Integrable.comp_measurable
theorem MeasurableEmbedding.integrable_map_iff {f : α → δ} (hf : MeasurableEmbedding f)
- {g : δ → β} : Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
- by
- simp_rw [← mem_ℒp_one_iff_integrable]
- exact hf.mem_ℒp_map_measure_iff
+ {g : δ → β} : Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
+ simp_rw [← mem_ℒp_one_iff_integrable]; exact hf.mem_ℒp_map_measure_iff
#align measurable_embedding.integrable_map_iff MeasurableEmbedding.integrable_map_iff
theorem integrable_map_equiv (f : α ≃ᵐ δ) (g : δ → β) :
- Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
- by
- simp_rw [← mem_ℒp_one_iff_integrable]
- exact f.mem_ℒp_map_measure_iff
+ Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ := by
+ simp_rw [← mem_ℒp_one_iff_integrable]; exact f.mem_ℒp_map_measure_iff
#align measure_theory.integrable_map_equiv MeasureTheory.integrable_map_equiv
theorem MeasurePreserving.integrable_comp {ν : Measure δ} {g : δ → β} {f : α → δ}
(hf : MeasurePreserving f μ ν) (hg : AEStronglyMeasurable g ν) :
- Integrable (g ∘ f) μ ↔ Integrable g ν :=
- by
- rw [← hf.map_eq] at hg⊢
+ Integrable (g ∘ f) μ ↔ Integrable g ν := by rw [← hf.map_eq] at hg⊢;
exact (integrable_map_measure hg hf.measurable.ae_measurable).symm
#align measure_theory.measure_preserving.integrable_comp MeasureTheory.MeasurePreserving.integrable_comp
@@ -718,24 +695,17 @@ theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun
#align measure_theory.integrable.norm MeasureTheory.Integrable.norm
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
- (hg : Integrable g μ) : Integrable (f ⊓ g) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf hg⊢
+ (hg : Integrable g μ) : Integrable (f ⊓ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg⊢;
exact hf.inf hg
#align measure_theory.integrable.inf MeasureTheory.Integrable.inf
theorem Integrable.sup {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
- (hg : Integrable g μ) : Integrable (f ⊔ g) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf hg⊢
+ (hg : Integrable g μ) : Integrable (f ⊔ g) μ := by rw [← mem_ℒp_one_iff_integrable] at hf hg⊢;
exact hf.sup hg
#align measure_theory.integrable.sup MeasureTheory.Integrable.sup
theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf : Integrable f μ) :
- Integrable (fun a => |f a|) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.abs
+ Integrable (fun a => |f a|) μ := by rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
@@ -1073,16 +1043,12 @@ theorem integrable_smul_iff [NormedDivisionRing 𝕜] [Module 𝕜 β] [BoundedS
variable [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
- (hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
+ (hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hf⊢;
exact mem_ℒp.smul_of_top_right hf hφ
#align measure_theory.integrable.smul_of_top_right MeasureTheory.Integrable.smul_of_top_right
theorem Integrable.smul_of_top_left {f : α → β} {φ : α → 𝕜} (hφ : Integrable φ μ)
- (hf : Memℒp f ∞ μ) : Integrable (φ • f) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hφ⊢
+ (hf : Memℒp f ∞ μ) : Integrable (φ • f) μ := by rw [← mem_ℒp_one_iff_integrable] at hφ⊢;
exact mem_ℒp.smul_of_top_left hf hφ
#align measure_theory.integrable.smul_of_top_left MeasureTheory.Integrable.smul_of_top_left
@@ -1172,29 +1138,21 @@ section IsROrC
variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
theorem Integrable.of_real {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.of_real
+ by rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.of_real
#align measure_theory.integrable.of_real MeasureTheory.Integrable.of_real
theorem Integrable.re_im_iff :
Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
Integrable f μ :=
- by
- simp_rw [← mem_ℒp_one_iff_integrable]
- exact mem_ℒp_re_im_iff
+ by simp_rw [← mem_ℒp_one_iff_integrable]; exact mem_ℒp_re_im_iff
#align measure_theory.integrable.re_im_iff MeasureTheory.Integrable.re_im_iff
-theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.re
+theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ := by
+ rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.re
#align measure_theory.integrable.re MeasureTheory.Integrable.re
-theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.im
+theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ := by
+ rw [← mem_ℒp_one_iff_integrable] at hf⊢; exact hf.im
#align measure_theory.integrable.im MeasureTheory.Integrable.im
end IsROrC
@@ -1314,9 +1272,7 @@ end AeEqFun
namespace L1
-theorem integrable_coeFn (f : α →₁[μ] β) : Integrable f μ :=
- by
- rw [← mem_ℒp_one_iff_integrable]
+theorem integrable_coeFn (f : α →₁[μ] β) : Integrable f μ := by rw [← mem_ℒp_one_iff_integrable];
exact Lp.mem_ℒp f
#align measure_theory.L1.integrable_coe_fn MeasureTheory.L1.integrable_coeFn
@@ -1340,16 +1296,12 @@ theorem aEMeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[
(lp.stronglyMeasurable f).Measurable.AEMeasurable
#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aEMeasurable_coeFn
-theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ :=
- by
- simp [Lp.edist_def, snorm, snorm']
- simp [edist_eq_coe_nnnorm_sub]
+theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ := by
+ simp [Lp.edist_def, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.edist_def MeasureTheory.L1.edist_def
-theorem dist_def (f g : α →₁[μ] β) : dist f g = (∫⁻ a, edist (f a) (g a) ∂μ).toReal :=
- by
- simp [Lp.dist_def, snorm, snorm']
- simp [edist_eq_coe_nnnorm_sub]
+theorem dist_def (f g : α →₁[μ] β) : dist f g = (∫⁻ a, edist (f a) (g a) ∂μ).toReal := by
+ simp [Lp.dist_def, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.dist_def MeasureTheory.L1.dist_def
theorem norm_def (f : α →₁[μ] β) : ‖f‖ = (∫⁻ a, ‖f a‖₊ ∂μ).toReal := by
@@ -1370,9 +1322,7 @@ theorem norm_sub_eq_lintegral (f g : α →₁[μ] β) :
#align measure_theory.L1.norm_sub_eq_lintegral MeasureTheory.L1.norm_sub_eq_lintegral
theorem ofReal_norm_eq_lintegral (f : α →₁[μ] β) : ENNReal.ofReal ‖f‖ = ∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ∂μ :=
- by
- rw [norm_def, ENNReal.ofReal_toReal]
- exact ne_of_lt (has_finite_integral_coe_fn f)
+ by rw [norm_def, ENNReal.ofReal_toReal]; exact ne_of_lt (has_finite_integral_coe_fn f)
#align measure_theory.L1.of_real_norm_eq_lintegral MeasureTheory.L1.ofReal_norm_eq_lintegral
/-- Computing the norm of a difference between two L¹-functions. Note that this is not a
@@ -1438,9 +1388,7 @@ theorem toL1_sub (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ)
#align measure_theory.integrable.to_L1_sub MeasureTheory.Integrable.toL1_sub
theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
- ‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, edist (f a) 0 ∂μ) :=
- by
- simp [to_L1, snorm, snorm']
+ ‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, edist (f a) 0 ∂μ) := by simp [to_L1, snorm, snorm'];
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
@@ -1451,17 +1399,13 @@ theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
@[simp]
theorem edist_toL1_toL1 (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
- edist (hf.toL1 f) (hg.toL1 g) = ∫⁻ a, edist (f a) (g a) ∂μ :=
- by
- simp [integrable.to_L1, snorm, snorm']
- simp [edist_eq_coe_nnnorm_sub]
+ edist (hf.toL1 f) (hg.toL1 g) = ∫⁻ a, edist (f a) (g a) ∂μ := by
+ simp [integrable.to_L1, snorm, snorm']; simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.integrable.edist_to_L1_to_L1 MeasureTheory.Integrable.edist_toL1_toL1
@[simp]
theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
- edist (hf.toL1 f) 0 = ∫⁻ a, edist (f a) 0 ∂μ :=
- by
- simp [integrable.to_L1, snorm, snorm']
+ edist (hf.toL1 f) 0 = ∫⁻ a, edist (f a) 0 ∂μ := by simp [integrable.to_L1, snorm, snorm'];
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.edist_to_L1_zero MeasureTheory.Integrable.edist_toL1_zero
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 9b33e5f30c5f161e1d1b16b6b9b922bf49943377
+! leanprover-community/mathlib commit 13b0d72fd8533ba459ac66e9a885e35ffabb32b2
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -405,9 +405,8 @@ section NormedSpace
variable {𝕜 : Type _}
-theorem HasFiniteIntegral.smul' [SMul 𝕜 β] [NNNorm 𝕜] (c : 𝕜) {f : α → β}
- (h : ∀ (k : 𝕜) (b : β), ‖k • b‖₊ ≤ ‖k‖₊ * ‖b‖₊) :
- HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
+theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
+ {f : α → β} : HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
by
simp only [has_finite_integral]; intro hfi
calc
@@ -415,37 +414,31 @@ theorem HasFiniteIntegral.smul' [SMul 𝕜 β] [NNNorm 𝕜] (c : 𝕜) {f : α
by
refine' lintegral_mono _
intro i
- exact_mod_cast h c (f i)
+ exact_mod_cast (nnnorm_smul_le c (f i) : _)
_ < ∞ := by
rw [lintegral_const_mul']
exacts[mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
-#align measure_theory.has_finite_integral.smul' MeasureTheory.HasFiniteIntegral.smul'
-
-theorem HasFiniteIntegral.smul [NormedField 𝕜] [NormedSpace 𝕜 β] (c : 𝕜) {f : α → β} :
- HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
- HasFiniteIntegral.smul' _ fun a b => nnnorm_smul_le a b
#align measure_theory.has_finite_integral.smul MeasureTheory.HasFiniteIntegral.smul
-theorem hasFiniteIntegral_smul_iff [NormedField 𝕜] [NormedSpace 𝕜 β] {c : 𝕜} (hc : c ≠ 0)
- (f : α → β) : HasFiniteIntegral (c • f) μ ↔ HasFiniteIntegral f μ :=
+theorem hasFiniteIntegral_smul_iff [NormedRing 𝕜] [MulActionWithZero 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
+ (hc : IsUnit c) (f : α → β) : HasFiniteIntegral (c • f) μ ↔ HasFiniteIntegral f μ :=
by
+ obtain ⟨c, rfl⟩ := hc
constructor
· intro h
- simpa only [smul_smul, inv_mul_cancel hc, one_smul] using h.smul c⁻¹
+ simpa only [smul_smul, Units.inv_mul, one_smul] using h.smul (↑c⁻¹ : 𝕜)
exact has_finite_integral.smul _
#align measure_theory.has_finite_integral_smul_iff MeasureTheory.hasFiniteIntegral_smul_iff
theorem HasFiniteIntegral.const_mul [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
HasFiniteIntegral (fun x => c * f x) μ :=
- (HasFiniteIntegral.smul' c nnnorm_mul_le h : _)
+ h.smul c
#align measure_theory.has_finite_integral.const_mul MeasureTheory.HasFiniteIntegral.const_mul
theorem HasFiniteIntegral.mul_const [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
HasFiniteIntegral (fun x => f x * c) μ :=
- (HasFiniteIntegral.smul' (MulOpposite.op c)
- (fun a b => (nnnorm_mul_le b a.unop).trans_eq <| mul_comm _ _) h :
- _)
+ h.smul (MulOpposite.op c)
#align measure_theory.has_finite_integral.mul_const MeasureTheory.HasFiniteIntegral.mul_const
end NormedSpace
@@ -785,8 +778,9 @@ theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
-theorem Integrable.smul_essSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → 𝕜}
- (hf : Integrable f μ) {g : α → β} (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
+theorem Integrable.smul_essSup {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+ {f : α → 𝕜} (hf : Integrable f μ) {g : α → β}
+ (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => f x • g x) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at *
@@ -1057,19 +1051,27 @@ theorem Integrable.neg_part {f : α → ℝ} (hf : Integrable f μ) :
end PosPart
-section NormedSpace
+section BoundedSMul
-variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
+variable {𝕜 : Type _}
-theorem Integrable.smul (c : 𝕜) {f : α → β} (hf : Integrable f μ) : Integrable (c • f) μ :=
+theorem Integrable.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
+ {f : α → β} (hf : Integrable f μ) : Integrable (c • f) μ :=
⟨hf.AEStronglyMeasurable.const_smul c, hf.HasFiniteIntegral.smul c⟩
#align measure_theory.integrable.smul MeasureTheory.Integrable.smul
-theorem integrable_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
- Integrable (c • f) μ ↔ Integrable f μ :=
- and_congr (aestronglyMeasurable_const_smul_iff₀ hc) (hasFiniteIntegral_smul_iff hc f)
+theorem IsUnit.integrable_smul_iff [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
+ (hc : IsUnit c) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
+ and_congr hc.aestronglyMeasurable_const_smul_iff (hasFiniteIntegral_smul_iff hc f)
+#align measure_theory.is_unit.integrable_smul_iff MeasureTheory.IsUnit.integrable_smul_iff
+
+theorem integrable_smul_iff [NormedDivisionRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β] {c : 𝕜}
+ (hc : c ≠ 0) (f : α → β) : Integrable (c • f) μ ↔ Integrable f μ :=
+ (IsUnit.mk0 _ hc).integrable_smul_iff f
#align measure_theory.integrable_smul_iff MeasureTheory.integrable_smul_iff
+variable [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+
theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
(hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ :=
by
@@ -1089,7 +1091,7 @@ theorem Integrable.smul_const {f : α → 𝕜} (hf : Integrable f μ) (c : β)
hf.smul_of_top_left (memℒp_top_const c)
#align measure_theory.integrable.smul_const MeasureTheory.Integrable.smul_const
-end NormedSpace
+end BoundedSMul
section NormedSpaceOverCompleteField
@@ -1115,7 +1117,7 @@ variable {𝕜 : Type _} [NormedRing 𝕜] {f : α → 𝕜}
theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
- ⟨h.AEStronglyMeasurable.const_smul c, h.HasFiniteIntegral.const_mul c⟩
+ h.smul c
#align measure_theory.integrable.const_mul MeasureTheory.Integrable.const_mul
theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
@@ -1125,7 +1127,7 @@ theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
theorem Integrable.mul_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x * c) μ :=
- ⟨h.AEStronglyMeasurable.const_smul (MulOpposite.op c), h.HasFiniteIntegral.mul_const c⟩
+ h.smul (MulOpposite.op c)
#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mul_const
theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
@@ -1135,14 +1137,12 @@ theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
theorem integrable_const_mul_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
Integrable (fun x => c * f x) μ ↔ Integrable f μ :=
- let ⟨u, hc⟩ := hc
- hc ▸ ⟨fun h => by simpa using h.const_mul ↑u⁻¹, fun h => h.const_mul _⟩
+ hc.integrable_smul_iff f
#align measure_theory.integrable_const_mul_iff MeasureTheory.integrable_const_mul_iff
theorem integrable_mul_const_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
Integrable (fun x => f x * c) μ ↔ Integrable f μ :=
- let ⟨u, hc⟩ := hc
- hc ▸ ⟨fun h => by simpa using h.mul_const ↑u⁻¹, fun h => h.mul_const _⟩
+ hc.op.integrable_smul_iff f
#align measure_theory.integrable_mul_const_iff MeasureTheory.integrable_mul_const_iff
theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
@@ -1298,15 +1298,15 @@ theorem Integrable.sub {f g : α →ₘ[μ] β} (hf : Integrable f) (hg : Integr
end
-section NormedSpace
+section BoundedSMul
-variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
+variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
induction_on f fun f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AEEqFun.Integrable.smul
-end NormedSpace
+end BoundedSMul
end
@@ -1465,7 +1465,7 @@ theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.edist_to_L1_zero MeasureTheory.Integrable.edist_toL1_zero
-variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
+variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem toL1_smul (f : α → β) (hf : Integrable f μ) (k : 𝕜) :
toL1 (fun a => k • f a) (hf.smul k) = k • toL1 f hf :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -1252,7 +1252,7 @@ section
is integrable. -/
def Integrable (f : α →ₘ[μ] β) : Prop :=
Integrable f μ
-#align measure_theory.ae_eq_fun.integrable MeasureTheory.AeEqFun.Integrable
+#align measure_theory.ae_eq_fun.integrable MeasureTheory.AEEqFun.Integrable
theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (mk f hf : α →ₘ[μ] β) ↔ MeasureTheory.Integrable f μ :=
@@ -1260,15 +1260,15 @@ theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
simp [integrable]
apply integrable_congr
exact coe_fn_mk f hf
-#align measure_theory.ae_eq_fun.integrable_mk MeasureTheory.AeEqFun.integrable_mk
+#align measure_theory.ae_eq_fun.integrable_mk MeasureTheory.AEEqFun.integrable_mk
theorem integrable_coeFn {f : α →ₘ[μ] β} : MeasureTheory.Integrable f μ ↔ Integrable f := by
rw [← integrable_mk, mk_coe_fn]
-#align measure_theory.ae_eq_fun.integrable_coe_fn MeasureTheory.AeEqFun.integrable_coeFn
+#align measure_theory.ae_eq_fun.integrable_coe_fn MeasureTheory.AEEqFun.integrable_coeFn
theorem integrable_zero : Integrable (0 : α →ₘ[μ] β) :=
(integrable_zero α β μ).congr (coeFn_mk _ _).symm
-#align measure_theory.ae_eq_fun.integrable_zero MeasureTheory.AeEqFun.integrable_zero
+#align measure_theory.ae_eq_fun.integrable_zero MeasureTheory.AEEqFun.integrable_zero
end
@@ -1276,25 +1276,25 @@ section
theorem Integrable.neg {f : α →ₘ[μ] β} : Integrable f → Integrable (-f) :=
induction_on f fun f hfm hfi => (integrable_mk _).2 ((integrable_mk hfm).1 hfi).neg
-#align measure_theory.ae_eq_fun.integrable.neg MeasureTheory.AeEqFun.Integrable.neg
+#align measure_theory.ae_eq_fun.integrable.neg MeasureTheory.AEEqFun.Integrable.neg
section
theorem integrable_iff_mem_L1 {f : α →ₘ[μ] β} : Integrable f ↔ f ∈ (α →₁[μ] β) := by
rw [← integrable_coe_fn, ← mem_ℒp_one_iff_integrable, Lp.mem_Lp_iff_mem_ℒp]
-#align measure_theory.ae_eq_fun.integrable_iff_mem_L1 MeasureTheory.AeEqFun.integrable_iff_mem_L1
+#align measure_theory.ae_eq_fun.integrable_iff_mem_L1 MeasureTheory.AEEqFun.integrable_iff_mem_L1
theorem Integrable.add {f g : α →ₘ[μ] β} : Integrable f → Integrable g → Integrable (f + g) :=
by
refine' induction_on₂ f g fun f hf g hg hfi hgi => _
simp only [integrable_mk, mk_add_mk] at hfi hgi⊢
exact hfi.add hgi
-#align measure_theory.ae_eq_fun.integrable.add MeasureTheory.AeEqFun.Integrable.add
+#align measure_theory.ae_eq_fun.integrable.add MeasureTheory.AEEqFun.Integrable.add
theorem Integrable.sub {f g : α →ₘ[μ] β} (hf : Integrable f) (hg : Integrable g) :
Integrable (f - g) :=
(sub_eq_add_neg f g).symm ▸ hf.add hg.neg
-#align measure_theory.ae_eq_fun.integrable.sub MeasureTheory.AeEqFun.Integrable.sub
+#align measure_theory.ae_eq_fun.integrable.sub MeasureTheory.AEEqFun.Integrable.sub
end
@@ -1304,7 +1304,7 @@ variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
induction_on f fun f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
-#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AeEqFun.Integrable.smul
+#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AEEqFun.Integrable.smul
end NormedSpace
@@ -1403,7 +1403,7 @@ theorem toL1_coeFn (f : α →₁[μ] β) (hf : Integrable f μ) : hf.toL1 f = f
#align measure_theory.integrable.to_L1_coe_fn MeasureTheory.Integrable.toL1_coeFn
theorem coeFn_toL1 {f : α → β} (hf : Integrable f μ) : hf.toL1 f =ᵐ[μ] f :=
- AeEqFun.coeFn_mk _ _
+ AEEqFun.coeFn_mk _ _
#align measure_theory.integrable.coe_fn_to_L1 MeasureTheory.Integrable.coeFn_toL1
@[simp]
@@ -1413,7 +1413,7 @@ theorem toL1_zero (h : Integrable (0 : α → β) μ) : h.toL1 0 = 0 :=
@[simp]
theorem toL1_eq_mk (f : α → β) (hf : Integrable f μ) :
- (hf.toL1 f : α →ₘ[μ] β) = AeEqFun.mk f hf.AEStronglyMeasurable :=
+ (hf.toL1 f : α →ₘ[μ] β) = AEEqFun.mk f hf.AEStronglyMeasurable :=
rfl
#align measure_theory.integrable.to_L1_eq_mk MeasureTheory.Integrable.toL1_eq_mk
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -269,7 +269,7 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
refine' lt_of_le_of_lt (lintegral_mono fun x => _) (lt_top_iff_ne_top.2 hf)
by_cases hfx : f x = ∞
· simp [hfx]
- · lift f x to ℝ≥0 using hfx
+ · lift f x to ℝ≥0 using hfx with fx
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -76,8 +76,8 @@ theorem lintegral_norm_eq_lintegral_edist (f : α → β) :
simp only [ofReal_norm_eq_coe_nnnorm, edist_eq_coe_nnnorm]
#align measure_theory.lintegral_norm_eq_lintegral_edist MeasureTheory.lintegral_norm_eq_lintegral_edist
-theorem lintegral_edist_triangle {f g h : α → β} (hf : AeStronglyMeasurable f μ)
- (hh : AeStronglyMeasurable h μ) :
+theorem lintegral_edist_triangle {f g h : α → β} (hf : AEStronglyMeasurable f μ)
+ (hh : AEStronglyMeasurable h μ) :
(∫⁻ a, edist (f a) (g a) ∂μ) ≤ (∫⁻ a, edist (f a) (h a) ∂μ) + ∫⁻ a, edist (g a) (h a) ∂μ :=
by
rw [← lintegral_add_left' (hf.edist hh)]
@@ -88,12 +88,12 @@ theorem lintegral_edist_triangle {f g h : α → β} (hf : AeStronglyMeasurable
theorem lintegral_nnnorm_zero : (∫⁻ a : α, ‖(0 : β)‖₊ ∂μ) = 0 := by simp
#align measure_theory.lintegral_nnnorm_zero MeasureTheory.lintegral_nnnorm_zero
-theorem lintegral_nnnorm_add_left {f : α → β} (hf : AeStronglyMeasurable f μ) (g : α → γ) :
+theorem lintegral_nnnorm_add_left {f : α → β} (hf : AEStronglyMeasurable f μ) (g : α → γ) :
(∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_left' hf.ennnorm _
#align measure_theory.lintegral_nnnorm_add_left MeasureTheory.lintegral_nnnorm_add_left
-theorem lintegral_nnnorm_add_right (f : α → β) {g : α → γ} (hg : AeStronglyMeasurable g μ) :
+theorem lintegral_nnnorm_add_right (f : α → β) {g : α → γ} (hg : AEStronglyMeasurable g μ) :
(∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_right' _ hg.ennnorm
#align measure_theory.lintegral_nnnorm_add_right MeasureTheory.lintegral_nnnorm_add_right
@@ -324,14 +324,14 @@ theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f :
#align measure_theory.has_finite_integral_of_dominated_convergence MeasureTheory.hasFiniteIntegral_of_dominated_convergence
theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
- (F_measurable : ∀ n, AeStronglyMeasurable (F n) μ)
+ (F_measurable : ∀ n, AEStronglyMeasurable (F n) μ)
(bound_has_finite_integral : HasFiniteIntegral bound μ)
(h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
(h_lim : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop (𝓝 (f a))) :
Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 0) :=
by
- have f_measurable : AeStronglyMeasurable f μ :=
- aeStronglyMeasurable_of_tendsto_ae _ F_measurable h_lim
+ have f_measurable : AEStronglyMeasurable f μ :=
+ aestronglyMeasurable_of_tendsto_ae _ F_measurable h_lim
let b a := 2 * ENNReal.ofReal (bound a)
/- `‖F n a‖ ≤ bound a` and `F n a --> f a` implies `‖f a‖ ≤ bound a`, and thus by the
triangle inequality, have `‖F n a - f a‖ ≤ 2 * (bound a). -/
@@ -458,21 +458,21 @@ end NormedSpace
`integrable f` means `integrable f volume`. -/
def Integrable {α} {m : MeasurableSpace α} (f : α → β)
(μ : Measure α := by exact MeasureTheory.MeasureSpace.volume) : Prop :=
- AeStronglyMeasurable f μ ∧ HasFiniteIntegral f μ
+ AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ
#align measure_theory.integrable MeasureTheory.Integrable
theorem memℒp_one_iff_integrable {f : α → β} : Memℒp f 1 μ ↔ Integrable f μ := by
simp_rw [integrable, has_finite_integral, mem_ℒp, snorm_one_eq_lintegral_nnnorm]
#align measure_theory.mem_ℒp_one_iff_integrable MeasureTheory.memℒp_one_iff_integrable
-theorem Integrable.aeStronglyMeasurable {f : α → β} (hf : Integrable f μ) :
- AeStronglyMeasurable f μ :=
+theorem Integrable.aEStronglyMeasurable {f : α → β} (hf : Integrable f μ) :
+ AEStronglyMeasurable f μ :=
hf.1
-#align measure_theory.integrable.ae_strongly_measurable MeasureTheory.Integrable.aeStronglyMeasurable
+#align measure_theory.integrable.ae_strongly_measurable MeasureTheory.Integrable.aEStronglyMeasurable
theorem Integrable.aEMeasurable [MeasurableSpace β] [BorelSpace β] {f : α → β}
(hf : Integrable f μ) : AEMeasurable f μ :=
- hf.AeStronglyMeasurable.AEMeasurable
+ hf.AEStronglyMeasurable.AEMeasurable
#align measure_theory.integrable.ae_measurable MeasureTheory.Integrable.aEMeasurable
theorem Integrable.hasFiniteIntegral {f : α → β} (hf : Integrable f μ) : HasFiniteIntegral f μ :=
@@ -480,22 +480,22 @@ theorem Integrable.hasFiniteIntegral {f : α → β} (hf : Integrable f μ) : Ha
#align measure_theory.integrable.has_finite_integral MeasureTheory.Integrable.hasFiniteIntegral
theorem Integrable.mono {f : α → β} {g : α → γ} (hg : Integrable g μ)
- (hf : AeStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : Integrable f μ :=
+ (hf : AEStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ ‖g a‖) : Integrable f μ :=
⟨hf, hg.HasFiniteIntegral.mono h⟩
#align measure_theory.integrable.mono MeasureTheory.Integrable.mono
theorem Integrable.mono' {f : α → β} {g : α → ℝ} (hg : Integrable g μ)
- (hf : AeStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ g a) : Integrable f μ :=
+ (hf : AEStronglyMeasurable f μ) (h : ∀ᵐ a ∂μ, ‖f a‖ ≤ g a) : Integrable f μ :=
⟨hf, hg.HasFiniteIntegral.mono' h⟩
#align measure_theory.integrable.mono' MeasureTheory.Integrable.mono'
theorem Integrable.congr' {f : α → β} {g : α → γ} (hf : Integrable f μ)
- (hg : AeStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : Integrable g μ :=
+ (hg : AEStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) : Integrable g μ :=
⟨hg, hf.HasFiniteIntegral.congr' h⟩
#align measure_theory.integrable.congr' MeasureTheory.Integrable.congr'
-theorem integrable_congr' {f : α → β} {g : α → γ} (hf : AeStronglyMeasurable f μ)
- (hg : AeStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) :
+theorem integrable_congr' {f : α → β} {g : α → γ} (hf : AEStronglyMeasurable f μ)
+ (hg : AEStronglyMeasurable g μ) (h : ∀ᵐ a ∂μ, ‖f a‖ = ‖g a‖) :
Integrable f μ ↔ Integrable g μ :=
⟨fun h2f => h2f.congr' hg h, fun h2g => h2g.congr' hf <| EventuallyEq.symm h⟩
#align measure_theory.integrable_congr' MeasureTheory.integrable_congr'
@@ -536,7 +536,7 @@ theorem Memℒp.integrable_norm_rpow' [FiniteMeasure μ] {f : α → β} {p :
#align measure_theory.mem_ℒp.integrable_norm_rpow' MeasureTheory.Memℒp.integrable_norm_rpow'
theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ ≤ ν) : Integrable f μ :=
- ⟨h.AeStronglyMeasurable.mono_measure hμ, h.HasFiniteIntegral.mono_measure hμ⟩
+ ⟨h.AEStronglyMeasurable.mono_measure hμ, h.HasFiniteIntegral.mono_measure hμ⟩
#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.mono_measure
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
@@ -576,7 +576,7 @@ theorem integrable_add_measure {f : α → β} :
@[simp]
theorem integrable_zero_measure {m : MeasurableSpace α} {f : α → β} :
Integrable f (0 : Measure α) :=
- ⟨aeStronglyMeasurable_zero_measure f, hasFiniteIntegral_zero_measure f⟩
+ ⟨aestronglyMeasurable_zero_measure f, hasFiniteIntegral_zero_measure f⟩
#align measure_theory.integrable_zero_measure MeasureTheory.integrable_zero_measure
theorem integrable_finset_sum_measure {ι} {m : MeasurableSpace α} {f : α → β} {μ : ι → Measure α}
@@ -619,7 +619,7 @@ theorem integrable_average [FiniteMeasure μ] {f : α → β} :
#align measure_theory.integrable_average MeasureTheory.integrable_average
theorem integrable_map_measure {f : α → δ} {g : δ → β}
- (hg : AeStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
+ (hg : AEStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
by
simp_rw [← mem_ℒp_one_iff_integrable]
@@ -628,7 +628,7 @@ theorem integrable_map_measure {f : α → δ} {g : δ → β}
theorem Integrable.comp_aEMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : AEMeasurable f μ) : Integrable (g ∘ f) μ :=
- (integrable_map_measure hg.AeStronglyMeasurable hf).mp hg
+ (integrable_map_measure hg.AEStronglyMeasurable hf).mp hg
#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.comp_aEMeasurable
theorem Integrable.comp_measurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
@@ -651,7 +651,7 @@ theorem integrable_map_equiv (f : α ≃ᵐ δ) (g : δ → β) :
#align measure_theory.integrable_map_equiv MeasureTheory.integrable_map_equiv
theorem MeasurePreserving.integrable_comp {ν : Measure δ} {g : δ → β} {f : α → δ}
- (hf : MeasurePreserving f μ ν) (hg : AeStronglyMeasurable g ν) :
+ (hf : MeasurePreserving f μ ν) (hg : AEStronglyMeasurable g ν) :
Integrable (g ∘ f) μ ↔ Integrable g ν :=
by
rw [← hf.map_eq] at hg⊢
@@ -665,7 +665,7 @@ theorem MeasurePreserving.integrable_comp_emb {f : α → δ} {ν} (h₁ : Measu
theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
(∫⁻ a, edist (f a) (g a) ∂μ) < ∞ :=
- lt_of_le_of_lt (lintegral_edist_triangle hf.AeStronglyMeasurable aeStronglyMeasurable_zero)
+ lt_of_le_of_lt (lintegral_edist_triangle hf.AEStronglyMeasurable aestronglyMeasurable_zero)
(ENNReal.add_lt_top.2 <|
by
simp_rw [Pi.zero_apply, ← has_finite_integral_iff_edist]
@@ -686,14 +686,14 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
calc
(∫⁻ a, ‖f a + g a‖₊ ∂μ) ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
lintegral_mono fun a => by exact_mod_cast nnnorm_add_le _ _
- _ = _ := (lintegral_nnnorm_add_left hf.AeStronglyMeasurable _)
+ _ = _ := (lintegral_nnnorm_add_left hf.AEStronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.HasFiniteIntegral, hg.HasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
theorem Integrable.add {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (f + g) μ :=
- ⟨hf.AeStronglyMeasurable.add hg.AeStronglyMeasurable, hf.add' hg⟩
+ ⟨hf.AEStronglyMeasurable.add hg.AEStronglyMeasurable, hf.add' hg⟩
#align measure_theory.integrable.add MeasureTheory.Integrable.add
theorem integrable_finset_sum' {ι} (s : Finset ι) {f : ι → α → β}
@@ -708,7 +708,7 @@ theorem integrable_finset_sum {ι} (s : Finset ι) {f : ι → α → β}
#align measure_theory.integrable_finset_sum MeasureTheory.integrable_finset_sum
theorem Integrable.neg {f : α → β} (hf : Integrable f μ) : Integrable (-f) μ :=
- ⟨hf.AeStronglyMeasurable.neg, hf.HasFiniteIntegral.neg⟩
+ ⟨hf.AEStronglyMeasurable.neg, hf.HasFiniteIntegral.neg⟩
#align measure_theory.integrable.neg MeasureTheory.Integrable.neg
@[simp]
@@ -721,7 +721,7 @@ theorem Integrable.sub {f g : α → β} (hf : Integrable f μ) (hg : Integrable
#align measure_theory.integrable.sub MeasureTheory.Integrable.sub
theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun a => ‖f a‖) μ :=
- ⟨hf.AeStronglyMeasurable.norm, hf.HasFiniteIntegral.norm⟩
+ ⟨hf.AEStronglyMeasurable.norm, hf.HasFiniteIntegral.norm⟩
#align measure_theory.integrable.norm MeasureTheory.Integrable.norm
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
@@ -746,7 +746,7 @@ theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf :
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
- (hm : AeStronglyMeasurable f μ) (hfbdd : ∃ C, ∀ x, ‖f x‖ ≤ C) :
+ (hm : AEStronglyMeasurable f μ) (hfbdd : ∃ C, ∀ x, ‖f x‖ ≤ C) :
Integrable (fun x => f x * g x) μ :=
by
cases' isEmpty_or_nonempty α with hα hα
@@ -769,7 +769,7 @@ theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F}
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
- (hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
+ (hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => g x • f x) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at *
@@ -786,7 +786,7 @@ theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
theorem Integrable.smul_essSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → 𝕜}
- (hf : Integrable f μ) {g : α → β} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
+ (hf : Integrable f μ) {g : α → β} (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => f x • g x) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at *
@@ -800,12 +800,12 @@ theorem Integrable.smul_essSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
-theorem integrable_norm_iff {f : α → β} (hf : AeStronglyMeasurable f μ) :
+theorem integrable_norm_iff {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (fun a => ‖f a‖) μ ↔ Integrable f μ := by
simp_rw [integrable, and_iff_right hf, and_iff_right hf.norm, has_finite_integral_norm_iff]
#align measure_theory.integrable_norm_iff MeasureTheory.integrable_norm_iff
-theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m : AeStronglyMeasurable f₁ μ)
+theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m : AEStronglyMeasurable f₁ μ)
(hf₀_i : Integrable f₀ μ) (hg_i : Integrable g μ) (h : ∀ᵐ a ∂μ, ‖f₀ a - f₁ a‖ ≤ g a) :
Integrable f₁ μ :=
haveI : ∀ᵐ a ∂μ, ‖f₁ a‖ ≤ ‖f₀ a‖ + g a := by
@@ -820,7 +820,7 @@ theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf
theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (fun x => (f x, g x)) μ :=
- ⟨hf.AeStronglyMeasurable.prod_mk hg.AeStronglyMeasurable,
+ ⟨hf.AEStronglyMeasurable.prod_mk hg.AEStronglyMeasurable,
(hf.norm.add' hg.norm).mono <|
eventually_of_forall fun x =>
calc
@@ -861,7 +861,7 @@ theorem Integrable.real_toNNReal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => ((f x).toNNReal : ℝ)) μ :=
by
refine'
- ⟨hf.ae_strongly_measurable.ae_measurable.real_toNNReal.coeNNRealReal.AeStronglyMeasurable, _⟩
+ ⟨hf.ae_strongly_measurable.ae_measurable.real_toNNReal.coeNNRealReal.AEStronglyMeasurable, _⟩
rw [has_finite_integral_iff_norm]
refine' lt_of_le_of_lt _ ((has_finite_integral_iff_norm _).1 hf.has_finite_integral)
apply lintegral_mono
@@ -894,7 +894,7 @@ theorem integrable_withDensity_iff_integrable_coe_smul {f : α → ℝ≥0} (hf
Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
by
by_cases H : ae_strongly_measurable (fun x : α => (f x : ℝ) • g x) μ
- · simp only [integrable, aeStronglyMeasurable_withDensity_iff hf, has_finite_integral, H,
+ · simp only [integrable, aestronglyMeasurable_withDensity_iff hf, has_finite_integral, H,
true_and_iff]
rw [lintegral_with_density_eq_lintegral_mul₀' hf.coe_nnreal_ennreal.ae_measurable]
· congr
@@ -904,7 +904,7 @@ theorem integrable_withDensity_iff_integrable_coe_smul {f : α → ℝ≥0} (hf
convert H.ennnorm
ext1 x
simp only [nnnorm_smul, NNReal.nnnorm_eq, coe_mul]
- · simp only [integrable, aeStronglyMeasurable_withDensity_iff hf, H, false_and_iff]
+ · simp only [integrable, aestronglyMeasurable_withDensity_iff hf, H, false_and_iff]
#align measure_theory.integrable_with_density_iff_integrable_coe_smul MeasureTheory.integrable_withDensity_iff_integrable_coe_smul
theorem integrable_withDensity_iff_integrable_smul {f : α → ℝ≥0} (hf : Measurable f) {g : α → E} :
@@ -1030,7 +1030,7 @@ theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMea
by
rw [mem_ℒp, snorm_one_eq_lintegral_nnnorm]
exact
- ⟨(AEMeasurable.ennreal_toReal hfm).AeStronglyMeasurable,
+ ⟨(AEMeasurable.ennreal_toReal hfm).AEStronglyMeasurable,
has_finite_integral_to_real_of_lintegral_ne_top hfi⟩
#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top
@@ -1046,7 +1046,7 @@ section PosPart
theorem Integrable.pos_part {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun a => max (f a) 0) μ :=
- ⟨(hf.AeStronglyMeasurable.AEMeasurable.max aemeasurable_const).AeStronglyMeasurable,
+ ⟨(hf.AEStronglyMeasurable.AEMeasurable.max aemeasurable_const).AEStronglyMeasurable,
hf.HasFiniteIntegral.max_zero⟩
#align measure_theory.integrable.pos_part MeasureTheory.Integrable.pos_part
@@ -1062,12 +1062,12 @@ section NormedSpace
variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
theorem Integrable.smul (c : 𝕜) {f : α → β} (hf : Integrable f μ) : Integrable (c • f) μ :=
- ⟨hf.AeStronglyMeasurable.const_smul c, hf.HasFiniteIntegral.smul c⟩
+ ⟨hf.AEStronglyMeasurable.const_smul c, hf.HasFiniteIntegral.smul c⟩
#align measure_theory.integrable.smul MeasureTheory.Integrable.smul
theorem integrable_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
Integrable (c • f) μ ↔ Integrable f μ :=
- and_congr (aeStronglyMeasurable_const_smul_iff₀ hc) (hasFiniteIntegral_smul_iff hc f)
+ and_congr (aestronglyMeasurable_const_smul_iff₀ hc) (hasFiniteIntegral_smul_iff hc f)
#align measure_theory.integrable_smul_iff MeasureTheory.integrable_smul_iff
theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
@@ -1100,7 +1100,7 @@ variable {E : Type _} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
Integrable (fun x => f x • c) μ ↔ Integrable f μ :=
by
- simp_rw [integrable, aeStronglyMeasurable_smul_const_iff hc, and_congr_right_iff,
+ simp_rw [integrable, aestronglyMeasurable_smul_const_iff hc, and_congr_right_iff,
has_finite_integral, nnnorm_smul, ENNReal.coe_mul]
intro hf; rw [lintegral_mul_const' _ _ ENNReal.coe_ne_top, ENNReal.mul_lt_top_iff]
have : ∀ x : ℝ≥0∞, x = 0 → x < ∞ := by simp
@@ -1115,7 +1115,7 @@ variable {𝕜 : Type _} [NormedRing 𝕜] {f : α → 𝕜}
theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
- ⟨h.AeStronglyMeasurable.const_smul c, h.HasFiniteIntegral.const_mul c⟩
+ ⟨h.AEStronglyMeasurable.const_smul c, h.HasFiniteIntegral.const_mul c⟩
#align measure_theory.integrable.const_mul MeasureTheory.Integrable.const_mul
theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
@@ -1125,7 +1125,7 @@ theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
theorem Integrable.mul_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x * c) μ :=
- ⟨h.AeStronglyMeasurable.const_smul (MulOpposite.op c), h.HasFiniteIntegral.mul_const c⟩
+ ⟨h.AEStronglyMeasurable.const_smul (MulOpposite.op c), h.HasFiniteIntegral.mul_const c⟩
#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mul_const
theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
@@ -1146,7 +1146,7 @@ theorem integrable_mul_const_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
#align measure_theory.integrable_mul_const_iff MeasureTheory.integrable_mul_const_iff
theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
- (hf : AeStronglyMeasurable f μ) (hf_bound : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
+ (hf : AEStronglyMeasurable f μ) (hf_bound : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
Integrable (fun x => f x * g x) μ :=
by
refine' integrable.mono' (hg.norm.smul c) (hf.mul hg.1) _
@@ -1215,7 +1215,7 @@ theorem Integrable.trim (hm : m ≤ m0) (hf_int : Integrable f μ') (hf : strong
theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ'.trim hm)) :
Integrable f μ' := by
obtain ⟨hf_meas_ae, hf⟩ := hf_int
- refine' ⟨aeStronglyMeasurable_of_aeStronglyMeasurable_trim hm hf_meas_ae, _⟩
+ refine' ⟨aestronglyMeasurable_of_aestronglyMeasurable_trim hm hf_meas_ae, _⟩
rw [has_finite_integral] at hf⊢
rwa [lintegral_trim_ae hm _] at hf
exact ae_strongly_measurable.ennnorm hf_meas_ae
@@ -1228,13 +1228,13 @@ section SigmaFinite
variable {E : Type _} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
theorem integrable_of_forall_fin_meas_le' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
- (C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AeStronglyMeasurable f μ)
+ (C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AEStronglyMeasurable f μ)
(hf : ∀ s, measurable_set[m] s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
⟨hf_meas, (lintegral_le_of_forall_fin_meas_le' hm C hf_meas.ennnorm hf).trans_lt hC⟩
#align measure_theory.integrable_of_forall_fin_meas_le' MeasureTheory.integrable_of_forall_fin_meas_le'
theorem integrable_of_forall_fin_meas_le [SigmaFinite μ] (C : ℝ≥0∞) (hC : C < ∞) {f : α → E}
- (hf_meas : AeStronglyMeasurable f μ)
+ (hf_meas : AEStronglyMeasurable f μ)
(hf : ∀ s : Set α, MeasurableSet s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
@integrable_of_forall_fin_meas_le' _ _ _ _ _ _ _ (by rwa [trim_eq_self]) C hC _ hf_meas hf
#align measure_theory.integrable_of_forall_fin_meas_le MeasureTheory.integrable_of_forall_fin_meas_le
@@ -1254,7 +1254,7 @@ def Integrable (f : α →ₘ[μ] β) : Prop :=
Integrable f μ
#align measure_theory.ae_eq_fun.integrable MeasureTheory.AeEqFun.Integrable
-theorem integrable_mk {f : α → β} (hf : AeStronglyMeasurable f μ) :
+theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (mk f hf : α →ₘ[μ] β) ↔ MeasureTheory.Integrable f μ :=
by
simp [integrable]
@@ -1332,9 +1332,9 @@ theorem measurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ]
(lp.stronglyMeasurable f).Measurable
#align measure_theory.L1.measurable_coe_fn MeasureTheory.L1.measurable_coeFn
-theorem aeStronglyMeasurable_coeFn (f : α →₁[μ] β) : AeStronglyMeasurable f μ :=
- lp.aeStronglyMeasurable f
-#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aeStronglyMeasurable_coeFn
+theorem aEStronglyMeasurable_coeFn (f : α →₁[μ] β) : AEStronglyMeasurable f μ :=
+ lp.aEStronglyMeasurable f
+#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aEStronglyMeasurable_coeFn
theorem aEMeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AEMeasurable f μ :=
(lp.stronglyMeasurable f).Measurable.AEMeasurable
@@ -1413,7 +1413,7 @@ theorem toL1_zero (h : Integrable (0 : α → β) μ) : h.toL1 0 = 0 :=
@[simp]
theorem toL1_eq_mk (f : α → β) (hf : Integrable f μ) :
- (hf.toL1 f : α →ₘ[μ] β) = AeEqFun.mk f hf.AeStronglyMeasurable :=
+ (hf.toL1 f : α →ₘ[μ] β) = AeEqFun.mk f hf.AEStronglyMeasurable :=
rfl
#align measure_theory.integrable.to_L1_eq_mk MeasureTheory.Integrable.toL1_eq_mk
@@ -1488,14 +1488,14 @@ variable {E : Type _} [NormedAddCommGroup E] {𝕜 : Type _} [NontriviallyNormed
theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
- (φ_int.norm.mul_const ‖v‖).mono' (φ_int.AeStronglyMeasurable.apply_continuousLinearMap v)
+ (φ_int.norm.mul_const ‖v‖).mono' (φ_int.AEStronglyMeasurable.apply_continuousLinearMap v)
(eventually_of_forall fun a => (φ a).le_opNorm v)
#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.apply_continuousLinearMap
theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
- (L.Continuous.comp_aeStronglyMeasurable φ_int.AeStronglyMeasurable)
+ (L.Continuous.comp_aestronglyMeasurable φ_int.AEStronglyMeasurable)
(eventually_of_forall fun a => L.le_opNorm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -269,7 +269,7 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
refine' lt_of_le_of_lt (lintegral_mono fun x => _) (lt_top_iff_ne_top.2 hf)
by_cases hfx : f x = ∞
· simp [hfx]
- · lift f x to ℝ≥0 using hfx with fx
+ · lift f x to ℝ≥0 using hfx
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -1030,7 +1030,7 @@ theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMea
by
rw [mem_ℒp, snorm_one_eq_lintegral_nnnorm]
exact
- ⟨(AEMeasurable.eNNReal_toReal hfm).AeStronglyMeasurable,
+ ⟨(AEMeasurable.ennreal_toReal hfm).AeStronglyMeasurable,
has_finite_integral_to_real_of_lintegral_ne_top hfi⟩
#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 24e0c85412ff6adbeca08022c25ba4876eedf37a
+! leanprover-community/mathlib commit 9b33e5f30c5f161e1d1b16b6b9b922bf49943377
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -403,23 +403,32 @@ end PosPart
section NormedSpace
-variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
+variable {𝕜 : Type _}
-theorem HasFiniteIntegral.smul (c : 𝕜) {f : α → β} :
+theorem HasFiniteIntegral.smul' [SMul 𝕜 β] [NNNorm 𝕜] (c : 𝕜) {f : α → β}
+ (h : ∀ (k : 𝕜) (b : β), ‖k • b‖₊ ≤ ‖k‖₊ * ‖b‖₊) :
HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
by
simp only [has_finite_integral]; intro hfi
calc
- (∫⁻ a : α, ‖c • f a‖₊ ∂μ) = ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ := by
- simp only [nnnorm_smul, ENNReal.coe_mul]
+ (∫⁻ a : α, ‖c • f a‖₊ ∂μ) ≤ ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ :=
+ by
+ refine' lintegral_mono _
+ intro i
+ exact_mod_cast h c (f i)
_ < ∞ := by
rw [lintegral_const_mul']
exacts[mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
+#align measure_theory.has_finite_integral.smul' MeasureTheory.HasFiniteIntegral.smul'
+
+theorem HasFiniteIntegral.smul [NormedField 𝕜] [NormedSpace 𝕜 β] (c : 𝕜) {f : α → β} :
+ HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ :=
+ HasFiniteIntegral.smul' _ fun a b => nnnorm_smul_le a b
#align measure_theory.has_finite_integral.smul MeasureTheory.HasFiniteIntegral.smul
-theorem hasFiniteIntegral_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
- HasFiniteIntegral (c • f) μ ↔ HasFiniteIntegral f μ :=
+theorem hasFiniteIntegral_smul_iff [NormedField 𝕜] [NormedSpace 𝕜 β] {c : 𝕜} (hc : c ≠ 0)
+ (f : α → β) : HasFiniteIntegral (c • f) μ ↔ HasFiniteIntegral f μ :=
by
constructor
· intro h
@@ -427,13 +436,16 @@ theorem hasFiniteIntegral_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
exact has_finite_integral.smul _
#align measure_theory.has_finite_integral_smul_iff MeasureTheory.hasFiniteIntegral_smul_iff
-theorem HasFiniteIntegral.const_mul {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
+theorem HasFiniteIntegral.const_mul [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
HasFiniteIntegral (fun x => c * f x) μ :=
- (HasFiniteIntegral.smul c h : _)
+ (HasFiniteIntegral.smul' c nnnorm_mul_le h : _)
#align measure_theory.has_finite_integral.const_mul MeasureTheory.HasFiniteIntegral.const_mul
-theorem HasFiniteIntegral.mul_const {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
- HasFiniteIntegral (fun x => f x * c) μ := by simp_rw [mul_comm, h.const_mul _]
+theorem HasFiniteIntegral.mul_const [NormedRing 𝕜] {f : α → 𝕜} (h : HasFiniteIntegral f μ) (c : 𝕜) :
+ HasFiniteIntegral (fun x => f x * c) μ :=
+ (HasFiniteIntegral.smul' (MulOpposite.op c)
+ (fun a b => (nnnorm_mul_le b a.unop).trans_eq <| mul_comm _ _) h :
+ _)
#align measure_theory.has_finite_integral.mul_const MeasureTheory.HasFiniteIntegral.mul_const
end NormedSpace
@@ -1097,22 +1109,23 @@ theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
end NormedSpaceOverCompleteField
-section IsROrC
+section NormedRing
-variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type _} [NormedRing 𝕜] {f : α → 𝕜}
theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
- Integrable.smul c h
+ ⟨h.AeStronglyMeasurable.const_smul c, h.HasFiniteIntegral.const_mul c⟩
#align measure_theory.integrable.const_mul MeasureTheory.Integrable.const_mul
theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable ((fun x : α => c) * f) μ :=
- Integrable.smul c h
+ Integrable.const_mul h c
#align measure_theory.integrable.const_mul' MeasureTheory.Integrable.const_mul'
theorem Integrable.mul_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
- Integrable (fun x => f x * c) μ := by simp_rw [mul_comm, h.const_mul _]
+ Integrable (fun x => f x * c) μ :=
+ ⟨h.AeStronglyMeasurable.const_smul (MulOpposite.op c), h.HasFiniteIntegral.mul_const c⟩
#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mul_const
theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
@@ -1120,9 +1133,17 @@ theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
Integrable.mul_const h c
#align measure_theory.integrable.mul_const' MeasureTheory.Integrable.mul_const'
-theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
- Integrable (fun x => f x / c) μ := by simp_rw [div_eq_mul_inv, h.mul_const]
-#align measure_theory.integrable.div_const MeasureTheory.Integrable.div_const
+theorem integrable_const_mul_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
+ Integrable (fun x => c * f x) μ ↔ Integrable f μ :=
+ let ⟨u, hc⟩ := hc
+ hc ▸ ⟨fun h => by simpa using h.const_mul ↑u⁻¹, fun h => h.const_mul _⟩
+#align measure_theory.integrable_const_mul_iff MeasureTheory.integrable_const_mul_iff
+
+theorem integrable_mul_const_iff {c : 𝕜} (hc : IsUnit c) (f : α → 𝕜) :
+ Integrable (fun x => f x * c) μ ↔ Integrable f μ :=
+ let ⟨u, hc⟩ := hc
+ hc ▸ ⟨fun h => by simpa using h.mul_const ↑u⁻¹, fun h => h.mul_const _⟩
+#align measure_theory.integrable_mul_const_iff MeasureTheory.integrable_mul_const_iff
theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
(hf : AeStronglyMeasurable f μ) (hf_bound : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
@@ -1134,6 +1155,22 @@ theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
exact (norm_mul_le _ _).trans (mul_le_mul_of_nonneg_right hx (norm_nonneg _))
#align measure_theory.integrable.bdd_mul' MeasureTheory.Integrable.bdd_mul'
+end NormedRing
+
+section NormedDivisionRing
+
+variable {𝕜 : Type _} [NormedDivisionRing 𝕜] {f : α → 𝕜}
+
+theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+ Integrable (fun x => f x / c) μ := by simp_rw [div_eq_mul_inv, h.mul_const]
+#align measure_theory.integrable.div_const MeasureTheory.Integrable.div_const
+
+end NormedDivisionRing
+
+section IsROrC
+
+variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+
theorem Integrable.of_real {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
+! leanprover-community/mathlib commit 24e0c85412ff6adbeca08022c25ba4876eedf37a
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -1162,29 +1162,6 @@ theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f
end IsROrC
-section InnerProduct
-
-variable {𝕜 E : Type _}
-
-variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] {f : α → E}
-
--- mathport name: «expr⟪ , ⟫»
-local notation "⟪" x ", " y "⟫" => @inner 𝕜 E _ x y
-
-theorem Integrable.const_inner (c : E) (hf : Integrable f μ) : Integrable (fun x => ⟪c, f x⟫) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.const_inner c
-#align measure_theory.integrable.const_inner MeasureTheory.Integrable.const_inner
-
-theorem Integrable.inner_const (hf : Integrable f μ) (c : E) : Integrable (fun x => ⟪f x, c⟫) μ :=
- by
- rw [← mem_ℒp_one_iff_integrable] at hf⊢
- exact hf.inner_const c
-#align measure_theory.integrable.inner_const MeasureTheory.Integrable.inner_const
-
-end InnerProduct
-
section Trim
variable {H : Type _} [NormedAddCommGroup H] {m0 : MeasurableSpace α} {μ' : Measure α} {f : α → H}
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -174,12 +174,11 @@ theorem hasFiniteIntegral_const_iff {c : β} :
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
-theorem hasFiniteIntegral_const [IsFiniteMeasure μ] (c : β) :
- HasFiniteIntegral (fun x : α => c) μ :=
+theorem hasFiniteIntegral_const [FiniteMeasure μ] (c : β) : HasFiniteIntegral (fun x : α => c) μ :=
hasFiniteIntegral_const_iff.2 (Or.inr <| measure_lt_top _ _)
#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegral_const
-theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
+theorem hasFiniteIntegral_of_bounded [FiniteMeasure μ] {f : α → β} {C : ℝ}
(hC : ∀ᵐ a ∂μ, ‖f a‖ ≤ C) : HasFiniteIntegral f μ :=
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
@@ -274,12 +273,12 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
simp [← h]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
-theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
- IsFiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
+theorem finiteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
+ FiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
by
refine' is_finite_measure_with_density ((lintegral_mono fun x => _).trans_lt hfi).Ne
exact Real.ofReal_le_ennnorm (f x)
-#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.isFiniteMeasure_withDensity_ofReal
+#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.finiteMeasure_withDensity_ofReal
section DominatedConvergence
@@ -503,7 +502,7 @@ theorem integrable_const_iff {c : β} : Integrable (fun x : α => c) μ ↔ c =
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
-theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
+theorem integrable_const [FiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
@@ -514,7 +513,7 @@ theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Mem
exact hf.norm_rpow hp_ne_zero hp_ne_top
#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrable_norm_rpow
-theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
+theorem Memℒp.integrable_norm_rpow' [FiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
by_cases h_zero : p = 0
@@ -600,7 +599,7 @@ theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable
simpa
#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
-theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
+theorem integrable_average [FiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
(eq_or_ne μ 0).byCases (fun h => by simp [h]) fun h =>
integrable_smul_measure (ENNReal.inv_ne_zero.2 <| measure_ne_top _ _)
@@ -818,7 +817,7 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
-theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
+theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [FiniteMeasure μ]
(hfq : Memℒp f q μ) : Integrable f μ :=
memℒp_one_iff_integrable.mp (hfq.memℒp_of_exponent_le hq1)
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -174,62 +174,63 @@ theorem hasFiniteIntegral_const_iff {c : β} :
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
-theorem hasFiniteIntegralConst [IsFiniteMeasure μ] (c : β) : HasFiniteIntegral (fun x : α => c) μ :=
+theorem hasFiniteIntegral_const [IsFiniteMeasure μ] (c : β) :
+ HasFiniteIntegral (fun x : α => c) μ :=
hasFiniteIntegral_const_iff.2 (Or.inr <| measure_lt_top _ _)
-#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegralConst
+#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegral_const
-theorem hasFiniteIntegralOfBounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
+theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
(hC : ∀ᵐ a ∂μ, ‖f a‖ ≤ C) : HasFiniteIntegral f μ :=
- (hasFiniteIntegralConst C).mono' hC
-#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegralOfBounded
+ (hasFiniteIntegral_const C).mono' hC
+#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
-theorem HasFiniteIntegral.monoMeasure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
+theorem HasFiniteIntegral.mono_measure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
HasFiniteIntegral f μ :=
lt_of_le_of_lt (lintegral_mono' hμ le_rfl) h
-#align measure_theory.has_finite_integral.mono_measure MeasureTheory.HasFiniteIntegral.monoMeasure
+#align measure_theory.has_finite_integral.mono_measure MeasureTheory.HasFiniteIntegral.mono_measure
-theorem HasFiniteIntegral.addMeasure {f : α → β} (hμ : HasFiniteIntegral f μ)
+theorem HasFiniteIntegral.add_measure {f : α → β} (hμ : HasFiniteIntegral f μ)
(hν : HasFiniteIntegral f ν) : HasFiniteIntegral f (μ + ν) :=
by
simp only [has_finite_integral, lintegral_add_measure] at *
exact add_lt_top.2 ⟨hμ, hν⟩
-#align measure_theory.has_finite_integral.add_measure MeasureTheory.HasFiniteIntegral.addMeasure
+#align measure_theory.has_finite_integral.add_measure MeasureTheory.HasFiniteIntegral.add_measure
-theorem HasFiniteIntegral.leftOfAddMeasure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
+theorem HasFiniteIntegral.left_of_add_measure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
HasFiniteIntegral f μ :=
- h.monoMeasure <| Measure.le_add_right <| le_rfl
-#align measure_theory.has_finite_integral.left_of_add_measure MeasureTheory.HasFiniteIntegral.leftOfAddMeasure
+ h.mono_measure <| Measure.le_add_right <| le_rfl
+#align measure_theory.has_finite_integral.left_of_add_measure MeasureTheory.HasFiniteIntegral.left_of_add_measure
-theorem HasFiniteIntegral.rightOfAddMeasure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
+theorem HasFiniteIntegral.right_of_add_measure {f : α → β} (h : HasFiniteIntegral f (μ + ν)) :
HasFiniteIntegral f ν :=
- h.monoMeasure <| Measure.le_add_left <| le_rfl
-#align measure_theory.has_finite_integral.right_of_add_measure MeasureTheory.HasFiniteIntegral.rightOfAddMeasure
+ h.mono_measure <| Measure.le_add_left <| le_rfl
+#align measure_theory.has_finite_integral.right_of_add_measure MeasureTheory.HasFiniteIntegral.right_of_add_measure
@[simp]
theorem hasFiniteIntegral_add_measure {f : α → β} :
HasFiniteIntegral f (μ + ν) ↔ HasFiniteIntegral f μ ∧ HasFiniteIntegral f ν :=
- ⟨fun h => ⟨h.leftOfAddMeasure, h.rightOfAddMeasure⟩, fun h => h.1.addMeasure h.2⟩
+ ⟨fun h => ⟨h.left_of_add_measure, h.right_of_add_measure⟩, fun h => h.1.add_measure h.2⟩
#align measure_theory.has_finite_integral_add_measure MeasureTheory.hasFiniteIntegral_add_measure
-theorem HasFiniteIntegral.smulMeasure {f : α → β} (h : HasFiniteIntegral f μ) {c : ℝ≥0∞}
+theorem HasFiniteIntegral.smul_measure {f : α → β} (h : HasFiniteIntegral f μ) {c : ℝ≥0∞}
(hc : c ≠ ∞) : HasFiniteIntegral f (c • μ) :=
by
simp only [has_finite_integral, lintegral_smul_measure] at *
exact mul_lt_top hc h.ne
-#align measure_theory.has_finite_integral.smul_measure MeasureTheory.HasFiniteIntegral.smulMeasure
+#align measure_theory.has_finite_integral.smul_measure MeasureTheory.HasFiniteIntegral.smul_measure
@[simp]
-theorem hasFiniteIntegralZeroMeasure {m : MeasurableSpace α} (f : α → β) :
+theorem hasFiniteIntegral_zero_measure {m : MeasurableSpace α} (f : α → β) :
HasFiniteIntegral f (0 : Measure α) := by
simp only [has_finite_integral, lintegral_zero_measure, WithTop.zero_lt_top]
-#align measure_theory.has_finite_integral_zero_measure MeasureTheory.hasFiniteIntegralZeroMeasure
+#align measure_theory.has_finite_integral_zero_measure MeasureTheory.hasFiniteIntegral_zero_measure
variable (α β μ)
@[simp]
-theorem hasFiniteIntegralZero : HasFiniteIntegral (fun a : α => (0 : β)) μ := by
+theorem hasFiniteIntegral_zero : HasFiniteIntegral (fun a : α => (0 : β)) μ := by
simp [has_finite_integral]
-#align measure_theory.has_finite_integral_zero MeasureTheory.hasFiniteIntegralZero
+#align measure_theory.has_finite_integral_zero MeasureTheory.hasFiniteIntegral_zero
variable {α β μ}
@@ -257,7 +258,7 @@ theorem hasFiniteIntegral_norm_iff (f : α → β) :
hasFiniteIntegral_congr' <| eventually_of_forall fun x => norm_norm (f x)
#align measure_theory.has_finite_integral_norm_iff MeasureTheory.hasFiniteIntegral_norm_iff
-theorem hasFiniteIntegralToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hf : (∫⁻ x, f x ∂μ) ≠ ∞) :
+theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf : (∫⁻ x, f x ∂μ) ≠ ∞) :
HasFiniteIntegral (fun x => (f x).toReal) μ :=
by
have :
@@ -271,14 +272,14 @@ theorem hasFiniteIntegralToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hf : (
· simp [hfx]
· lift f x to ℝ≥0 using hfx with fx
simp [← h]
-#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegralToRealOfLintegralNeTop
+#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
-theorem isFiniteMeasureWithDensityOfReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
+theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
IsFiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
by
refine' is_finite_measure_with_density ((lintegral_mono fun x => _).trans_lt hfi).Ne
exact Real.ofReal_le_ennnorm (f x)
-#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.isFiniteMeasureWithDensityOfReal
+#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.isFiniteMeasure_withDensity_ofReal
section DominatedConvergence
@@ -305,7 +306,7 @@ theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖
exact le_of_tendsto' tendsto_norm F_le_bound
#align measure_theory.all_ae_of_real_f_le_bound MeasureTheory.all_ae_ofReal_f_le_bound
-theorem hasFiniteIntegralOfDominatedConvergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
+theorem hasFiniteIntegral_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
(bound_has_finite_integral : HasFiniteIntegral bound μ)
(h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
(h_lim : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop (𝓝 (f a))) : HasFiniteIntegral f μ :=
@@ -321,7 +322,7 @@ theorem hasFiniteIntegralOfDominatedConvergence {F : ℕ → α → β} {f : α
· exact bound_has_finite_integral
exact (h_bound 0).mono fun a h => le_trans (norm_nonneg _) h
-#align measure_theory.has_finite_integral_of_dominated_convergence MeasureTheory.hasFiniteIntegralOfDominatedConvergence
+#align measure_theory.has_finite_integral_of_dominated_convergence MeasureTheory.hasFiniteIntegral_of_dominated_convergence
theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
(F_measurable : ∀ n, AeStronglyMeasurable (F n) μ)
@@ -331,7 +332,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 0) :=
by
have f_measurable : AeStronglyMeasurable f μ :=
- aeStronglyMeasurableOfTendstoAe _ F_measurable h_lim
+ aeStronglyMeasurable_of_tendsto_ae _ F_measurable h_lim
let b a := 2 * ENNReal.ofReal (bound a)
/- `‖F n a‖ ≤ bound a` and `F n a --> f a` implies `‖f a‖ ≤ bound a`, and thus by the
triangle inequality, have `‖F n a - f a‖ ≤ 2 * (bound a). -/
@@ -364,7 +365,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
-- Show `λa, ‖f a - F n a‖` is almost everywhere measurable for all `n`
·
exact fun n =>
- measurable_of_real.comp_ae_measurable ((F_measurable n).sub f_measurable).norm.AeMeasurable
+ measurable_of_real.comp_ae_measurable ((F_measurable n).sub f_measurable).norm.AEMeasurable
-- Show `2 * bound` is has_finite_integral
· rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
@@ -387,17 +388,17 @@ section PosPart
/-! Lemmas used for defining the positive part of a `L¹` function -/
-theorem HasFiniteIntegral.maxZero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
+theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => max (f a) 0) μ :=
hf.mono <| eventually_of_forall fun x => by simp [abs_le, le_abs_self]
-#align measure_theory.has_finite_integral.max_zero MeasureTheory.HasFiniteIntegral.maxZero
+#align measure_theory.has_finite_integral.max_zero MeasureTheory.HasFiniteIntegral.max_zero
-theorem HasFiniteIntegral.minZero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
+theorem HasFiniteIntegral.min_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => min (f a) 0) μ :=
hf.mono <|
eventually_of_forall fun x => by
simp [abs_le, neg_le, neg_le_abs_self, abs_eq_max_neg, le_total]
-#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.minZero
+#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.min_zero
end PosPart
@@ -427,14 +428,14 @@ theorem hasFiniteIntegral_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
exact has_finite_integral.smul _
#align measure_theory.has_finite_integral_smul_iff MeasureTheory.hasFiniteIntegral_smul_iff
-theorem HasFiniteIntegral.constMul {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
+theorem HasFiniteIntegral.const_mul {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
HasFiniteIntegral (fun x => c * f x) μ :=
(HasFiniteIntegral.smul c h : _)
-#align measure_theory.has_finite_integral.const_mul MeasureTheory.HasFiniteIntegral.constMul
+#align measure_theory.has_finite_integral.const_mul MeasureTheory.HasFiniteIntegral.const_mul
-theorem HasFiniteIntegral.mulConst {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
+theorem HasFiniteIntegral.mul_const {f : α → ℝ} (h : HasFiniteIntegral f μ) (c : ℝ) :
HasFiniteIntegral (fun x => f x * c) μ := by simp_rw [mul_comm, h.const_mul _]
-#align measure_theory.has_finite_integral.mul_const MeasureTheory.HasFiniteIntegral.mulConst
+#align measure_theory.has_finite_integral.mul_const MeasureTheory.HasFiniteIntegral.mul_const
end NormedSpace
@@ -458,10 +459,10 @@ theorem Integrable.aeStronglyMeasurable {f : α → β} (hf : Integrable f μ) :
hf.1
#align measure_theory.integrable.ae_strongly_measurable MeasureTheory.Integrable.aeStronglyMeasurable
-theorem Integrable.aeMeasurable [MeasurableSpace β] [BorelSpace β] {f : α → β}
- (hf : Integrable f μ) : AeMeasurable f μ :=
- hf.AeStronglyMeasurable.AeMeasurable
-#align measure_theory.integrable.ae_measurable MeasureTheory.Integrable.aeMeasurable
+theorem Integrable.aEMeasurable [MeasurableSpace β] [BorelSpace β] {f : α → β}
+ (hf : Integrable f μ) : AEMeasurable f μ :=
+ hf.AeStronglyMeasurable.AEMeasurable
+#align measure_theory.integrable.ae_measurable MeasureTheory.Integrable.aEMeasurable
theorem Integrable.hasFiniteIntegral {f : α → β} (hf : Integrable f μ) : HasFiniteIntegral f μ :=
hf.2
@@ -502,18 +503,18 @@ theorem integrable_const_iff {c : β} : Integrable (fun x : α => c) μ ↔ c =
rw [integrable, and_iff_right this, has_finite_integral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
-theorem integrableConst [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
+theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun x : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
-#align measure_theory.integrable_const MeasureTheory.integrableConst
+#align measure_theory.integrable_const MeasureTheory.integrable_const
-theorem Memℒp.integrableNormRpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
+theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
(hp_ne_top : p ≠ ∞) : Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
rw [← mem_ℒp_one_iff_integrable]
exact hf.norm_rpow hp_ne_zero hp_ne_top
-#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrableNormRpow
+#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrable_norm_rpow
-theorem Memℒp.integrableNormRpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
+theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ :=
by
by_cases h_zero : p = 0
@@ -521,68 +522,69 @@ theorem Memℒp.integrableNormRpow' [IsFiniteMeasure μ] {f : α → β} {p :
by_cases h_top : p = ∞
· simp [h_top, integrable_const]
exact hf.integrable_norm_rpow h_zero h_top
-#align measure_theory.mem_ℒp.integrable_norm_rpow' MeasureTheory.Memℒp.integrableNormRpow'
+#align measure_theory.mem_ℒp.integrable_norm_rpow' MeasureTheory.Memℒp.integrable_norm_rpow'
-theorem Integrable.monoMeasure {f : α → β} (h : Integrable f ν) (hμ : μ ≤ ν) : Integrable f μ :=
- ⟨h.AeStronglyMeasurable.monoMeasure hμ, h.HasFiniteIntegral.monoMeasure hμ⟩
-#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.monoMeasure
+theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ ≤ ν) : Integrable f μ :=
+ ⟨h.AeStronglyMeasurable.mono_measure hμ, h.HasFiniteIntegral.mono_measure hμ⟩
+#align measure_theory.integrable.mono_measure MeasureTheory.Integrable.mono_measure
-theorem Integrable.ofMeasureLeSmul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
+theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
{f : α → β} (hf : Integrable f μ) : Integrable f μ' :=
by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
exact hf.of_measure_le_smul c hc hμ'_le
-#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.ofMeasureLeSmul
+#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
-theorem Integrable.addMeasure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
+theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
Integrable f (μ + ν) :=
by
simp_rw [← mem_ℒp_one_iff_integrable] at hμ hν⊢
refine' ⟨hμ.ae_strongly_measurable.add_measure hν.ae_strongly_measurable, _⟩
rw [snorm_one_add_measure, ENNReal.add_lt_top]
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
-#align measure_theory.integrable.add_measure MeasureTheory.Integrable.addMeasure
+#align measure_theory.integrable.add_measure MeasureTheory.Integrable.add_measure
-theorem Integrable.leftOfAddMeasure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ :=
+theorem Integrable.left_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f μ :=
by
rw [← mem_ℒp_one_iff_integrable] at h⊢
exact h.left_of_add_measure
-#align measure_theory.integrable.left_of_add_measure MeasureTheory.Integrable.leftOfAddMeasure
+#align measure_theory.integrable.left_of_add_measure MeasureTheory.Integrable.left_of_add_measure
-theorem Integrable.rightOfAddMeasure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f ν :=
+theorem Integrable.right_of_add_measure {f : α → β} (h : Integrable f (μ + ν)) : Integrable f ν :=
by
rw [← mem_ℒp_one_iff_integrable] at h⊢
exact h.right_of_add_measure
-#align measure_theory.integrable.right_of_add_measure MeasureTheory.Integrable.rightOfAddMeasure
+#align measure_theory.integrable.right_of_add_measure MeasureTheory.Integrable.right_of_add_measure
@[simp]
theorem integrable_add_measure {f : α → β} :
Integrable f (μ + ν) ↔ Integrable f μ ∧ Integrable f ν :=
- ⟨fun h => ⟨h.leftOfAddMeasure, h.rightOfAddMeasure⟩, fun h => h.1.addMeasure h.2⟩
+ ⟨fun h => ⟨h.left_of_add_measure, h.right_of_add_measure⟩, fun h => h.1.add_measure h.2⟩
#align measure_theory.integrable_add_measure MeasureTheory.integrable_add_measure
@[simp]
-theorem integrableZeroMeasure {m : MeasurableSpace α} {f : α → β} : Integrable f (0 : Measure α) :=
- ⟨aeStronglyMeasurableZeroMeasure f, hasFiniteIntegralZeroMeasure f⟩
-#align measure_theory.integrable_zero_measure MeasureTheory.integrableZeroMeasure
+theorem integrable_zero_measure {m : MeasurableSpace α} {f : α → β} :
+ Integrable f (0 : Measure α) :=
+ ⟨aeStronglyMeasurable_zero_measure f, hasFiniteIntegral_zero_measure f⟩
+#align measure_theory.integrable_zero_measure MeasureTheory.integrable_zero_measure
theorem integrable_finset_sum_measure {ι} {m : MeasurableSpace α} {f : α → β} {μ : ι → Measure α}
{s : Finset ι} : Integrable f (∑ i in s, μ i) ↔ ∀ i ∈ s, Integrable f (μ i) := by
induction s using Finset.induction_on <;> simp [*]
#align measure_theory.integrable_finset_sum_measure MeasureTheory.integrable_finset_sum_measure
-theorem Integrable.smulMeasure {f : α → β} (h : Integrable f μ) {c : ℝ≥0∞} (hc : c ≠ ∞) :
+theorem Integrable.smul_measure {f : α → β} (h : Integrable f μ) {c : ℝ≥0∞} (hc : c ≠ ∞) :
Integrable f (c • μ) := by
rw [← mem_ℒp_one_iff_integrable] at h⊢
exact h.smul_measure hc
-#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smulMeasure
+#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smul_measure
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
Integrable f (c • μ) ↔ Integrable f μ :=
⟨fun h => by
simpa only [smul_smul, ENNReal.inv_mul_cancel h₁ h₂, one_smul] using
h.smul_measure (ENNReal.inv_ne_top.2 h₁),
- fun h => h.smulMeasure h₂⟩
+ fun h => h.smul_measure h₂⟩
#align measure_theory.integrable_smul_measure MeasureTheory.integrable_smul_measure
theorem integrable_inv_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
@@ -590,13 +592,13 @@ theorem integrable_inv_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c
integrable_smul_measure (by simpa using h₂) (by simpa using h₁)
#align measure_theory.integrable_inv_smul_measure MeasureTheory.integrable_inv_smul_measure
-theorem Integrable.toAverage {f : α → β} (h : Integrable f μ) : Integrable f ((μ univ)⁻¹ • μ) :=
+theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable f ((μ univ)⁻¹ • μ) :=
by
rcases eq_or_ne μ 0 with (rfl | hne)
· rwa [smul_zero]
· apply h.smul_measure
simpa
-#align measure_theory.integrable.to_average MeasureTheory.Integrable.toAverage
+#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
@@ -606,22 +608,22 @@ theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
#align measure_theory.integrable_average MeasureTheory.integrable_average
theorem integrable_map_measure {f : α → δ} {g : δ → β}
- (hg : AeStronglyMeasurable g (Measure.map f μ)) (hf : AeMeasurable f μ) :
+ (hg : AeStronglyMeasurable g (Measure.map f μ)) (hf : AEMeasurable f μ) :
Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
by
simp_rw [← mem_ℒp_one_iff_integrable]
exact mem_ℒp_map_measure_iff hg hf
#align measure_theory.integrable_map_measure MeasureTheory.integrable_map_measure
-theorem Integrable.compAeMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
- (hf : AeMeasurable f μ) : Integrable (g ∘ f) μ :=
+theorem Integrable.comp_aEMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
+ (hf : AEMeasurable f μ) : Integrable (g ∘ f) μ :=
(integrable_map_measure hg.AeStronglyMeasurable hf).mp hg
-#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.compAeMeasurable
+#align measure_theory.integrable.comp_ae_measurable MeasureTheory.Integrable.comp_aEMeasurable
-theorem Integrable.compMeasurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
+theorem Integrable.comp_measurable {f : α → δ} {g : δ → β} (hg : Integrable g (Measure.map f μ))
(hf : Measurable f) : Integrable (g ∘ f) μ :=
- hg.compAeMeasurable hf.AeMeasurable
-#align measure_theory.integrable.comp_measurable MeasureTheory.Integrable.compMeasurable
+ hg.comp_aemeasurable hf.AEMeasurable
+#align measure_theory.integrable.comp_measurable MeasureTheory.Integrable.comp_measurable
theorem MeasurableEmbedding.integrable_map_iff {f : α → δ} (hf : MeasurableEmbedding f)
{g : δ → β} : Integrable g (Measure.map f μ) ↔ Integrable (g ∘ f) μ :=
@@ -652,7 +654,7 @@ theorem MeasurePreserving.integrable_comp_emb {f : α → δ} {ν} (h₁ : Measu
theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
(∫⁻ a, edist (f a) (g a) ∂μ) < ∞ :=
- lt_of_le_of_lt (lintegral_edist_triangle hf.AeStronglyMeasurable ae_strongly_measurable_zero)
+ lt_of_le_of_lt (lintegral_edist_triangle hf.AeStronglyMeasurable aeStronglyMeasurable_zero)
(ENNReal.add_lt_top.2 <|
by
simp_rw [Pi.zero_apply, ← has_finite_integral_iff_edist]
@@ -662,9 +664,9 @@ theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : In
variable (α β μ)
@[simp]
-theorem integrableZero : Integrable (fun _ => (0 : β)) μ := by
+theorem integrable_zero : Integrable (fun _ => (0 : β)) μ := by
simp [integrable, ae_strongly_measurable_const]
-#align measure_theory.integrable_zero MeasureTheory.integrableZero
+#align measure_theory.integrable_zero MeasureTheory.integrable_zero
variable {α β μ}
@@ -683,16 +685,16 @@ theorem Integrable.add {f g : α → β} (hf : Integrable f μ) (hg : Integrable
⟨hf.AeStronglyMeasurable.add hg.AeStronglyMeasurable, hf.add' hg⟩
#align measure_theory.integrable.add MeasureTheory.Integrable.add
-theorem integrableFinsetSum' {ι} (s : Finset ι) {f : ι → α → β} (hf : ∀ i ∈ s, Integrable (f i) μ) :
- Integrable (∑ i in s, f i) μ :=
+theorem integrable_finset_sum' {ι} (s : Finset ι) {f : ι → α → β}
+ (hf : ∀ i ∈ s, Integrable (f i) μ) : Integrable (∑ i in s, f i) μ :=
Finset.sum_induction f (fun g => Integrable g μ) (fun _ _ => Integrable.add)
- (integrableZero _ _ _) hf
-#align measure_theory.integrable_finset_sum' MeasureTheory.integrableFinsetSum'
+ (integrable_zero _ _ _) hf
+#align measure_theory.integrable_finset_sum' MeasureTheory.integrable_finset_sum'
-theorem integrableFinsetSum {ι} (s : Finset ι) {f : ι → α → β} (hf : ∀ i ∈ s, Integrable (f i) μ) :
- Integrable (fun a => ∑ i in s, f i a) μ := by
+theorem integrable_finset_sum {ι} (s : Finset ι) {f : ι → α → β}
+ (hf : ∀ i ∈ s, Integrable (f i) μ) : Integrable (fun a => ∑ i in s, f i a) μ := by
simpa only [← Finset.sum_apply] using integrable_finset_sum' s hf
-#align measure_theory.integrable_finset_sum MeasureTheory.integrableFinsetSum
+#align measure_theory.integrable_finset_sum MeasureTheory.integrable_finset_sum
theorem Integrable.neg {f : α → β} (hf : Integrable f μ) : Integrable (-f) μ :=
⟨hf.AeStronglyMeasurable.neg, hf.HasFiniteIntegral.neg⟩
@@ -732,7 +734,7 @@ theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf :
exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
-theorem Integrable.bddMul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
+theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
(hm : AeStronglyMeasurable f μ) (hfbdd : ∃ C, ∀ x, ‖f x‖ ≤ C) :
Integrable (fun x => f x * g x) μ :=
by
@@ -751,11 +753,11 @@ theorem Integrable.bddMul {F : Type _} [NormedDivisionRing F] {f g : α → F} (
simp only [ENNReal.coe_mul]
rw [lintegral_const_mul' _ _ ENNReal.coe_ne_top]
exact ENNReal.mul_lt_top ENNReal.coe_ne_top (ne_of_lt hint.2)
-#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bddMul
+#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bdd_mul
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
-theorem Integrable.essSupSmul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
+theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
(hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => g x • f x) μ :=
by
@@ -768,11 +770,11 @@ theorem Integrable.essSupSmul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_ae_strongly_measurable h
_ < ∞ := ENNReal.mul_lt_top hg' hf.2.Ne
-#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSupSmul
+#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSup_smul
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
-theorem Integrable.smulEssSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → 𝕜}
+theorem Integrable.smul_essSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → 𝕜}
(hf : Integrable f μ) {g : α → β} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => f x • g x) μ :=
by
@@ -785,14 +787,14 @@ theorem Integrable.smulEssSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
MeasureTheory.snorm_smul_le_mul_snorm g_ae_strongly_measurable hf.1 h
_ < ∞ := ENNReal.mul_lt_top hf.2.Ne hg'
-#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smulEssSup
+#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
theorem integrable_norm_iff {f : α → β} (hf : AeStronglyMeasurable f μ) :
Integrable (fun a => ‖f a‖) μ ↔ Integrable f μ := by
simp_rw [integrable, and_iff_right hf, and_iff_right hf.norm, has_finite_integral_norm_iff]
#align measure_theory.integrable_norm_iff MeasureTheory.integrable_norm_iff
-theorem integrableOfNormSubLe {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m : AeStronglyMeasurable f₁ μ)
+theorem integrable_of_norm_sub_le {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m : AeStronglyMeasurable f₁ μ)
(hf₀_i : Integrable f₀ μ) (hg_i : Integrable g μ) (h : ∀ᵐ a ∂μ, ‖f₀ a - f₁ a‖ ≤ g a) :
Integrable f₁ μ :=
haveI : ∀ᵐ a ∂μ, ‖f₁ a‖ ≤ ‖f₀ a‖ + g a := by
@@ -803,9 +805,9 @@ theorem integrableOfNormSubLe {f₀ f₁ : α → β} {g : α → ℝ} (hf₁_m
_ ≤ ‖f₀ a‖ + g a := add_le_add_left ha _
integrable.mono' (hf₀_i.norm.add hg_i) hf₁_m this
-#align measure_theory.integrable_of_norm_sub_le MeasureTheory.integrableOfNormSubLe
+#align measure_theory.integrable_of_norm_sub_le MeasureTheory.integrable_of_norm_sub_le
-theorem Integrable.prodMk {f : α → β} {g : α → γ} (hf : Integrable f μ) (hg : Integrable g μ) :
+theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (fun x => (f x, g x)) μ :=
⟨hf.AeStronglyMeasurable.prod_mk hg.AeStronglyMeasurable,
(hf.norm.add' hg.norm).mono <|
@@ -814,11 +816,11 @@ theorem Integrable.prodMk {f : α → β} {g : α → γ} (hf : Integrable f μ)
max ‖f x‖ ‖g x‖ ≤ ‖f x‖ + ‖g x‖ := max_le_add_of_nonneg (norm_nonneg _) (norm_nonneg _)
_ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _
⟩
-#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prodMk
+#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
(hfq : Memℒp f q μ) : Integrable f μ :=
- memℒp_one_iff_integrable.mp (hfq.memℒpOfExponentLe hq1)
+ memℒp_one_iff_integrable.mp (hfq.memℒp_of_exponent_le hq1)
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
@@ -844,7 +846,7 @@ theorem LipschitzWith.integrable_comp_iff_of_antilipschitz {K K'} {f : α → β
simp [← mem_ℒp_one_iff_integrable, hg.mem_ℒp_comp_iff_of_antilipschitz hg' g0]
#align measure_theory.lipschitz_with.integrable_comp_iff_of_antilipschitz MeasureTheory.LipschitzWith.integrable_comp_iff_of_antilipschitz
-theorem Integrable.realToNnreal {f : α → ℝ} (hf : Integrable f μ) :
+theorem Integrable.real_toNNReal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => ((f x).toNNReal : ℝ)) μ :=
by
refine'
@@ -854,7 +856,7 @@ theorem Integrable.realToNnreal {f : α → ℝ} (hf : Integrable f μ) :
apply lintegral_mono
intro x
simp [ENNReal.ofReal_le_ofReal, abs_le, le_abs_self]
-#align measure_theory.integrable.real_to_nnreal MeasureTheory.Integrable.realToNnreal
+#align measure_theory.integrable.real_to_nnreal MeasureTheory.Integrable.real_toNNReal
theorem ofReal_toReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
(fun x => ENNReal.ofReal (f x).toReal) =ᵐ[μ] f :=
@@ -909,7 +911,7 @@ theorem integrable_withDensity_iff_integrable_smul' {f : α → ℝ≥0∞} (hf
· exact hf.ennreal_to_nnreal
#align measure_theory.integrable_with_density_iff_integrable_smul' MeasureTheory.integrable_withDensity_iff_integrable_smul'
-theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (hf : AeMeasurable f μ)
+theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (hf : AEMeasurable f μ)
{g : α → E} :
Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
calc
@@ -928,7 +930,7 @@ theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (
#align measure_theory.integrable_with_density_iff_integrable_coe_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_coe_smul₀
-theorem integrable_withDensity_iff_integrable_smul₀ {f : α → ℝ≥0} (hf : AeMeasurable f μ)
+theorem integrable_withDensity_iff_integrable_smul₀ {f : α → ℝ≥0} (hf : AEMeasurable f μ)
{g : α → E} : Integrable g (μ.withDensity fun x => f x) ↔ Integrable (fun x => f x • g x) μ :=
integrable_withDensity_iff_integrable_coe_smul₀ hf
#align measure_theory.integrable_with_density_iff_integrable_smul₀ MeasureTheory.integrable_withDensity_iff_integrable_smul₀
@@ -947,11 +949,11 @@ section
variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
-theorem memℒ1SmulOfL1WithDensity {f : α → ℝ≥0} (f_meas : Measurable f)
+theorem mem_ℒ1_smul_of_L1_withDensity {f : α → ℝ≥0} (f_meas : Measurable f)
(u : lp E 1 (μ.withDensity fun x => f x)) : Memℒp (fun x => f x • u x) 1 μ :=
memℒp_one_iff_integrable.2 <|
(integrable_withDensity_iff_integrable_smul f_meas).1 <| memℒp_one_iff_integrable.1 (lp.memℒp u)
-#align measure_theory.mem_ℒ1_smul_of_L1_with_density MeasureTheory.memℒ1SmulOfL1WithDensity
+#align measure_theory.mem_ℒ1_smul_of_L1_with_density MeasureTheory.mem_ℒ1_smul_of_L1_withDensity
variable (μ)
@@ -959,7 +961,7 @@ variable (μ)
noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f) :
lp E 1 (μ.withDensity fun x => f x) →ₗᵢ[ℝ] lp E 1 μ
where
- toFun u := (memℒ1SmulOfL1WithDensity f_meas u).toLp _
+ toFun u := (mem_ℒ1_smul_of_L1_withDensity f_meas u).toLp _
map_add' := by
intro u v
ext1
@@ -1005,41 +1007,42 @@ noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f)
@[simp]
theorem withDensitySmulLi_apply {f : α → ℝ≥0} (f_meas : Measurable f)
(u : lp E 1 (μ.withDensity fun x => f x)) :
- withDensitySmulLi μ f_meas u = (memℒ1SmulOfL1WithDensity f_meas u).toLp fun x => f x • u x :=
+ withDensitySmulLi μ f_meas u =
+ (mem_ℒ1_smul_of_L1_withDensity f_meas u).toLp fun x => f x • u x :=
rfl
#align measure_theory.with_density_smul_li_apply MeasureTheory.withDensitySmulLi_apply
end
-theorem memℒ1ToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hfm : AeMeasurable f μ)
+theorem mem_ℒ1_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
(hfi : (∫⁻ x, f x ∂μ) ≠ ∞) : Memℒp (fun x => (f x).toReal) 1 μ :=
by
rw [mem_ℒp, snorm_one_eq_lintegral_nnnorm]
exact
- ⟨(AeMeasurable.ennrealToReal hfm).AeStronglyMeasurable,
+ ⟨(AEMeasurable.eNNReal_toReal hfm).AeStronglyMeasurable,
has_finite_integral_to_real_of_lintegral_ne_top hfi⟩
-#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.memℒ1ToRealOfLintegralNeTop
+#align measure_theory.mem_ℒ1_to_real_of_lintegral_ne_top MeasureTheory.mem_ℒ1_toReal_of_lintegral_ne_top
-theorem integrableToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hfm : AeMeasurable f μ)
+theorem integrable_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEMeasurable f μ)
(hfi : (∫⁻ x, f x ∂μ) ≠ ∞) : Integrable (fun x => (f x).toReal) μ :=
- memℒp_one_iff_integrable.1 <| memℒ1ToRealOfLintegralNeTop hfm hfi
-#align measure_theory.integrable_to_real_of_lintegral_ne_top MeasureTheory.integrableToRealOfLintegralNeTop
+ memℒp_one_iff_integrable.1 <| mem_ℒ1_toReal_of_lintegral_ne_top hfm hfi
+#align measure_theory.integrable_to_real_of_lintegral_ne_top MeasureTheory.integrable_toReal_of_lintegral_ne_top
section PosPart
/-! ### Lemmas used for defining the positive part of a `L¹` function -/
-theorem Integrable.posPart {f : α → ℝ} (hf : Integrable f μ) :
+theorem Integrable.pos_part {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun a => max (f a) 0) μ :=
- ⟨(hf.AeStronglyMeasurable.AeMeasurable.max aeMeasurableConst).AeStronglyMeasurable,
- hf.HasFiniteIntegral.maxZero⟩
-#align measure_theory.integrable.pos_part MeasureTheory.Integrable.posPart
+ ⟨(hf.AeStronglyMeasurable.AEMeasurable.max aemeasurable_const).AeStronglyMeasurable,
+ hf.HasFiniteIntegral.max_zero⟩
+#align measure_theory.integrable.pos_part MeasureTheory.Integrable.pos_part
-theorem Integrable.negPart {f : α → ℝ} (hf : Integrable f μ) :
+theorem Integrable.neg_part {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun a => max (-f a) 0) μ :=
hf.neg.posPart
-#align measure_theory.integrable.neg_part MeasureTheory.Integrable.negPart
+#align measure_theory.integrable.neg_part MeasureTheory.Integrable.neg_part
end PosPart
@@ -1056,22 +1059,24 @@ theorem integrable_smul_iff {c : 𝕜} (hc : c ≠ 0) (f : α → β) :
and_congr (aeStronglyMeasurable_const_smul_iff₀ hc) (hasFiniteIntegral_smul_iff hc f)
#align measure_theory.integrable_smul_iff MeasureTheory.integrable_smul_iff
-theorem Integrable.smulOfTopRight {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ) (hφ : Memℒp φ ∞ μ) :
- Integrable (φ • f) μ := by
+theorem Integrable.smul_of_top_right {f : α → β} {φ : α → 𝕜} (hf : Integrable f μ)
+ (hφ : Memℒp φ ∞ μ) : Integrable (φ • f) μ :=
+ by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
exact mem_ℒp.smul_of_top_right hf hφ
-#align measure_theory.integrable.smul_of_top_right MeasureTheory.Integrable.smulOfTopRight
+#align measure_theory.integrable.smul_of_top_right MeasureTheory.Integrable.smul_of_top_right
-theorem Integrable.smulOfTopLeft {f : α → β} {φ : α → 𝕜} (hφ : Integrable φ μ) (hf : Memℒp f ∞ μ) :
- Integrable (φ • f) μ := by
+theorem Integrable.smul_of_top_left {f : α → β} {φ : α → 𝕜} (hφ : Integrable φ μ)
+ (hf : Memℒp f ∞ μ) : Integrable (φ • f) μ :=
+ by
rw [← mem_ℒp_one_iff_integrable] at hφ⊢
exact mem_ℒp.smul_of_top_left hf hφ
-#align measure_theory.integrable.smul_of_top_left MeasureTheory.Integrable.smulOfTopLeft
+#align measure_theory.integrable.smul_of_top_left MeasureTheory.Integrable.smul_of_top_left
-theorem Integrable.smulConst {f : α → 𝕜} (hf : Integrable f μ) (c : β) :
+theorem Integrable.smul_const {f : α → 𝕜} (hf : Integrable f μ) (c : β) :
Integrable (fun x => f x • c) μ :=
- hf.smulOfTopLeft (memℒpTopConst c)
-#align measure_theory.integrable.smul_const MeasureTheory.Integrable.smulConst
+ hf.smul_of_top_left (memℒp_top_const c)
+#align measure_theory.integrable.smul_const MeasureTheory.Integrable.smul_const
end NormedSpace
@@ -1097,30 +1102,30 @@ section IsROrC
variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
-theorem Integrable.constMul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
Integrable.smul c h
-#align measure_theory.integrable.const_mul MeasureTheory.Integrable.constMul
+#align measure_theory.integrable.const_mul MeasureTheory.Integrable.const_mul
-theorem Integrable.constMul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+theorem Integrable.const_mul' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable ((fun x : α => c) * f) μ :=
Integrable.smul c h
-#align measure_theory.integrable.const_mul' MeasureTheory.Integrable.constMul'
+#align measure_theory.integrable.const_mul' MeasureTheory.Integrable.const_mul'
-theorem Integrable.mulConst {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+theorem Integrable.mul_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x * c) μ := by simp_rw [mul_comm, h.const_mul _]
-#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mulConst
+#align measure_theory.integrable.mul_const MeasureTheory.Integrable.mul_const
-theorem Integrable.mulConst' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+theorem Integrable.mul_const' {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (f * fun x : α => c) μ :=
- Integrable.mulConst h c
-#align measure_theory.integrable.mul_const' MeasureTheory.Integrable.mulConst'
+ Integrable.mul_const h c
+#align measure_theory.integrable.mul_const' MeasureTheory.Integrable.mul_const'
-theorem Integrable.divConst {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
+theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x / c) μ := by simp_rw [div_eq_mul_inv, h.mul_const]
-#align measure_theory.integrable.div_const MeasureTheory.Integrable.divConst
+#align measure_theory.integrable.div_const MeasureTheory.Integrable.div_const
-theorem Integrable.bddMul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
+theorem Integrable.bdd_mul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
(hf : AeStronglyMeasurable f μ) (hf_bound : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
Integrable (fun x => f x * g x) μ :=
by
@@ -1128,13 +1133,13 @@ theorem Integrable.bddMul' {f g : α → 𝕜} {c : ℝ} (hg : Integrable g μ)
filter_upwards [hf_bound]with x hx
rw [Pi.smul_apply, smul_eq_mul]
exact (norm_mul_le _ _).trans (mul_le_mul_of_nonneg_right hx (norm_nonneg _))
-#align measure_theory.integrable.bdd_mul' MeasureTheory.Integrable.bddMul'
+#align measure_theory.integrable.bdd_mul' MeasureTheory.Integrable.bdd_mul'
-theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
+theorem Integrable.of_real {f : α → ℝ} (hf : Integrable f μ) : Integrable (fun x => (f x : 𝕜)) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
exact hf.of_real
-#align measure_theory.integrable.of_real MeasureTheory.Integrable.ofReal
+#align measure_theory.integrable.of_real MeasureTheory.Integrable.of_real
theorem Integrable.re_im_iff :
Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
@@ -1167,17 +1172,17 @@ variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] {f : α
-- mathport name: «expr⟪ , ⟫»
local notation "⟪" x ", " y "⟫" => @inner 𝕜 E _ x y
-theorem Integrable.constInner (c : E) (hf : Integrable f μ) : Integrable (fun x => ⟪c, f x⟫) μ :=
+theorem Integrable.const_inner (c : E) (hf : Integrable f μ) : Integrable (fun x => ⟪c, f x⟫) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
exact hf.const_inner c
-#align measure_theory.integrable.const_inner MeasureTheory.Integrable.constInner
+#align measure_theory.integrable.const_inner MeasureTheory.Integrable.const_inner
-theorem Integrable.innerConst (hf : Integrable f μ) (c : E) : Integrable (fun x => ⟪f x, c⟫) μ :=
+theorem Integrable.inner_const (hf : Integrable f μ) (c : E) : Integrable (fun x => ⟪f x, c⟫) μ :=
by
rw [← mem_ℒp_one_iff_integrable] at hf⊢
exact hf.inner_const c
-#align measure_theory.integrable.inner_const MeasureTheory.Integrable.innerConst
+#align measure_theory.integrable.inner_const MeasureTheory.Integrable.inner_const
end InnerProduct
@@ -1194,14 +1199,14 @@ theorem Integrable.trim (hm : m ≤ m0) (hf_int : Integrable f μ') (hf : strong
· exact @strongly_measurable.ennnorm _ m _ _ f hf
#align measure_theory.integrable.trim MeasureTheory.Integrable.trim
-theorem integrableOfIntegrableTrim (hm : m ≤ m0) (hf_int : Integrable f (μ'.trim hm)) :
+theorem integrable_of_integrable_trim (hm : m ≤ m0) (hf_int : Integrable f (μ'.trim hm)) :
Integrable f μ' := by
obtain ⟨hf_meas_ae, hf⟩ := hf_int
- refine' ⟨aeStronglyMeasurableOfAeStronglyMeasurableTrim hm hf_meas_ae, _⟩
+ refine' ⟨aeStronglyMeasurable_of_aeStronglyMeasurable_trim hm hf_meas_ae, _⟩
rw [has_finite_integral] at hf⊢
rwa [lintegral_trim_ae hm _] at hf
exact ae_strongly_measurable.ennnorm hf_meas_ae
-#align measure_theory.integrable_of_integrable_trim MeasureTheory.integrableOfIntegrableTrim
+#align measure_theory.integrable_of_integrable_trim MeasureTheory.integrable_of_integrable_trim
end Trim
@@ -1209,17 +1214,17 @@ section SigmaFinite
variable {E : Type _} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
-theorem integrableOfForallFinMeasLe' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
+theorem integrable_of_forall_fin_meas_le' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AeStronglyMeasurable f μ)
(hf : ∀ s, measurable_set[m] s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
⟨hf_meas, (lintegral_le_of_forall_fin_meas_le' hm C hf_meas.ennnorm hf).trans_lt hC⟩
-#align measure_theory.integrable_of_forall_fin_meas_le' MeasureTheory.integrableOfForallFinMeasLe'
+#align measure_theory.integrable_of_forall_fin_meas_le' MeasureTheory.integrable_of_forall_fin_meas_le'
-theorem integrableOfForallFinMeasLe [SigmaFinite μ] (C : ℝ≥0∞) (hC : C < ∞) {f : α → E}
+theorem integrable_of_forall_fin_meas_le [SigmaFinite μ] (C : ℝ≥0∞) (hC : C < ∞) {f : α → E}
(hf_meas : AeStronglyMeasurable f μ)
(hf : ∀ s : Set α, MeasurableSet s → μ s ≠ ∞ → (∫⁻ x in s, ‖f x‖₊ ∂μ) ≤ C) : Integrable f μ :=
- @integrableOfForallFinMeasLe' _ _ _ _ _ _ _ (by rwa [trim_eq_self]) C hC _ hf_meas hf
-#align measure_theory.integrable_of_forall_fin_meas_le MeasureTheory.integrableOfForallFinMeasLe
+ @integrable_of_forall_fin_meas_le' _ _ _ _ _ _ _ (by rwa [trim_eq_self]) C hC _ hf_meas hf
+#align measure_theory.integrable_of_forall_fin_meas_le MeasureTheory.integrable_of_forall_fin_meas_le
end SigmaFinite
@@ -1248,16 +1253,16 @@ theorem integrable_coeFn {f : α →ₘ[μ] β} : MeasureTheory.Integrable f μ
rw [← integrable_mk, mk_coe_fn]
#align measure_theory.ae_eq_fun.integrable_coe_fn MeasureTheory.AeEqFun.integrable_coeFn
-theorem integrableZero : Integrable (0 : α →ₘ[μ] β) :=
- (integrableZero α β μ).congr (coeFn_mk _ _).symm
-#align measure_theory.ae_eq_fun.integrable_zero MeasureTheory.AeEqFun.integrableZero
+theorem integrable_zero : Integrable (0 : α →ₘ[μ] β) :=
+ (integrable_zero α β μ).congr (coeFn_mk _ _).symm
+#align measure_theory.ae_eq_fun.integrable_zero MeasureTheory.AeEqFun.integrable_zero
end
section
theorem Integrable.neg {f : α →ₘ[μ] β} : Integrable f → Integrable (-f) :=
- inductionOn f fun f hfm hfi => (integrable_mk _).2 ((integrable_mk hfm).1 hfi).neg
+ induction_on f fun f hfm hfi => (integrable_mk _).2 ((integrable_mk hfm).1 hfi).neg
#align measure_theory.ae_eq_fun.integrable.neg MeasureTheory.AeEqFun.Integrable.neg
section
@@ -1285,7 +1290,7 @@ section NormedSpace
variable {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β]
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
- inductionOn f fun f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
+ induction_on f fun f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AeEqFun.Integrable.smul
end NormedSpace
@@ -1296,15 +1301,15 @@ end AeEqFun
namespace L1
-theorem integrableCoeFn (f : α →₁[μ] β) : Integrable f μ :=
+theorem integrable_coeFn (f : α →₁[μ] β) : Integrable f μ :=
by
rw [← mem_ℒp_one_iff_integrable]
exact Lp.mem_ℒp f
-#align measure_theory.L1.integrable_coe_fn MeasureTheory.L1.integrableCoeFn
+#align measure_theory.L1.integrable_coe_fn MeasureTheory.L1.integrable_coeFn
-theorem hasFiniteIntegralCoeFn (f : α →₁[μ] β) : HasFiniteIntegral f μ :=
- (integrableCoeFn f).HasFiniteIntegral
-#align measure_theory.L1.has_finite_integral_coe_fn MeasureTheory.L1.hasFiniteIntegralCoeFn
+theorem hasFiniteIntegral_coeFn (f : α →₁[μ] β) : HasFiniteIntegral f μ :=
+ (integrable_coeFn f).HasFiniteIntegral
+#align measure_theory.L1.has_finite_integral_coe_fn MeasureTheory.L1.hasFiniteIntegral_coeFn
theorem stronglyMeasurable_coeFn (f : α →₁[μ] β) : StronglyMeasurable f :=
lp.stronglyMeasurable f
@@ -1314,13 +1319,13 @@ theorem measurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ]
(lp.stronglyMeasurable f).Measurable
#align measure_theory.L1.measurable_coe_fn MeasureTheory.L1.measurable_coeFn
-theorem aeStronglyMeasurableCoeFn (f : α →₁[μ] β) : AeStronglyMeasurable f μ :=
+theorem aeStronglyMeasurable_coeFn (f : α →₁[μ] β) : AeStronglyMeasurable f μ :=
lp.aeStronglyMeasurable f
-#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aeStronglyMeasurableCoeFn
+#align measure_theory.L1.ae_strongly_measurable_coe_fn MeasureTheory.L1.aeStronglyMeasurable_coeFn
-theorem aeMeasurableCoeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AeMeasurable f μ :=
- (lp.stronglyMeasurable f).Measurable.AeMeasurable
-#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aeMeasurableCoeFn
+theorem aEMeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[μ] β) : AEMeasurable f μ :=
+ (lp.stronglyMeasurable f).Measurable.AEMeasurable
+#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aEMeasurable_coeFn
theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ :=
by
@@ -1468,16 +1473,16 @@ open MeasureTheory
variable {E : Type _} [NormedAddCommGroup E] {𝕜 : Type _} [NontriviallyNormedField 𝕜]
[NormedSpace 𝕜 E] {H : Type _} [NormedAddCommGroup H] [NormedSpace 𝕜 H]
-theorem MeasureTheory.Integrable.applyContinuousLinearMap {φ : α → H →L[𝕜] E}
+theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
(φ_int.norm.mul_const ‖v‖).mono' (φ_int.AeStronglyMeasurable.apply_continuousLinearMap v)
(eventually_of_forall fun a => (φ a).le_opNorm v)
-#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.applyContinuousLinearMap
+#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.apply_continuousLinearMap
-theorem ContinuousLinearMap.integrableComp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
+theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
- (L.Continuous.compAeStronglyMeasurable φ_int.AeStronglyMeasurable)
+ (L.Continuous.comp_aeStronglyMeasurable φ_int.AeStronglyMeasurable)
(eventually_of_forall fun a => L.le_opNorm (φ a))
-#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrableComp
+#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -1241,7 +1241,7 @@ theorem integrable_mk {f : α → β} (hf : AeStronglyMeasurable f μ) :
by
simp [integrable]
apply integrable_congr
- exact [anonymous] f hf
+ exact coe_fn_mk f hf
#align measure_theory.ae_eq_fun.integrable_mk MeasureTheory.AeEqFun.integrable_mk
theorem integrable_coeFn {f : α →ₘ[μ] β} : MeasureTheory.Integrable f μ ↔ Integrable f := by
mathlib commit https://github.com/leanprover-community/mathlib/commit/55d771df074d0dd020139ee1cd4b95521422df9f
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 346bace1280dc6ff95e90ee8d681b75c340b2492
+! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -1160,7 +1160,9 @@ end IsROrC
section InnerProduct
-variable {𝕜 E : Type _} [IsROrC 𝕜] [InnerProductSpace 𝕜 E] {f : α → E}
+variable {𝕜 E : Type _}
+
+variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] {f : α → E}
-- mathport name: «expr⟪ , ⟫»
local notation "⟪" x ", " y "⟫" => @inner 𝕜 E _ x y
mathlib commit https://github.com/leanprover-community/mathlib/commit/ddec54a71a0dd025c05445d467f1a2b7d586a3ba
@@ -1469,13 +1469,13 @@ variable {E : Type _} [NormedAddCommGroup E] {𝕜 : Type _} [NontriviallyNormed
theorem MeasureTheory.Integrable.applyContinuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
(φ_int.norm.mul_const ‖v‖).mono' (φ_int.AeStronglyMeasurable.apply_continuousLinearMap v)
- (eventually_of_forall fun a => (φ a).le_op_norm v)
+ (eventually_of_forall fun a => (φ a).le_opNorm v)
#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.applyContinuousLinearMap
theorem ContinuousLinearMap.integrableComp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
(L.Continuous.compAeStronglyMeasurable φ_int.AeStronglyMeasurable)
- (eventually_of_forall fun a => L.le_op_norm (φ a))
+ (eventually_of_forall fun a => L.le_opNorm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrableComp
mathlib commit https://github.com/leanprover-community/mathlib/commit/3b267e70a936eebb21ab546f49a8df34dd300b25
@@ -848,7 +848,7 @@ theorem Integrable.realToNnreal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => ((f x).toNNReal : ℝ)) μ :=
by
refine'
- ⟨hf.ae_strongly_measurable.ae_measurable.real_toNNReal.coeNnrealReal.AeStronglyMeasurable, _⟩
+ ⟨hf.ae_strongly_measurable.ae_measurable.real_toNNReal.coeNNRealReal.AeStronglyMeasurable, _⟩
rw [has_finite_integral_iff_norm]
refine' lt_of_le_of_lt _ ((has_finite_integral_iff_norm _).1 hf.has_finite_integral)
apply lintegral_mono
mathlib commit https://github.com/leanprover-community/mathlib/commit/3b267e70a936eebb21ab546f49a8df34dd300b25
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit afdb4fa3b32d41106a4a09b371ce549ad7958abd
+! leanprover-community/mathlib commit 346bace1280dc6ff95e90ee8d681b75c340b2492
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -753,6 +753,40 @@ theorem Integrable.bddMul {F : Type _} [NormedDivisionRing F] {f g : α → F} (
exact ENNReal.mul_lt_top ENNReal.coe_ne_top (ne_of_lt hint.2)
#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bddMul
+/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
+vector-valued function by a scalar function with finite essential supremum is integrable. -/
+theorem Integrable.essSupSmul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
+ (hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
+ (ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => g x • f x) μ :=
+ by
+ rw [← mem_ℒp_one_iff_integrable] at *
+ refine' ⟨g_ae_strongly_measurable.smul hf.1, _⟩
+ have h : (1 : ℝ≥0∞) / 1 = 1 / ∞ + 1 / 1 := by norm_num
+ have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
+ calc
+ snorm (fun x : α => g x • f x) 1 μ ≤ _ :=
+ MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_ae_strongly_measurable h
+ _ < ∞ := ENNReal.mul_lt_top hg' hf.2.Ne
+
+#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSupSmul
+
+/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
+scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
+theorem Integrable.smulEssSup {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → 𝕜}
+ (hf : Integrable f μ) {g : α → β} (g_ae_strongly_measurable : AeStronglyMeasurable g μ)
+ (ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) : Integrable (fun x : α => f x • g x) μ :=
+ by
+ rw [← mem_ℒp_one_iff_integrable] at *
+ refine' ⟨hf.1.smul g_ae_strongly_measurable, _⟩
+ have h : (1 : ℝ≥0∞) / 1 = 1 / 1 + 1 / ∞ := by norm_num
+ have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
+ calc
+ snorm (fun x : α => f x • g x) 1 μ ≤ _ :=
+ MeasureTheory.snorm_smul_le_mul_snorm g_ae_strongly_measurable hf.1 h
+ _ < ∞ := ENNReal.mul_lt_top hf.2.Ne hg'
+
+#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smulEssSup
+
theorem integrable_norm_iff {f : α → β} (hf : AeStronglyMeasurable f μ) :
Integrable (fun a => ‖f a‖) μ ↔ Integrable f μ := by
simp_rw [integrable, and_iff_right hf, and_iff_right hf.norm, has_finite_integral_norm_iff]
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -346,7 +346,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
rw [← ENNReal.ofReal_add]
apply of_real_le_of_real
· apply norm_sub_le; · exact norm_nonneg _; · exact norm_nonneg _
- _ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := add_le_add h₁ h₂
+ _ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := (add_le_add h₁ h₂)
_ = b a := by rw [← two_mul]
-- On the other hand, `F n a --> f a` implies that `‖F n a - f a‖ --> 0`
@@ -673,7 +673,7 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
calc
(∫⁻ a, ‖f a + g a‖₊ ∂μ) ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
lintegral_mono fun a => by exact_mod_cast nnnorm_add_le _ _
- _ = _ := lintegral_nnnorm_add_left hf.AeStronglyMeasurable _
+ _ = _ := (lintegral_nnnorm_add_left hf.AeStronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.HasFiniteIntegral, hg.HasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
@@ -885,7 +885,7 @@ theorem integrable_withDensity_iff_integrable_coe_smul₀ {f : α → ℝ≥0} (
filter_upwards [hf.ae_eq_mk]with x hx
simp [hx]
_ ↔ Integrable (fun x => (hf.mk f x : ℝ) • g x) μ :=
- integrable_withDensity_iff_integrable_coe_smul hf.measurable_mk
+ (integrable_withDensity_iff_integrable_coe_smul hf.measurable_mk)
_ ↔ Integrable (fun x => (f x : ℝ) • g x) μ :=
by
apply integrable_congr
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -52,9 +52,9 @@ integrable, function space, l1
noncomputable section
-open Classical Topology BigOperators Ennreal MeasureTheory NNReal
+open Classical Topology BigOperators ENNReal MeasureTheory NNReal
-open Set Filter TopologicalSpace Ennreal Emetric MeasureTheory
+open Set Filter TopologicalSpace ENNReal Emetric MeasureTheory
variable {α β γ δ : Type _} {m : MeasurableSpace α} {μ ν : Measure α} [MeasurableSpace δ]
@@ -72,7 +72,7 @@ theorem lintegral_nnnorm_eq_lintegral_edist (f : α → β) :
#align measure_theory.lintegral_nnnorm_eq_lintegral_edist MeasureTheory.lintegral_nnnorm_eq_lintegral_edist
theorem lintegral_norm_eq_lintegral_edist (f : α → β) :
- (∫⁻ a, Ennreal.ofReal ‖f a‖ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by
+ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by
simp only [ofReal_norm_eq_coe_nnnorm, edist_eq_coe_nnnorm]
#align measure_theory.lintegral_norm_eq_lintegral_edist MeasureTheory.lintegral_norm_eq_lintegral_edist
@@ -113,7 +113,7 @@ def HasFiniteIntegral {m : MeasurableSpace α} (f : α → β)
#align measure_theory.has_finite_integral MeasureTheory.HasFiniteIntegral
theorem hasFiniteIntegral_iff_norm (f : α → β) :
- HasFiniteIntegral f μ ↔ (∫⁻ a, Ennreal.ofReal ‖f a‖ ∂μ) < ∞ := by
+ HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) < ∞ := by
simp only [has_finite_integral, ofReal_norm_eq_coe_nnnorm]
#align measure_theory.has_finite_integral_iff_norm MeasureTheory.hasFiniteIntegral_iff_norm
@@ -123,7 +123,7 @@ theorem hasFiniteIntegral_iff_edist (f : α → β) :
#align measure_theory.has_finite_integral_iff_edist MeasureTheory.hasFiniteIntegral_iff_edist
theorem hasFiniteIntegral_iff_ofReal {f : α → ℝ} (h : 0 ≤ᵐ[μ] f) :
- HasFiniteIntegral f μ ↔ (∫⁻ a, Ennreal.ofReal (f a) ∂μ) < ∞ := by
+ HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal (f a) ∂μ) < ∞ := by
rw [has_finite_integral, lintegral_nnnorm_eq_of_ae_nonneg h]
#align measure_theory.has_finite_integral_iff_of_real MeasureTheory.hasFiniteIntegral_iff_ofReal
@@ -137,7 +137,7 @@ theorem HasFiniteIntegral.mono {f : α → β} {g : α → γ} (hg : HasFiniteIn
by
simp only [has_finite_integral_iff_norm] at *
calc
- (∫⁻ a, Ennreal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a : α, Ennreal.ofReal ‖g a‖ ∂μ :=
+ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a : α, ENNReal.ofReal ‖g a‖ ∂μ :=
lintegral_mono_ae (h.mono fun a h => of_real_le_of_real h)
_ < ∞ := hg
@@ -170,7 +170,7 @@ theorem hasFiniteIntegral_congr {f g : α → β} (h : f =ᵐ[μ] g) :
theorem hasFiniteIntegral_const_iff {c : β} :
HasFiniteIntegral (fun x : α => c) μ ↔ c = 0 ∨ μ univ < ∞ := by
- simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, Ennreal.mul_eq_top,
+ simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, ENNReal.mul_eq_top,
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
@@ -261,7 +261,7 @@ theorem hasFiniteIntegralToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hf : (
HasFiniteIntegral (fun x => (f x).toReal) μ :=
by
have :
- ∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = @coe ℝ≥0 ℝ≥0∞ _ (⟨(f x).toReal, Ennreal.toReal_nonneg⟩ : ℝ≥0) :=
+ ∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = @coe ℝ≥0 ℝ≥0∞ _ (⟨(f x).toReal, ENNReal.toReal_nonneg⟩ : ℝ≥0) :=
by
intro x
rw [Real.nnnorm_of_nonneg]
@@ -274,7 +274,7 @@ theorem hasFiniteIntegralToRealOfLintegralNeTop {f : α → ℝ≥0∞} (hf : (
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegralToRealOfLintegralNeTop
theorem isFiniteMeasureWithDensityOfReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
- IsFiniteMeasure (μ.withDensity fun x => Ennreal.ofReal <| f x) :=
+ IsFiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) :=
by
refine' is_finite_measure_with_density ((lintegral_mono fun x => _).trans_lt hfi).Ne
exact Real.ofReal_le_ennnorm (f x)
@@ -285,18 +285,18 @@ section DominatedConvergence
variable {F : ℕ → α → β} {f : α → β} {bound : α → ℝ}
theorem all_ae_ofReal_F_le_bound (h : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a) :
- ∀ n, ∀ᵐ a ∂μ, Ennreal.ofReal ‖F n a‖ ≤ Ennreal.ofReal (bound a) := fun n =>
- (h n).mono fun a h => Ennreal.ofReal_le_ofReal h
+ ∀ n, ∀ᵐ a ∂μ, ENNReal.ofReal ‖F n a‖ ≤ ENNReal.ofReal (bound a) := fun n =>
+ (h n).mono fun a h => ENNReal.ofReal_le_ofReal h
#align measure_theory.all_ae_of_real_F_le_bound MeasureTheory.all_ae_ofReal_F_le_bound
theorem all_ae_tendsto_ofReal_norm (h : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop <| 𝓝 <| f a) :
- ∀ᵐ a ∂μ, Tendsto (fun n => Ennreal.ofReal ‖F n a‖) atTop <| 𝓝 <| Ennreal.ofReal ‖f a‖ :=
+ ∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a‖) atTop <| 𝓝 <| ENNReal.ofReal ‖f a‖ :=
h.mono fun a h => tendsto_ofReal <| Tendsto.comp (Continuous.tendsto continuous_norm _) h
#align measure_theory.all_ae_tendsto_of_real_norm MeasureTheory.all_ae_tendsto_ofReal_norm
theorem all_ae_ofReal_f_le_bound (h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
(h_lim : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop (𝓝 (f a))) :
- ∀ᵐ a ∂μ, Ennreal.ofReal ‖f a‖ ≤ Ennreal.ofReal (bound a) :=
+ ∀ᵐ a ∂μ, ENNReal.ofReal ‖f a‖ ≤ ENNReal.ofReal (bound a) :=
by
have F_le_bound := all_ae_of_real_F_le_bound h_bound
rw [← ae_all_iff] at F_le_bound
@@ -314,7 +314,7 @@ theorem hasFiniteIntegralOfDominatedConvergence {F : ℕ → α → β} {f : α
and so `∫ ‖f‖ ≤ ∫ bound < ∞` since `bound` is has_finite_integral -/
rw [has_finite_integral_iff_norm]
calc
- (∫⁻ a, Ennreal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a, Ennreal.ofReal (bound a) ∂μ :=
+ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) ≤ ∫⁻ a, ENNReal.ofReal (bound a) ∂μ :=
lintegral_mono_ae <| all_ae_of_real_f_le_bound h_bound h_lim
_ < ∞ := by
rw [← has_finite_integral_iff_of_real]
@@ -328,36 +328,36 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
(bound_has_finite_integral : HasFiniteIntegral bound μ)
(h_bound : ∀ n, ∀ᵐ a ∂μ, ‖F n a‖ ≤ bound a)
(h_lim : ∀ᵐ a ∂μ, Tendsto (fun n => F n a) atTop (𝓝 (f a))) :
- Tendsto (fun n => ∫⁻ a, Ennreal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 0) :=
+ Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 0) :=
by
have f_measurable : AeStronglyMeasurable f μ :=
aeStronglyMeasurableOfTendstoAe _ F_measurable h_lim
- let b a := 2 * Ennreal.ofReal (bound a)
+ let b a := 2 * ENNReal.ofReal (bound a)
/- `‖F n a‖ ≤ bound a` and `F n a --> f a` implies `‖f a‖ ≤ bound a`, and thus by the
triangle inequality, have `‖F n a - f a‖ ≤ 2 * (bound a). -/
- have hb : ∀ n, ∀ᵐ a ∂μ, Ennreal.ofReal ‖F n a - f a‖ ≤ b a :=
+ have hb : ∀ n, ∀ᵐ a ∂μ, ENNReal.ofReal ‖F n a - f a‖ ≤ b a :=
by
intro n
filter_upwards [all_ae_of_real_F_le_bound h_bound n,
all_ae_of_real_f_le_bound h_bound h_lim]with a h₁ h₂
calc
- Ennreal.ofReal ‖F n a - f a‖ ≤ Ennreal.ofReal ‖F n a‖ + Ennreal.ofReal ‖f a‖ :=
+ ENNReal.ofReal ‖F n a - f a‖ ≤ ENNReal.ofReal ‖F n a‖ + ENNReal.ofReal ‖f a‖ :=
by
- rw [← Ennreal.ofReal_add]
+ rw [← ENNReal.ofReal_add]
apply of_real_le_of_real
· apply norm_sub_le; · exact norm_nonneg _; · exact norm_nonneg _
- _ ≤ Ennreal.ofReal (bound a) + Ennreal.ofReal (bound a) := add_le_add h₁ h₂
+ _ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := add_le_add h₁ h₂
_ = b a := by rw [← two_mul]
-- On the other hand, `F n a --> f a` implies that `‖F n a - f a‖ --> 0`
- have h : ∀ᵐ a ∂μ, Tendsto (fun n => Ennreal.ofReal ‖F n a - f a‖) atTop (𝓝 0) :=
+ have h : ∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a - f a‖) atTop (𝓝 0) :=
by
- rw [← Ennreal.ofReal_zero]
+ rw [← ENNReal.ofReal_zero]
refine' h_lim.mono fun a h => (continuous_of_real.tendsto _).comp _
rwa [← tendsto_iff_norm_tendsto_zero]
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
- suffices h : tendsto (fun n => ∫⁻ a, Ennreal.ofReal ‖F n a - f a‖ ∂μ) at_top (𝓝 (∫⁻ a : α, 0 ∂μ))
+ suffices h : tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) at_top (𝓝 (∫⁻ a : α, 0 ∂μ))
· rwa [lintegral_zero] at h
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
@@ -369,7 +369,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· rw [has_finite_integral_iff_of_real] at bound_has_finite_integral
·
calc
- (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, Ennreal.ofReal (bound a) ∂μ :=
+ (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ :=
by
rw [lintegral_const_mul']
exact coe_ne_top
@@ -411,7 +411,7 @@ theorem HasFiniteIntegral.smul (c : 𝕜) {f : α → β} :
simp only [has_finite_integral]; intro hfi
calc
(∫⁻ a : α, ‖c • f a‖₊ ∂μ) = ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ := by
- simp only [nnnorm_smul, Ennreal.coe_mul]
+ simp only [nnnorm_smul, ENNReal.coe_mul]
_ < ∞ := by
rw [lintegral_const_mul']
exacts[mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
@@ -539,7 +539,7 @@ theorem Integrable.addMeasure {f : α → β} (hμ : Integrable f μ) (hν : Int
by
simp_rw [← mem_ℒp_one_iff_integrable] at hμ hν⊢
refine' ⟨hμ.ae_strongly_measurable.add_measure hν.ae_strongly_measurable, _⟩
- rw [snorm_one_add_measure, Ennreal.add_lt_top]
+ rw [snorm_one_add_measure, ENNReal.add_lt_top]
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
#align measure_theory.integrable.add_measure MeasureTheory.Integrable.addMeasure
@@ -580,8 +580,8 @@ theorem Integrable.smulMeasure {f : α → β} (h : Integrable f μ) {c : ℝ≥
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
Integrable f (c • μ) ↔ Integrable f μ :=
⟨fun h => by
- simpa only [smul_smul, Ennreal.inv_mul_cancel h₁ h₂, one_smul] using
- h.smul_measure (Ennreal.inv_ne_top.2 h₁),
+ simpa only [smul_smul, ENNReal.inv_mul_cancel h₁ h₂, one_smul] using
+ h.smul_measure (ENNReal.inv_ne_top.2 h₁),
fun h => h.smulMeasure h₂⟩
#align measure_theory.integrable_smul_measure MeasureTheory.integrable_smul_measure
@@ -601,8 +601,8 @@ theorem Integrable.toAverage {f : α → β} (h : Integrable f μ) : Integrable
theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
(eq_or_ne μ 0).byCases (fun h => by simp [h]) fun h =>
- integrable_smul_measure (Ennreal.inv_ne_zero.2 <| measure_ne_top _ _)
- (Ennreal.inv_ne_top.2 <| mt Measure.measure_univ_eq_zero.1 h)
+ integrable_smul_measure (ENNReal.inv_ne_zero.2 <| measure_ne_top _ _)
+ (ENNReal.inv_ne_top.2 <| mt Measure.measure_univ_eq_zero.1 h)
#align measure_theory.integrable_average MeasureTheory.integrable_average
theorem integrable_map_measure {f : α → δ} {g : δ → β}
@@ -653,7 +653,7 @@ theorem MeasurePreserving.integrable_comp_emb {f : α → δ} {ν} (h₁ : Measu
theorem lintegral_edist_lt_top {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
(∫⁻ a, edist (f a) (g a) ∂μ) < ∞ :=
lt_of_le_of_lt (lintegral_edist_triangle hf.AeStronglyMeasurable ae_strongly_measurable_zero)
- (Ennreal.add_lt_top.2 <|
+ (ENNReal.add_lt_top.2 <|
by
simp_rw [Pi.zero_apply, ← has_finite_integral_iff_edist]
exact ⟨hf.has_finite_integral, hg.has_finite_integral⟩)
@@ -748,9 +748,9 @@ theorem Integrable.bddMul {F : Type _} [NormedDivisionRing F] {f g : α → F} (
simp only [nnnorm_mul]
exact mul_le_mul_of_nonneg_right (hC x) (zero_le _)
refine' lt_of_le_of_lt (lintegral_mono_nnreal this) _
- simp only [Ennreal.coe_mul]
- rw [lintegral_const_mul' _ _ Ennreal.coe_ne_top]
- exact Ennreal.mul_lt_top Ennreal.coe_ne_top (ne_of_lt hint.2)
+ simp only [ENNReal.coe_mul]
+ rw [lintegral_const_mul' _ _ ENNReal.coe_ne_top]
+ exact ENNReal.mul_lt_top ENNReal.coe_ne_top (ne_of_lt hint.2)
#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bddMul
theorem integrable_norm_iff {f : α → β} (hf : AeStronglyMeasurable f μ) :
@@ -792,15 +792,15 @@ where `‖f x‖ ≥ ε` is finite for all positive `ε`. -/
theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
μ { x | ε ≤ ‖f x‖ } < ∞ :=
by
- rw [show { x | ε ≤ ‖f x‖ } = { x | Ennreal.ofReal ε ≤ ‖f x‖₊ } by
- simp only [Ennreal.ofReal, Real.toNNReal_le_iff_le_coe, Ennreal.coe_le_coe, coe_nnnorm]]
- refine' (meas_ge_le_mul_pow_snorm μ one_ne_zero Ennreal.one_ne_top hf.1 _).trans_lt _
- · simpa only [Ne.def, Ennreal.ofReal_eq_zero, not_le] using hε
- apply Ennreal.mul_lt_top
+ rw [show { x | ε ≤ ‖f x‖ } = { x | ENNReal.ofReal ε ≤ ‖f x‖₊ } by
+ simp only [ENNReal.ofReal, Real.toNNReal_le_iff_le_coe, ENNReal.coe_le_coe, coe_nnnorm]]
+ refine' (meas_ge_le_mul_pow_snorm μ one_ne_zero ENNReal.one_ne_top hf.1 _).trans_lt _
+ · simpa only [Ne.def, ENNReal.ofReal_eq_zero, not_le] using hε
+ apply ENNReal.mul_lt_top
·
- simpa only [Ennreal.one_toReal, Ennreal.rpow_one, Ne.def, Ennreal.inv_eq_top,
- Ennreal.ofReal_eq_zero, not_le] using hε
- simpa only [Ennreal.one_toReal, Ennreal.rpow_one] using
+ simpa only [ENNReal.one_toReal, ENNReal.rpow_one, Ne.def, ENNReal.inv_eq_top,
+ ENNReal.ofReal_eq_zero, not_le] using hε
+ simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(mem_ℒp_one_iff_integrable.2 hf).snorm_ne_top
#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_ge_lt_top
@@ -819,24 +819,24 @@ theorem Integrable.realToNnreal {f : α → ℝ} (hf : Integrable f μ) :
refine' lt_of_le_of_lt _ ((has_finite_integral_iff_norm _).1 hf.has_finite_integral)
apply lintegral_mono
intro x
- simp [Ennreal.ofReal_le_ofReal, abs_le, le_abs_self]
+ simp [ENNReal.ofReal_le_ofReal, abs_le, le_abs_self]
#align measure_theory.integrable.real_to_nnreal MeasureTheory.Integrable.realToNnreal
theorem ofReal_toReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
- (fun x => Ennreal.ofReal (f x).toReal) =ᵐ[μ] f :=
+ (fun x => ENNReal.ofReal (f x).toReal) =ᵐ[μ] f :=
by
filter_upwards [hf]
intro x hx
simp only [hx.ne, of_real_to_real, Ne.def, not_false_iff]
#align measure_theory.of_real_to_real_ae_eq MeasureTheory.ofReal_toReal_ae_eq
-theorem coe_toNnreal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
+theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
(fun x => ((f x).toNNReal : ℝ≥0∞)) =ᵐ[μ] f :=
by
filter_upwards [hf]
intro x hx
simp only [hx.ne, Ne.def, not_false_iff, coe_to_nnreal]
-#align measure_theory.coe_to_nnreal_ae_eq MeasureTheory.coe_toNnreal_ae_eq
+#align measure_theory.coe_to_nnreal_ae_eq MeasureTheory.coe_toNNReal_ae_eq
section
@@ -940,7 +940,7 @@ noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f)
rcases eq_or_ne (f x) 0 with (hx | hx)
· simp only [hx, zero_smul, add_zero]
· rw [h'' _, Pi.add_apply, smul_add]
- simpa only [Ne.def, Ennreal.coe_eq_zero] using hx
+ simpa only [Ne.def, ENNReal.coe_eq_zero] using hx
map_smul' := by
intro r u
ext1
@@ -953,19 +953,19 @@ noncomputable def withDensitySmulLi {f : α → ℝ≥0} (f_meas : Measurable f)
rcases eq_or_ne (f x) 0 with (hx | hx)
· simp only [hx, zero_smul, smul_zero]
· rw [h _, smul_comm, Pi.smul_apply]
- simpa only [Ne.def, Ennreal.coe_eq_zero] using hx
+ simpa only [Ne.def, ENNReal.coe_eq_zero] using hx
norm_map' := by
intro u
- simp only [snorm, LinearMap.coe_mk, Lp.norm_to_Lp, one_ne_zero, Ennreal.one_ne_top,
- Ennreal.one_toReal, if_false, snorm', Ennreal.rpow_one, _root_.div_one, Lp.norm_def]
+ simp only [snorm, LinearMap.coe_mk, Lp.norm_to_Lp, one_ne_zero, ENNReal.one_ne_top,
+ ENNReal.one_toReal, if_false, snorm', ENNReal.rpow_one, _root_.div_one, Lp.norm_def]
rw [lintegral_with_density_eq_lintegral_mul_non_measurable _ f_meas.coe_nnreal_ennreal
- (Filter.eventually_of_forall fun x => Ennreal.coe_lt_top)]
+ (Filter.eventually_of_forall fun x => ENNReal.coe_lt_top)]
congr 1
apply lintegral_congr_ae
filter_upwards [(mem_ℒ1_smul_of_L1_with_density f_meas u).coeFn_toLp]with x hx
rw [hx, Pi.mul_apply]
change ↑‖(f x : ℝ) • u x‖₊ = ↑(f x) * ↑‖u x‖₊
- simp only [nnnorm_smul, NNReal.nnnorm_eq, Ennreal.coe_mul]
+ simp only [nnnorm_smul, NNReal.nnnorm_eq, ENNReal.coe_mul]
#align measure_theory.with_density_smul_li MeasureTheory.withDensitySmulLi
@[simp]
@@ -1051,8 +1051,8 @@ theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
Integrable (fun x => f x • c) μ ↔ Integrable f μ :=
by
simp_rw [integrable, aeStronglyMeasurable_smul_const_iff hc, and_congr_right_iff,
- has_finite_integral, nnnorm_smul, Ennreal.coe_mul]
- intro hf; rw [lintegral_mul_const' _ _ Ennreal.coe_ne_top, Ennreal.mul_lt_top_iff]
+ has_finite_integral, nnnorm_smul, ENNReal.coe_mul]
+ intro hf; rw [lintegral_mul_const' _ _ ENNReal.coe_ne_top, ENNReal.mul_lt_top_iff]
have : ∀ x : ℝ≥0∞, x = 0 → x < ∞ := by simp
simp [hc, or_iff_left_of_imp (this _)]
#align measure_theory.integrable_smul_const MeasureTheory.integrable_smul_const
@@ -1315,9 +1315,9 @@ theorem norm_sub_eq_lintegral (f g : α →₁[μ] β) :
simp only [ha, Pi.sub_apply]
#align measure_theory.L1.norm_sub_eq_lintegral MeasureTheory.L1.norm_sub_eq_lintegral
-theorem ofReal_norm_eq_lintegral (f : α →₁[μ] β) : Ennreal.ofReal ‖f‖ = ∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ∂μ :=
+theorem ofReal_norm_eq_lintegral (f : α →₁[μ] β) : ENNReal.ofReal ‖f‖ = ∫⁻ x, (‖f x‖₊ : ℝ≥0∞) ∂μ :=
by
- rw [norm_def, Ennreal.ofReal_toReal]
+ rw [norm_def, ENNReal.ofReal_toReal]
exact ne_of_lt (has_finite_integral_coe_fn f)
#align measure_theory.L1.of_real_norm_eq_lintegral MeasureTheory.L1.ofReal_norm_eq_lintegral
@@ -1325,7 +1325,7 @@ theorem ofReal_norm_eq_lintegral (f : α →₁[μ] β) : Ennreal.ofReal ‖f‖
special case of `of_real_norm_eq_lintegral` since `(f - g) x` and `f x - g x` are not equal
(but only a.e.-equal). -/
theorem ofReal_norm_sub_eq_lintegral (f g : α →₁[μ] β) :
- Ennreal.ofReal ‖f - g‖ = ∫⁻ x, (‖f x - g x‖₊ : ℝ≥0∞) ∂μ :=
+ ENNReal.ofReal ‖f - g‖ = ∫⁻ x, (‖f x - g x‖₊ : ℝ≥0∞) ∂μ :=
by
simp_rw [of_real_norm_eq_lintegral, ← edist_eq_coe_nnnorm]
apply lintegral_congr_ae
@@ -1384,14 +1384,14 @@ theorem toL1_sub (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ)
#align measure_theory.integrable.to_L1_sub MeasureTheory.Integrable.toL1_sub
theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
- ‖hf.toL1 f‖ = Ennreal.toReal (∫⁻ a, edist (f a) 0 ∂μ) :=
+ ‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, edist (f a) 0 ∂μ) :=
by
simp [to_L1, snorm, snorm']
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
- ‖hf.toL1 f‖ = Ennreal.toReal (∫⁻ a, Ennreal.ofReal ‖f a‖ ∂μ) := by
+ ‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) := by
rw [norm_to_L1, lintegral_norm_eq_lintegral_edist]
#align measure_theory.integrable.norm_to_L1_eq_lintegral_norm MeasureTheory.Integrable.norm_toL1_eq_lintegral_norm
mathlib commit https://github.com/leanprover-community/mathlib/commit/271bf175e6c51b8d31d6c0107b7bb4a967c7277e
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit a75898643b2d774cced9ae7c0b28c21663b99666
+! leanprover-community/mathlib commit afdb4fa3b32d41106a4a09b371ce549ad7958abd
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -170,7 +170,8 @@ theorem hasFiniteIntegral_congr {f g : α → β} (h : f =ᵐ[μ] g) :
theorem hasFiniteIntegral_const_iff {c : β} :
HasFiniteIntegral (fun x : α => c) μ ↔ c = 0 ∨ μ univ < ∞ := by
- simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, or_iff_not_imp_left]
+ simp [has_finite_integral, lintegral_const, lt_top_iff_ne_top, Ennreal.mul_eq_top,
+ or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
theorem hasFiniteIntegralConst [IsFiniteMeasure μ] (c : β) : HasFiniteIntegral (fun x : α => c) μ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -336,8 +336,8 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
calc
ENNReal.ofReal ‖F n a - f a‖ ≤ ENNReal.ofReal ‖F n a‖ + ENNReal.ofReal ‖f a‖ := by
rw [← ENNReal.ofReal_add]
- apply ofReal_le_ofReal
- · apply norm_sub_le
+ · apply ofReal_le_ofReal
+ apply norm_sub_le
· exact norm_nonneg _
· exact norm_nonneg _
_ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := add_le_add h₁ h₂
Notably, these cause issues on nightly-2024-04-25
Co-authored-by: adamtopaz <github@adamtopaz.com>
@@ -773,7 +773,7 @@ theorem Integrable.essSup_smul {𝕜 : Type*} [NormedField 𝕜] [NormedSpace
have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
calc
snorm (fun x : α => g x • f x) 1 μ ≤ _ :=
- MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_aestronglyMeasurable h
+ by simpa using MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_aestronglyMeasurable h
_ < ∞ := ENNReal.mul_lt_top hg' hf.2.ne
#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSup_smul
@@ -790,7 +790,7 @@ theorem Integrable.smul_essSup {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β]
have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
calc
snorm (fun x : α => f x • g x) 1 μ ≤ _ :=
- MeasureTheory.snorm_smul_le_mul_snorm g_aestronglyMeasurable hf.1 h
+ by simpa using MeasureTheory.snorm_smul_le_mul_snorm g_aestronglyMeasurable hf.1 h
_ < ∞ := ENNReal.mul_lt_top hf.2.ne hg'
#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
@@ -1324,7 +1324,8 @@ section BoundedSMul
variable {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
- induction_on f fun _f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
+ induction_on f fun _f hfm hfi => (integrable_mk _).2 <|
+ by simpa using ((integrable_mk hfm).1 hfi).smul c
#align measure_theory.ae_eq_fun.integrable.smul MeasureTheory.AEEqFun.Integrable.smul
end BoundedSMul
@@ -1537,6 +1537,17 @@ theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E)
(eventually_of_forall fun a => L.le_opNorm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
+@[simp]
+theorem ContinuousLinearEquiv.integrable_comp_iff {φ : α → H} (L : H ≃L[𝕜] E) :
+ Integrable (fun a : α ↦ L (φ a)) μ ↔ Integrable φ μ :=
+ ⟨fun h ↦ by simpa using ContinuousLinearMap.integrable_comp (L.symm : E →L[𝕜] H) h,
+ fun h ↦ ContinuousLinearMap.integrable_comp (L : H →L[𝕜] E) h⟩
+
+@[simp]
+theorem LinearIsometryEquiv.integrable_comp_iff {φ : α → H} (L : H ≃ₗᵢ[𝕜] E) :
+ Integrable (fun a : α ↦ L (φ a)) μ ↔ Integrable φ μ :=
+ ContinuousLinearEquiv.integrable_comp_iff (L : H ≃L[𝕜] E)
+
theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
(ContinuousLinearMap.apply 𝕜 _ v).integrable_comp φ_int
deprecated
attributeWhy these changes?
@@ -185,8 +185,7 @@ theorem HasFiniteIntegral.of_finite [Finite α] [IsFiniteMeasure μ] {f : α →
let ⟨_⟩ := nonempty_fintype α
hasFiniteIntegral_of_bounded <| ae_of_all μ <| norm_le_pi_norm f
-@[deprecated] -- Since 2024/02/05
-alias hasFiniteIntegral_of_fintype := HasFiniteIntegral.of_finite
+@[deprecated] alias hasFiniteIntegral_of_fintype := HasFiniteIntegral.of_finite -- Since 2024-02-05
theorem HasFiniteIntegral.mono_measure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
HasFiniteIntegral f μ :=
@@ -500,8 +499,7 @@ theorem Integrable.of_finite [Finite α] [MeasurableSpace α] [MeasurableSinglet
(μ : Measure α) [IsFiniteMeasure μ] (f : α → β) : Integrable (fun a ↦ f a) μ :=
⟨(StronglyMeasurable.of_finite f).aestronglyMeasurable, .of_finite⟩
-@[deprecated] -- Since 2024/02/05
-alias integrable_of_fintype := Integrable.of_finite
+@[deprecated] alias integrable_of_fintype := Integrable.of_finite -- Since 2024-02-05
theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
(hp_ne_top : p ≠ ∞) : Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ := by
I add 4 iff lemmas about the integrability a function to the MeasureTheory.Function.L1Space file.
The first two lemmas are about the integrability of the sum of function and a constant under a finite measure. The other two are about the integrability of the sum of a function and an integrable function.
@@ -697,6 +697,27 @@ theorem integrable_neg_iff {f : α → β} : Integrable (-f) μ ↔ Integrable f
⟨fun h => neg_neg f ▸ h.neg, Integrable.neg⟩
#align measure_theory.integrable_neg_iff MeasureTheory.integrable_neg_iff
+@[simp]
+lemma integrable_add_iff_integrable_right {f g : α → β} (hf : Integrable f μ) :
+ Integrable (f + g) μ ↔ Integrable g μ :=
+ ⟨fun h ↦ show g = f + g + (-f) by simp only [add_neg_cancel_comm] ▸ h.add hf.neg,
+ fun h ↦ hf.add h⟩
+
+@[simp]
+lemma integrable_add_iff_integrable_left {f g : α → β} (hf : Integrable f μ) :
+ Integrable (g + f) μ ↔ Integrable g μ := by
+ rw [add_comm, integrable_add_iff_integrable_right hf]
+
+@[simp]
+lemma integrable_add_const_iff [IsFiniteMeasure μ] {f : α → β} {c : β} :
+ Integrable (fun x ↦ f x + c) μ ↔ Integrable f μ :=
+ integrable_add_iff_integrable_left (integrable_const _)
+
+@[simp]
+lemma integrable_const_add_iff [IsFiniteMeasure μ] {f : α → β} {c : β} :
+ Integrable (fun x ↦ c + f x) μ ↔ Integrable f μ :=
+ integrable_add_iff_integrable_right (integrable_const _)
+
theorem Integrable.sub {f g : α → β} (hf : Integrable f μ) (hg : Integrable g μ) :
Integrable (f - g) μ := by simpa only [sub_eq_add_neg] using hf.add hg.neg
#align measure_theory.integrable.sub MeasureTheory.Integrable.sub
@@ -341,7 +341,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· apply norm_sub_le
· exact norm_nonneg _
· exact norm_nonneg _
- _ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := (add_le_add h₁ h₂)
+ _ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := add_le_add h₁ h₂
_ = b a := by rw [← two_mul]
-- On the other hand, `F n a --> f a` implies that `‖F n a - f a‖ --> 0`
have h : ∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a - f a‖) atTop (𝓝 0) := by
@@ -668,7 +668,7 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
-- After leanprover/lean4#2734, we need to do beta reduction before `exact mod_cast`
beta_reduce
exact mod_cast nnnorm_add_le _ _
- _ = _ := (lintegral_nnnorm_add_left hf.aestronglyMeasurable _)
+ _ = _ := lintegral_nnnorm_add_left hf.aestronglyMeasurable _
_ < ∞ := add_lt_top.2 ⟨hf.hasFiniteIntegral, hg.hasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
We already have that ∫ (x : ℝ), u x * v' x = b' - a' - ∫ (x : ℝ), u' x * v x
if u * v
tends to a'
and b'
at minus infinity and infinity. Assuming morevoer that u * v
is integrable, we show that it tends to 0
at minus infinity and infinity, and therefore that ∫ (x : ℝ), u x * v' x = - ∫ (x : ℝ), u' x * v x
. We also give versions with a general bilinear form instead of multiplication.
@@ -570,6 +570,11 @@ theorem Integrable.smul_measure {f : α → β} (h : Integrable f μ) {c : ℝ
exact h.smul_measure hc
#align measure_theory.integrable.smul_measure MeasureTheory.Integrable.smul_measure
+theorem Integrable.smul_measure_nnreal {f : α → β} (h : Integrable f μ) {c : ℝ≥0} :
+ Integrable f (c • μ) := by
+ apply h.smul_measure
+ simp
+
theorem integrable_smul_measure {f : α → β} {c : ℝ≥0∞} (h₁ : c ≠ 0) (h₂ : c ≠ ∞) :
Integrable f (c • μ) ↔ Integrable f μ :=
⟨fun h => by
@@ -809,9 +809,9 @@ theorem Integrable.measure_norm_ge_lt_top {f : α → β} (hf : Integrable f μ)
rw [show { x | ε ≤ ‖f x‖ } = { x | ENNReal.ofReal ε ≤ ‖f x‖₊ } by
simp only [ENNReal.ofReal, Real.toNNReal_le_iff_le_coe, ENNReal.coe_le_coe, coe_nnnorm]]
refine' (meas_ge_le_mul_pow_snorm μ one_ne_zero ENNReal.one_ne_top hf.1 _).trans_lt _
- · simpa only [Ne.def, ENNReal.ofReal_eq_zero, not_le] using hε
+ · simpa only [Ne, ENNReal.ofReal_eq_zero, not_le] using hε
apply ENNReal.mul_lt_top
- · simpa only [ENNReal.one_toReal, ENNReal.rpow_one, Ne.def, ENNReal.inv_eq_top,
+ · simpa only [ENNReal.one_toReal, ENNReal.rpow_one, Ne, ENNReal.inv_eq_top,
ENNReal.ofReal_eq_zero, not_le] using hε
simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(memℒp_one_iff_integrable.2 hf).snorm_ne_top
@@ -876,14 +876,14 @@ theorem ofReal_toReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x <
(fun x => ENNReal.ofReal (f x).toReal) =ᵐ[μ] f := by
filter_upwards [hf]
intro x hx
- simp only [hx.ne, ofReal_toReal, Ne.def, not_false_iff]
+ simp only [hx.ne, ofReal_toReal, Ne, not_false_iff]
#align measure_theory.of_real_to_real_ae_eq MeasureTheory.ofReal_toReal_ae_eq
theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x < ∞) :
(fun x => ((f x).toNNReal : ℝ≥0∞)) =ᵐ[μ] f := by
filter_upwards [hf]
intro x hx
- simp only [hx.ne, Ne.def, not_false_iff, coe_toNNReal]
+ simp only [hx.ne, Ne, not_false_iff, coe_toNNReal]
#align measure_theory.coe_to_nnreal_ae_eq MeasureTheory.coe_toNNReal_ae_eq
section
@@ -985,7 +985,7 @@ noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f)
rcases eq_or_ne (f x) 0 with (hx | hx)
· simp only [hx, zero_smul, add_zero]
· rw [h'' _, Pi.add_apply, smul_add]
- simpa only [Ne.def, ENNReal.coe_eq_zero] using hx
+ simpa only [Ne, ENNReal.coe_eq_zero] using hx
map_smul' := by
intro r u
ext1
@@ -998,7 +998,7 @@ noncomputable def withDensitySMulLI {f : α → ℝ≥0} (f_meas : Measurable f)
rcases eq_or_ne (f x) 0 with (hx | hx)
· simp only [hx, zero_smul, smul_zero]
· rw [h _, smul_comm, Pi.smul_apply]
- simpa only [Ne.def, ENNReal.coe_eq_zero] using hx
+ simpa only [Ne, ENNReal.coe_eq_zero] using hx
norm_map' := by
intro u
-- Porting note: Lean can't infer types of `AddHom.coe_mk`.
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
.
@@ -1168,9 +1168,9 @@ theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜)
end NormedDivisionRing
-section IsROrC
+section RCLike
-variable {𝕜 : Type*} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [RCLike 𝕜] {f : α → 𝕜}
theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => (f x : 𝕜)) μ := by
@@ -1179,23 +1179,23 @@ theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) :
#align measure_theory.integrable.of_real MeasureTheory.Integrable.ofReal
theorem Integrable.re_im_iff :
- Integrable (fun x => IsROrC.re (f x)) μ ∧ Integrable (fun x => IsROrC.im (f x)) μ ↔
+ Integrable (fun x => RCLike.re (f x)) μ ∧ Integrable (fun x => RCLike.im (f x)) μ ↔
Integrable f μ := by
simp_rw [← memℒp_one_iff_integrable]
exact memℒp_re_im_iff
#align measure_theory.integrable.re_im_iff MeasureTheory.Integrable.re_im_iff
-theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => IsROrC.re (f x)) μ := by
+theorem Integrable.re (hf : Integrable f μ) : Integrable (fun x => RCLike.re (f x)) μ := by
rw [← memℒp_one_iff_integrable] at hf ⊢
exact hf.re
#align measure_theory.integrable.re MeasureTheory.Integrable.re
-theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => IsROrC.im (f x)) μ := by
+theorem Integrable.im (hf : Integrable f μ) : Integrable (fun x => RCLike.im (f x)) μ := by
rw [← memℒp_one_iff_integrable] at hf ⊢
exact hf.im
#align measure_theory.integrable.im MeasureTheory.Integrable.im
-end IsROrC
+end RCLike
section Trim
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>
@@ -110,8 +110,6 @@ theorem hasFiniteIntegral_def {_ : MeasurableSpace α} (f : α → β) (μ : Mea
HasFiniteIntegral f μ ↔ ((∫⁻ a, ‖f a‖₊ ∂μ) < ∞) :=
Iff.rfl
-attribute [eqns hasFiniteIntegral_def] HasFiniteIntegral
-
theorem hasFiniteIntegral_iff_norm (f : α → β) :
HasFiniteIntegral f μ ↔ (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) < ∞ := by
simp only [HasFiniteIntegral, ofReal_norm_eq_coe_nnnorm]
@@ -440,12 +438,6 @@ def Integrable {α} {_ : MeasurableSpace α} (f : α → β) (μ : Measure α :=
AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ
#align measure_theory.integrable MeasureTheory.Integrable
-theorem integrable_def {α} {_ : MeasurableSpace α} (f : α → β) (μ : Measure α) :
- Integrable f μ ↔ (AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ) :=
- Iff.rfl
-
-attribute [eqns integrable_def] Integrable
-
theorem memℒp_one_iff_integrable {f : α → β} : Memℒp f 1 μ ↔ Integrable f μ := by
simp_rw [Integrable, HasFiniteIntegral, Memℒp, snorm_one_eq_lintegral_nnnorm]
#align measure_theory.mem_ℒp_one_iff_integrable MeasureTheory.memℒp_one_iff_integrable
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)
@@ -55,9 +55,7 @@ open Topology BigOperators ENNReal MeasureTheory NNReal
open Set Filter TopologicalSpace ENNReal EMetric MeasureTheory
variable {α β γ δ : Type*} {m : MeasurableSpace α} {μ ν : Measure α} [MeasurableSpace δ]
-
variable [NormedAddCommGroup β]
-
variable [NormedAddCommGroup γ]
namespace MeasureTheory
@@ -1110,7 +1108,6 @@ end BoundedSMul
section NormedSpaceOverCompleteField
variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜]
-
variable {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
open Classical
(#11199)
We remove all but one open Classical
s, instead preferring to use open scoped Classical
. The only real side-effect this led to is moving a couple declarations to use Exists.choose
instead of Classical.choose
.
The first few commits are explicitly labelled regex replaces for ease of review.
@@ -49,7 +49,8 @@ integrable, function space, l1
noncomputable section
-open Classical Topology BigOperators ENNReal MeasureTheory NNReal
+open scoped Classical
+open Topology BigOperators ENNReal MeasureTheory NNReal
open Set Filter TopologicalSpace ENNReal EMetric MeasureTheory
@@ -434,7 +434,7 @@ end NormedSpace
/-! ### The predicate `Integrable` -/
--- variables [measurable_space β] [measurable_space γ] [measurable_space δ]
+-- variable [MeasurableSpace β] [MeasurableSpace γ] [MeasurableSpace δ]
/-- `Integrable f μ` means that `f` is measurable and that the integral `∫⁻ a, ‖f a‖ ∂μ` is finite.
`Integrable f` means `Integrable f volume`. -/
def Integrable {α} {_ : MeasurableSpace α} (f : α → β) (μ : Measure α := by volume_tac) : Prop :=
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>
@@ -353,8 +353,8 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
rwa [← tendsto_iff_norm_sub_tendsto_zero]
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
- suffices h : Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 (∫⁻ _ : α, 0 ∂μ))
- · rwa [lintegral_zero] at h
+ suffices Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 (∫⁻ _ : α, 0 ∂μ)) by
+ rwa [lintegral_zero] at this
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
-- Show `fun a => ‖f a - F n a‖` is almost everywhere measurable for all `n`
Fintype
-> Finite
(#10289)
hasFiniteIntegral_of_fintype
to HasFiniteIntegral.of_finite
, generalize to [Finite α]
, golf.integrable_of_fintype
to Integrable.of_finite
, generalize to [Finite α]
.SimpleFunc.ofFintype
to SimpleFunc.ofFinite
, generalize to [Finite α]
, use it to golf SimpleFunc.ofIsEmpty
.stronglyMeasurable_of_fintype
to StronglyMeasurable.of_finite
, deprecate stronglyMeasurable_of_isEmpty
.@@ -183,14 +183,13 @@ theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C :
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
-theorem hasFiniteIntegral_of_fintype [Fintype α] [IsFiniteMeasure μ] {f : α → β} :
+theorem HasFiniteIntegral.of_finite [Finite α] [IsFiniteMeasure μ] {f : α → β} :
HasFiniteIntegral f μ :=
- hasFiniteIntegral_of_bounded (C := (Finset.sup .univ (fun a => ‖f a‖₊) : NNReal)) <| by
- apply ae_of_all μ
- intro x
- rw [← coe_nnnorm (f x)]
- apply NNReal.toReal_le_toReal
- apply Finset.le_sup (Finset.mem_univ x)
+ let ⟨_⟩ := nonempty_fintype α
+ hasFiniteIntegral_of_bounded <| ae_of_all μ <| norm_le_pi_norm f
+
+@[deprecated] -- Since 2024/02/05
+alias hasFiniteIntegral_of_fintype := HasFiniteIntegral.of_finite
theorem HasFiniteIntegral.mono_measure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
HasFiniteIntegral f μ :=
@@ -506,10 +505,12 @@ theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun _ : α
#align measure_theory.integrable_const MeasureTheory.integrable_const
@[simp]
-theorem integrable_of_fintype [Fintype α] [MeasurableSpace α] [MeasurableSingletonClass α]
+theorem Integrable.of_finite [Finite α] [MeasurableSpace α] [MeasurableSingletonClass α]
(μ : Measure α) [IsFiniteMeasure μ] (f : α → β) : Integrable (fun a ↦ f a) μ :=
- ⟨ StronglyMeasurable.aestronglyMeasurable (stronglyMeasurable_of_fintype f),
- hasFiniteIntegral_of_fintype ⟩
+ ⟨(StronglyMeasurable.of_finite f).aestronglyMeasurable, .of_finite⟩
+
+@[deprecated] -- Since 2024/02/05
+alias integrable_of_fintype := Integrable.of_finite
theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
(hp_ne_top : p ≠ ∞) : Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ := by
@@ -1519,7 +1519,7 @@ theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E)
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
(L.continuous.comp_aestronglyMeasurable φ_int.aestronglyMeasurable)
- (eventually_of_forall fun a => L.le_op_norm (φ a))
+ (eventually_of_forall fun a => L.le_opNorm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
@@ -107,7 +107,6 @@ def HasFiniteIntegral {_ : MeasurableSpace α} (f : α → β) (μ : Measure α
(∫⁻ a, ‖f a‖₊ ∂μ) < ∞
#align measure_theory.has_finite_integral MeasureTheory.HasFiniteIntegral
--- Porting note: TODO Delete this when leanprover/lean4#2243 is fixed.
theorem hasFiniteIntegral_def {_ : MeasurableSpace α} (f : α → β) (μ : Measure α) :
HasFiniteIntegral f μ ↔ ((∫⁻ a, ‖f a‖₊ ∂μ) < ∞) :=
Iff.rfl
@@ -443,7 +442,6 @@ def Integrable {α} {_ : MeasurableSpace α} (f : α → β) (μ : Measure α :=
AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ
#align measure_theory.integrable MeasureTheory.Integrable
--- Porting note: TODO Delete this when leanprover/lean4#2243 is fixed.
theorem integrable_def {α} {_ : MeasurableSpace α} (f : α → β) (μ : Measure α) :
Integrable f μ ↔ (AEStronglyMeasurable f μ ∧ HasFiniteIntegral f μ) :=
Iff.rfl
abs
(#9553)
The current design for abs
is flawed:
Abs
notation typeclass has exactly two instances: one for [Neg α] [Sup α]
, one for [Inv α] [Sup α]
. This means that:
Abs.abs
Abs
instances!Algebra.Order.Group.Abs
are about the additive version.Algebra.Order.Group.PosPart
, and they get additivised to duplicates of the lemmas in Algebra.Order.Group.Abs
!This PR changes the notation typeclass with two new definitions (related through to_additive
): mabs
and abs
. abs
inherits the |a|
notation and mabs
gets |a|ₘ
instead.
The first half of Algebra.Order.Group.Abs
gets multiplicativised. A later PR will multiplicativise the second half, and another one will deduplicate the lemmas in Algebra.Order.Group.PosPart
.
Part of #9411.
Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>
@@ -388,7 +388,7 @@ theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ
theorem HasFiniteIntegral.min_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => min (f a) 0) μ :=
- hf.mono <| eventually_of_forall fun x => by simpa [abs_le] using neg_abs_le_self _
+ hf.mono <| eventually_of_forall fun x => by simpa [abs_le] using neg_abs_le _
#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.min_zero
end PosPart
@@ -849,7 +849,7 @@ lemma Integrable.measure_le_lt_top {f : α → ℝ} (hf : Integrable f μ) {c :
refine lt_of_le_of_lt (measure_mono ?_) (hf.measure_norm_ge_lt_top (show 0 < -c by linarith))
intro x hx
simp only [Real.norm_eq_abs, Set.mem_setOf_eq] at hx ⊢
- exact (show -c ≤ - f x by linarith).trans (neg_le_abs_self _)
+ exact (show -c ≤ - f x by linarith).trans (neg_le_abs _)
/-- If `f` is `ℝ`-valued and integrable, then for any `c > 0` the set `{x | f x > c}` has finite
measure. -/
@@ -825,7 +825,7 @@ theorem Integrable.measure_norm_ge_lt_top {f : α → β} (hf : Integrable f μ)
ENNReal.ofReal_eq_zero, not_le] using hε
simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(memℒp_one_iff_integrable.2 hf).snorm_ne_top
-#align measure_theory.integrable.measurege_lt_top MeasureTheory.Integrable.measure_norm_ge_lt_top
+#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_norm_ge_lt_top
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
where `‖f x‖ > ε` is finite for all positive `ε`. -/
@@ -747,7 +747,7 @@ theorem Integrable.bdd_mul {F : Type*} [NormedDivisionRing F] {f g : α → F} (
exact ENNReal.mul_lt_top ENNReal.coe_ne_top (ne_of_lt hint.2)
#align measure_theory.integrable.bdd_mul MeasureTheory.Integrable.bdd_mul
-/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
+/-- **Hölder's inequality for integrable functions**: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
theorem Integrable.essSup_smul {𝕜 : Type*} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
(hf : Integrable f μ) {g : α → 𝕜} (g_aestronglyMeasurable : AEStronglyMeasurable g μ)
exact_mod_cast
tactic with mod_cast
elaborator where possible (#8404)
We still have the exact_mod_cast
tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast
are the ones that don't work using the term elaborator by itself.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -404,9 +404,9 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
(∫⁻ a : α, ‖c • f a‖₊ ∂μ) ≤ ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ := by
refine' lintegral_mono _
intro i
- -- After leanprover/lean4#2734, we need to do beta reduction `exact_mod_cast`
+ -- After leanprover/lean4#2734, we need to do beta reduction `exact mod_cast`
beta_reduce
- exact_mod_cast (nnnorm_smul_le c (f i))
+ exact mod_cast (nnnorm_smul_le c (f i))
_ < ∞ := by
rw [lintegral_const_mul']
exacts [mul_lt_top coe_ne_top hfi.ne, coe_ne_top]
@@ -670,9 +670,9 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
calc
(∫⁻ a, ‖f a + g a‖₊ ∂μ) ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
lintegral_mono fun a => by
- -- After leanprover/lean4#2734, we need to do beta reduction before `exact_mod_cast`
+ -- After leanprover/lean4#2734, we need to do beta reduction before `exact mod_cast`
beta_reduce
- exact_mod_cast nnnorm_add_le _ _
+ exact mod_cast nnnorm_add_le _ _
_ = _ := (lintegral_nnnorm_add_left hf.aestronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.hasFiniteIntegral, hg.hasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
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.
In particular this includes adjustments for the Lean PRs
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).
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})
.
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:
(config := { unfoldPartialApp := true })
in some places, to recover the old behaviour@[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>
@@ -229,7 +229,7 @@ theorem HasFiniteIntegral.smul_measure {f : α → β} (h : HasFiniteIntegral f
@[simp]
theorem hasFiniteIntegral_zero_measure {m : MeasurableSpace α} (f : α → β) :
HasFiniteIntegral f (0 : Measure α) := by
- simp only [HasFiniteIntegral, lintegral_zero_measure, WithTop.zero_lt_top]
+ simp only [HasFiniteIntegral, lintegral_zero_measure, zero_lt_top]
#align measure_theory.has_finite_integral_zero_measure MeasureTheory.hasFiniteIntegral_zero_measure
variable (α β μ)
some
to ofNNReal
(#8276)
The some
name feels like an implementation detail.
@@ -266,7 +266,7 @@ theorem hasFiniteIntegral_norm_iff (f : α → β) :
theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf : (∫⁻ x, f x ∂μ) ≠ ∞) :
HasFiniteIntegral (fun x => (f x).toReal) μ := by
have :
- ∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = ENNReal.some ⟨(f x).toReal, ENNReal.toReal_nonneg⟩ := by
+ ∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = ENNReal.ofNNReal ⟨(f x).toReal, ENNReal.toReal_nonneg⟩ := by
intro x
rw [Real.nnnorm_of_nonneg]
simp_rw [HasFiniteIntegral, this]
This incorporates changes from
nightly-testing
are unexciting: we need to fully qualify a few names)They can all be closed when this is merged.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -404,6 +404,8 @@ theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β]
(∫⁻ a : α, ‖c • f a‖₊ ∂μ) ≤ ∫⁻ a : α, ‖c‖₊ * ‖f a‖₊ ∂μ := by
refine' lintegral_mono _
intro i
+ -- After leanprover/lean4#2734, we need to do beta reduction `exact_mod_cast`
+ beta_reduce
exact_mod_cast (nnnorm_smul_le c (f i))
_ < ∞ := by
rw [lintegral_const_mul']
@@ -667,7 +669,10 @@ theorem Integrable.add' {f g : α → β} (hf : Integrable f μ) (hg : Integrabl
HasFiniteIntegral (f + g) μ :=
calc
(∫⁻ a, ‖f a + g a‖₊ ∂μ) ≤ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ :=
- lintegral_mono fun a => by exact_mod_cast nnnorm_add_le _ _
+ lintegral_mono fun a => by
+ -- After leanprover/lean4#2734, we need to do beta reduction before `exact_mod_cast`
+ beta_reduce
+ exact_mod_cast nnnorm_add_le _ _
_ = _ := (lintegral_nnnorm_add_left hf.aestronglyMeasurable _)
_ < ∞ := add_lt_top.2 ⟨hf.hasFiniteIntegral, hg.hasFiniteIntegral⟩
#align measure_theory.integrable.add' MeasureTheory.Integrable.add'
Four lemmas are moved from Algebra/Order/Monoid/Defs.lean to Algebra/Order/Group/Defs.lean and generalized
Four lemmas are moved from Algebra/Order/Ring/Abs.lean to Algebra/Order/Group/Abs.lean and generalized
Four lemmas are added in Algebra/Order/Monoid/Defs.lean. They're special cases of one_le_pow_iff, but I can't import the file without offending assert_not_exists.
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@@ -388,9 +388,7 @@ theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ
theorem HasFiniteIntegral.min_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
HasFiniteIntegral (fun a => min (f a) 0) μ :=
- hf.mono <|
- eventually_of_forall fun x => by
- simp [abs_le, neg_le, neg_le_abs_self, abs_eq_max_neg, le_total]
+ hf.mono <| eventually_of_forall fun x => by simpa [abs_le] using neg_abs_le_self _
#align measure_theory.has_finite_integral.min_zero MeasureTheory.HasFiniteIntegral.min_zero
end PosPart
Removes nonterminal simps on lines looking like simp [...]
@@ -1262,7 +1262,7 @@ def Integrable (f : α →ₘ[μ] β) : Prop :=
theorem integrable_mk {f : α → β} (hf : AEStronglyMeasurable f μ) :
Integrable (mk f hf : α →ₘ[μ] β) ↔ MeasureTheory.Integrable f μ := by
- simp [Integrable]
+ simp only [Integrable]
apply integrable_congr
exact coeFn_mk f hf
#align measure_theory.ae_eq_fun.integrable_mk MeasureTheory.AEEqFun.integrable_mk
@@ -1347,12 +1347,14 @@ theorem aemeasurable_coeFn [MeasurableSpace β] [BorelSpace β] (f : α →₁[
#align measure_theory.L1.ae_measurable_coe_fn MeasureTheory.L1.aemeasurable_coeFn
theorem edist_def (f g : α →₁[μ] β) : edist f g = ∫⁻ a, edist (f a) (g a) ∂μ := by
- simp [Lp.edist_def, snorm, snorm']
+ simp only [Lp.edist_def, snorm, one_ne_zero, snorm', Pi.sub_apply, one_toReal, ENNReal.rpow_one,
+ ne_eq, not_false_eq_true, div_self, ite_false]
simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.edist_def MeasureTheory.L1.edist_def
theorem dist_def (f g : α →₁[μ] β) : dist f g = (∫⁻ a, edist (f a) (g a) ∂μ).toReal := by
- simp [Lp.dist_def, snorm, snorm']
+ simp only [Lp.dist_def, snorm, one_ne_zero, snorm', Pi.sub_apply, one_toReal, ENNReal.rpow_one,
+ ne_eq, not_false_eq_true, div_self, ite_false]
simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.L1.dist_def MeasureTheory.L1.dist_def
@@ -1443,7 +1445,8 @@ theorem toL1_sub (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ)
theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, edist (f a) 0 ∂μ) := by
- simp [toL1, snorm, snorm']
+ simp only [toL1, Lp.norm_toLp, snorm, one_ne_zero, snorm', one_toReal, ENNReal.rpow_one, ne_eq,
+ not_false_eq_true, div_self, ite_false]
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
@@ -1459,14 +1462,16 @@ theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
@[simp]
theorem edist_toL1_toL1 (f g : α → β) (hf : Integrable f μ) (hg : Integrable g μ) :
edist (hf.toL1 f) (hg.toL1 g) = ∫⁻ a, edist (f a) (g a) ∂μ := by
- simp [Integrable.toL1, snorm, snorm']
+ simp only [toL1, Lp.edist_toLp_toLp, snorm, one_ne_zero, snorm', Pi.sub_apply, one_toReal,
+ ENNReal.rpow_one, ne_eq, not_false_eq_true, div_self, ite_false]
simp [edist_eq_coe_nnnorm_sub]
#align measure_theory.integrable.edist_to_L1_to_L1 MeasureTheory.Integrable.edist_toL1_toL1
@[simp]
theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
edist (hf.toL1 f) 0 = ∫⁻ a, edist (f a) 0 ∂μ := by
- simp [Integrable.toL1, snorm, snorm']
+ simp only [toL1, Lp.edist_toLp_zero, snorm, one_ne_zero, snorm', one_toReal, ENNReal.rpow_one,
+ ne_eq, not_false_eq_true, div_self, ite_false]
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.edist_to_L1_zero MeasureTheory.Integrable.edist_toL1_zero
@@ -1447,6 +1447,10 @@ theorem norm_toL1 (f : α → β) (hf : Integrable f μ) :
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.norm_to_L1 MeasureTheory.Integrable.norm_toL1
+theorem nnnorm_toL1 {f : α → β} (hf : Integrable f μ) :
+ (‖hf.toL1 f‖₊ : ℝ≥0∞) = ∫⁻ a, ‖f a‖₊ ∂μ := by
+ simpa [Integrable.toL1, snorm, snorm'] using ENNReal.coe_toNNReal hf.2.ne
+
theorem norm_toL1_eq_lintegral_norm (f : α → β) (hf : Integrable f μ) :
‖hf.toL1 f‖ = ENNReal.toReal (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) := by
rw [norm_toL1, lintegral_norm_eq_lintegral_edist]
CompleteSpace
assumptions (#7691)
Also add completeSpace_prod
, integrable_prod
.
@@ -801,8 +801,7 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
eventually_of_forall fun x =>
calc
max ‖f x‖ ‖g x‖ ≤ ‖f x‖ + ‖g x‖ := max_le_add_of_nonneg (norm_nonneg _) (norm_nonneg _)
- _ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _
- ⟩
+ _ ≤ ‖‖f x‖ + ‖g x‖‖ := le_abs_self _⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
@@ -1499,20 +1498,40 @@ end restrict
end MeasureTheory
+section ContinuousLinearMap
+
open MeasureTheory
variable {E : Type*} [NormedAddCommGroup E] {𝕜 : Type*} [NontriviallyNormedField 𝕜]
[NormedSpace 𝕜 E] {H : Type*} [NormedAddCommGroup H] [NormedSpace 𝕜 H]
-theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
- (φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
- (φ_int.norm.mul_const ‖v‖).mono' (φ_int.aestronglyMeasurable.apply_continuousLinearMap v)
- (eventually_of_forall fun a => (φ a).le_op_norm v)
-#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.apply_continuousLinearMap
-
theorem ContinuousLinearMap.integrable_comp {φ : α → H} (L : H →L[𝕜] E) (φ_int : Integrable φ μ) :
Integrable (fun a : α => L (φ a)) μ :=
((Integrable.norm φ_int).const_mul ‖L‖).mono'
(L.continuous.comp_aestronglyMeasurable φ_int.aestronglyMeasurable)
(eventually_of_forall fun a => L.le_op_norm (φ a))
#align continuous_linear_map.integrable_comp ContinuousLinearMap.integrable_comp
+
+theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
+ (φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
+ (ContinuousLinearMap.apply 𝕜 _ v).integrable_comp φ_int
+#align measure_theory.integrable.apply_continuous_linear_map MeasureTheory.Integrable.apply_continuousLinearMap
+
+end ContinuousLinearMap
+
+namespace MeasureTheory
+
+variable {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
+ [NormedAddCommGroup F] [NormedSpace ℝ F]
+
+lemma Integrable.fst {f : α → E × F} (hf : Integrable f μ) : Integrable (fun x ↦ (f x).1) μ :=
+ (ContinuousLinearMap.fst ℝ E F).integrable_comp hf
+
+lemma Integrable.snd {f : α → E × F} (hf : Integrable f μ) : Integrable (fun x ↦ (f x).2) μ :=
+ (ContinuousLinearMap.snd ℝ E F).integrable_comp hf
+
+lemma integrable_prod {f : α → E × F} :
+ Integrable f μ ↔ Integrable (fun x ↦ (f x).1) μ ∧ Integrable (fun x ↦ (f x).2) μ :=
+ ⟨fun h ↦ ⟨h.fst, h.snd⟩, fun h ↦ h.1.prod_mk h.2⟩
+
+end MeasureTheory
Layer cake formulas currently exist for ENNReal
-valued functions and Lebesgue integrals. This PR adds the most common version of the layer cake formula for integrable a.e.-nonnegative real-valued functions and Bochner integrals.
Co-authored-by: kkytola <“kalle.kytola@aalto.fi”> Co-authored-by: kkytola <39528102+kkytola@users.noreply.github.com>
@@ -812,7 +812,7 @@ theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsF
/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
where `‖f x‖ ≥ ε` is finite for all positive `ε`. -/
-theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
+theorem Integrable.measure_norm_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
μ { x | ε ≤ ‖f x‖ } < ∞ := by
rw [show { x | ε ≤ ‖f x‖ } = { x | ENNReal.ofReal ε ≤ ‖f x‖₊ } by
simp only [ENNReal.ofReal, Real.toNNReal_le_iff_le_coe, ENNReal.coe_le_coe, coe_nnnorm]]
@@ -823,7 +823,45 @@ theorem Integrable.measure_ge_lt_top {f : α → β} (hf : Integrable f μ) {ε
ENNReal.ofReal_eq_zero, not_le] using hε
simpa only [ENNReal.one_toReal, ENNReal.rpow_one] using
(memℒp_one_iff_integrable.2 hf).snorm_ne_top
-#align measure_theory.integrable.measure_ge_lt_top MeasureTheory.Integrable.measure_ge_lt_top
+#align measure_theory.integrable.measurege_lt_top MeasureTheory.Integrable.measure_norm_ge_lt_top
+
+/-- A non-quantitative version of Markov inequality for integrable functions: the measure of points
+where `‖f x‖ > ε` is finite for all positive `ε`. -/
+lemma Integrable.measure_norm_gt_lt_top {f : α → β} (hf : Integrable f μ) {ε : ℝ} (hε : 0 < ε) :
+ μ {x | ε < ‖f x‖} < ∞ :=
+ lt_of_le_of_lt (measure_mono (fun _ h ↦ (Set.mem_setOf_eq ▸ h).le)) (hf.measure_norm_ge_lt_top hε)
+
+/-- If `f` is `ℝ`-valued and integrable, then for any `c > 0` the set `{x | f x ≥ c}` has finite
+measure. -/
+lemma Integrable.measure_ge_lt_top {f : α → ℝ} (hf : Integrable f μ) {ε : ℝ} (ε_pos : 0 < ε) :
+ μ {a : α | ε ≤ f a} < ∞ := by
+ refine lt_of_le_of_lt (measure_mono ?_) (hf.measure_norm_ge_lt_top ε_pos)
+ intro x hx
+ simp only [Real.norm_eq_abs, Set.mem_setOf_eq] at hx ⊢
+ exact hx.trans (le_abs_self _)
+
+/-- If `f` is `ℝ`-valued and integrable, then for any `c < 0` the set `{x | f x ≤ c}` has finite
+measure. -/
+lemma Integrable.measure_le_lt_top {f : α → ℝ} (hf : Integrable f μ) {c : ℝ} (c_neg : c < 0) :
+ μ {a : α | f a ≤ c} < ∞ := by
+ refine lt_of_le_of_lt (measure_mono ?_) (hf.measure_norm_ge_lt_top (show 0 < -c by linarith))
+ intro x hx
+ simp only [Real.norm_eq_abs, Set.mem_setOf_eq] at hx ⊢
+ exact (show -c ≤ - f x by linarith).trans (neg_le_abs_self _)
+
+/-- If `f` is `ℝ`-valued and integrable, then for any `c > 0` the set `{x | f x > c}` has finite
+measure. -/
+lemma Integrable.measure_gt_lt_top {f : α → ℝ} (hf : Integrable f μ) {ε : ℝ} (ε_pos : 0 < ε) :
+ μ {a : α | ε < f a} < ∞ :=
+ lt_of_le_of_lt (measure_mono (fun _ hx ↦ (Set.mem_setOf_eq ▸ hx).le))
+ (Integrable.measure_ge_lt_top hf ε_pos)
+
+/-- If `f` is `ℝ`-valued and integrable, then for any `c < 0` the set `{x | f x < c}` has finite
+measure. -/
+lemma Integrable.measure_lt_lt_top {f : α → ℝ} (hf : Integrable f μ) {c : ℝ} (c_neg : c < 0) :
+ μ {a : α | f a < c} < ∞ :=
+ lt_of_le_of_lt (measure_mono (fun _ hx ↦ (Set.mem_setOf_eq ▸ hx).le))
+ (Integrable.measure_le_lt_top hf c_neg)
theorem LipschitzWith.integrable_comp_iff_of_antilipschitz {K K'} {f : α → β} {g : β → γ}
(hg : LipschitzWith K g) (hg' : AntilipschitzWith K' g) (g0 : g 0 = 0) :
@@ -1443,6 +1481,22 @@ theorem toL1_smul' (f : α → β) (hf : Integrable f μ) (k : 𝕜) :
end Integrable
+section restrict
+
+variable {E : Type*} [NormedAddCommGroup E] {f : α → E}
+
+lemma HasFiniteIntegral.restrict (h : HasFiniteIntegral f μ) {s : Set α} :
+ HasFiniteIntegral f (μ.restrict s) := by
+ refine lt_of_le_of_lt ?_ h
+ convert lintegral_mono_set (μ := μ) (s := s) (t := univ) (f := fun x ↦ ↑‖f x‖₊) (subset_univ s)
+ exact Measure.restrict_univ.symm
+
+lemma Integrable.restrict (f_intble : Integrable f μ) {s : Set α} :
+ Integrable f (μ.restrict s) :=
+ ⟨f_intble.aestronglyMeasurable.restrict, f_intble.hasFiniteIntegral.restrict⟩
+
+end restrict
+
end MeasureTheory
open MeasureTheory
The main result is that the integral (i.e. the expected value) with regard to a
measure derived from a Pmf
is a sum weighted by the Pmf
.
It also provides the expected value for specific probability mass functions (bernoulli so far).
@@ -184,6 +184,15 @@ theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C :
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
+theorem hasFiniteIntegral_of_fintype [Fintype α] [IsFiniteMeasure μ] {f : α → β} :
+ HasFiniteIntegral f μ :=
+ hasFiniteIntegral_of_bounded (C := (Finset.sup .univ (fun a => ‖f a‖₊) : NNReal)) <| by
+ apply ae_of_all μ
+ intro x
+ rw [← coe_nnnorm (f x)]
+ apply NNReal.toReal_le_toReal
+ apply Finset.le_sup (Finset.mem_univ x)
+
theorem HasFiniteIntegral.mono_measure {f : α → β} (h : HasFiniteIntegral f ν) (hμ : μ ≤ ν) :
HasFiniteIntegral f μ :=
lt_of_le_of_lt (lintegral_mono' hμ le_rfl) h
@@ -498,6 +507,12 @@ theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun _ : α
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
+@[simp]
+theorem integrable_of_fintype [Fintype α] [MeasurableSpace α] [MeasurableSingletonClass α]
+ (μ : Measure α) [IsFiniteMeasure μ] (f : α → β) : Integrable (fun a ↦ f a) μ :=
+ ⟨ StronglyMeasurable.aestronglyMeasurable (stronglyMeasurable_of_fintype f),
+ hasFiniteIntegral_of_fintype ⟩
+
theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) (hp_ne_zero : p ≠ 0)
(hp_ne_top : p ≠ ∞) : Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ := by
rw [← memℒp_one_iff_integrable]
Rename:
tendsto_iff_norm_tendsto_one
→
tendsto_iff_norm_div_tendsto_zero
;tendsto_iff_norm_tendsto_zero
→
tendsto_iff_norm_sub_tendsto_zero
;tendsto_one_iff_norm_tendsto_one
→
tendsto_one_iff_norm_tendsto_zero
;Filter.Tendsto.continuous_of_equicontinuous_at
→
Filter.Tendsto.continuous_of_equicontinuousAt
.@@ -343,7 +343,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
have h : ∀ᵐ a ∂μ, Tendsto (fun n => ENNReal.ofReal ‖F n a - f a‖) atTop (𝓝 0) := by
rw [← ENNReal.ofReal_zero]
refine' h_lim.mono fun a h => (continuous_ofReal.tendsto _).comp _
- rwa [← tendsto_iff_norm_tendsto_zero]
+ rwa [← tendsto_iff_norm_sub_tendsto_zero]
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
suffices h : Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 (∫⁻ _ : α, 0 ∂μ))
@@ -98,7 +98,7 @@ theorem lintegral_nnnorm_neg {f : α → β} : (∫⁻ a, ‖(-f) a‖₊ ∂μ)
simp only [Pi.neg_apply, nnnorm_neg]
#align measure_theory.lintegral_nnnorm_neg MeasureTheory.lintegral_nnnorm_neg
-/-! ### The predicate `has_finite_integral` -/
+/-! ### The predicate `HasFiniteIntegral` -/
/-- `HasFiniteIntegral f μ` means that the integral `∫⁻ a, ‖f a‖ ∂μ` is finite.
@@ -265,8 +265,7 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
by_cases hfx : f x = ∞
· simp [hfx]
· lift f x to ℝ≥0 using hfx with fx h
- simp [← h]
- rfl
+ simp [← h, ← NNReal.coe_le_coe]
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
@@ -335,7 +334,9 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
ENNReal.ofReal ‖F n a - f a‖ ≤ ENNReal.ofReal ‖F n a‖ + ENNReal.ofReal ‖f a‖ := by
rw [← ENNReal.ofReal_add]
apply ofReal_le_ofReal
- · { apply norm_sub_le }; · { exact norm_nonneg _ }; · { exact norm_nonneg _ }
+ · apply norm_sub_le
+ · exact norm_nonneg _
+ · exact norm_nonneg _
_ ≤ ENNReal.ofReal (bound a) + ENNReal.ofReal (bound a) := (add_le_add h₁ h₂)
_ = b a := by rw [← two_mul]
-- On the other hand, `F n a --> f a` implies that `‖F n a - f a‖ --> 0`
@@ -349,7 +350,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
· rwa [lintegral_zero] at h
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
- -- Show `λa, ‖f a - F n a‖` is almost everywhere measurable for all `n`
+ -- Show `fun a => ‖f a - F n a‖` is almost everywhere measurable for all `n`
· exact fun n =>
measurable_ofReal.comp_aemeasurable ((F_measurable n).sub f_measurable).norm.aemeasurable
-- Show `2 * bound` `HasFiniteIntegral`
@@ -423,7 +424,7 @@ theorem HasFiniteIntegral.mul_const [NormedRing 𝕜] {f : α → 𝕜} (h : Has
end NormedSpace
-/-! ### The predicate `integrable` -/
+/-! ### The predicate `Integrable` -/
-- variables [measurable_space β] [measurable_space γ] [measurable_space δ]
@@ -731,16 +732,16 @@ theorem Integrable.bdd_mul {F : Type*} [NormedDivisionRing F] {f g : α → F} (
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
theorem Integrable.essSup_smul {𝕜 : Type*} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
- (hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
+ (hf : Integrable f μ) {g : α → 𝕜} (g_aestronglyMeasurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) :
Integrable (fun x : α => g x • f x) μ := by
rw [← memℒp_one_iff_integrable] at *
- refine' ⟨g_ae_strongly_measurable.smul hf.1, _⟩
+ refine' ⟨g_aestronglyMeasurable.smul hf.1, _⟩
have h : (1 : ℝ≥0∞) / 1 = 1 / ∞ + 1 / 1 := by norm_num
have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
calc
snorm (fun x : α => g x • f x) 1 μ ≤ _ :=
- MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_ae_strongly_measurable h
+ MeasureTheory.snorm_smul_le_mul_snorm hf.1 g_aestronglyMeasurable h
_ < ∞ := ENNReal.mul_lt_top hg' hf.2.ne
#align measure_theory.integrable.ess_sup_smul MeasureTheory.Integrable.essSup_smul
@@ -748,16 +749,16 @@ theorem Integrable.essSup_smul {𝕜 : Type*} [NormedField 𝕜] [NormedSpace
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
theorem Integrable.smul_essSup {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
{f : α → 𝕜} (hf : Integrable f μ) {g : α → β}
- (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
+ (g_aestronglyMeasurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) :
Integrable (fun x : α => f x • g x) μ := by
rw [← memℒp_one_iff_integrable] at *
- refine' ⟨hf.1.smul g_ae_strongly_measurable, _⟩
+ refine' ⟨hf.1.smul g_aestronglyMeasurable, _⟩
have h : (1 : ℝ≥0∞) / 1 = 1 / 1 + 1 / ∞ := by norm_num
have hg' : snorm g ∞ μ ≠ ∞ := by rwa [snorm_exponent_top]
calc
snorm (fun x : α => f x • g x) 1 μ ≤ _ :=
- MeasureTheory.snorm_smul_le_mul_snorm g_ae_strongly_measurable hf.1 h
+ MeasureTheory.snorm_smul_le_mul_snorm g_aestronglyMeasurable hf.1 h
_ < ∞ := ENNReal.mul_lt_top hf.2.ne hg'
#align measure_theory.integrable.smul_ess_sup MeasureTheory.Integrable.smul_essSup
@@ -872,7 +873,7 @@ theorem integrable_withDensity_iff_integrable_smul' {f : α → ℝ≥0∞} (hf
Integrable g (μ.withDensity f) ↔ Integrable (fun x => (f x).toReal • g x) μ := by
rw [← withDensity_congr_ae (coe_toNNReal_ae_eq hflt),
integrable_withDensity_iff_integrable_smul]
- · rfl
+ · simp_rw [NNReal.smul_def, ENNReal.toReal]
· exact hf.ennreal_toNNReal
#align measure_theory.integrable_with_density_iff_integrable_smul' MeasureTheory.integrable_withDensity_iff_integrable_smul'
@@ -1194,7 +1195,7 @@ theorem integrable_of_forall_fin_meas_le [SigmaFinite μ] (C : ℝ≥0∞) (hC :
end SigmaFinite
-/-! ### The predicate `integrable` on measurable functions modulo a.e.-equality -/
+/-! ### The predicate `Integrable` on measurable functions modulo a.e.-equality -/
namespace AEEqFun
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -53,7 +53,7 @@ open Classical Topology BigOperators ENNReal MeasureTheory NNReal
open Set Filter TopologicalSpace ENNReal EMetric MeasureTheory
-variable {α β γ δ : Type _} {m : MeasurableSpace α} {μ ν : Measure α} [MeasurableSpace δ]
+variable {α β γ δ : Type*} {m : MeasurableSpace α} {μ ν : Measure α} [MeasurableSpace δ]
variable [NormedAddCommGroup β]
@@ -387,7 +387,7 @@ end PosPart
section NormedSpace
-variable {𝕜 : Type _}
+variable {𝕜 : Type*}
theorem HasFiniteIntegral.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
{f : α → β} : HasFiniteIntegral f μ → HasFiniteIntegral (c • f) μ := by
@@ -709,7 +709,7 @@ theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf :
exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
-theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
+theorem Integrable.bdd_mul {F : Type*} [NormedDivisionRing F] {f g : α → F} (hint : Integrable g μ)
(hm : AEStronglyMeasurable f μ) (hfbdd : ∃ C, ∀ x, ‖f x‖ ≤ C) :
Integrable (fun x => f x * g x) μ := by
cases' isEmpty_or_nonempty α with hα hα
@@ -730,7 +730,7 @@ theorem Integrable.bdd_mul {F : Type _} [NormedDivisionRing F] {f g : α → F}
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
vector-valued function by a scalar function with finite essential supremum is integrable. -/
-theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
+theorem Integrable.essSup_smul {𝕜 : Type*} [NormedField 𝕜] [NormedSpace 𝕜 β] {f : α → β}
(hf : Integrable f μ) {g : α → 𝕜} (g_ae_strongly_measurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) :
Integrable (fun x : α => g x • f x) μ := by
@@ -746,7 +746,7 @@ theorem Integrable.essSup_smul {𝕜 : Type _} [NormedField 𝕜] [NormedSpace
/-- Hölder's inequality for integrable functions: the scalar multiplication of an integrable
scalar-valued function by a vector-value function with finite essential supremum is integrable. -/
-theorem Integrable.smul_essSup {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+theorem Integrable.smul_essSup {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
{f : α → 𝕜} (hf : Integrable f μ) {g : α → β}
(g_ae_strongly_measurable : AEStronglyMeasurable g μ)
(ess_sup_g : essSup (fun x => (‖g x‖₊ : ℝ≥0∞)) μ ≠ ∞) :
@@ -842,7 +842,7 @@ theorem coe_toNNReal_ae_eq {f : α → ℝ≥0∞} (hf : ∀ᵐ x ∂μ, f x <
section
-variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
+variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
theorem integrable_withDensity_iff_integrable_coe_smul {f : α → ℝ≥0} (hf : Measurable f)
{g : α → E} :
@@ -910,7 +910,7 @@ theorem integrable_withDensity_iff {f : α → ℝ≥0∞} (hf : Measurable f) (
section
-variable {E : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E]
+variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
theorem memℒ1_smul_of_L1_withDensity {f : α → ℝ≥0} (f_meas : Measurable f)
(u : Lp E 1 (μ.withDensity fun x => f x)) : Memℒp (fun x => f x • u x) 1 μ :=
@@ -1013,7 +1013,7 @@ end PosPart
section BoundedSMul
-variable {𝕜 : Type _}
+variable {𝕜 : Type*}
theorem Integrable.smul [NormedAddCommGroup 𝕜] [SMulZeroClass 𝕜 β] [BoundedSMul 𝕜 β] (c : 𝕜)
{f : α → β} (hf : Integrable f μ) : Integrable (c • f) μ :=
@@ -1053,9 +1053,9 @@ end BoundedSMul
section NormedSpaceOverCompleteField
-variable {𝕜 : Type _} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜]
+variable {𝕜 : Type*} [NontriviallyNormedField 𝕜] [CompleteSpace 𝕜]
-variable {E : Type _} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
+variable {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E]
theorem integrable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
Integrable (fun x => f x • c) μ ↔ Integrable f μ := by
@@ -1070,7 +1070,7 @@ end NormedSpaceOverCompleteField
section NormedRing
-variable {𝕜 : Type _} [NormedRing 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [NormedRing 𝕜] {f : α → 𝕜}
theorem Integrable.const_mul {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => c * f x) μ :=
@@ -1115,7 +1115,7 @@ end NormedRing
section NormedDivisionRing
-variable {𝕜 : Type _} [NormedDivisionRing 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [NormedDivisionRing 𝕜] {f : α → 𝕜}
theorem Integrable.div_const {f : α → 𝕜} (h : Integrable f μ) (c : 𝕜) :
Integrable (fun x => f x / c) μ := by simp_rw [div_eq_mul_inv, h.mul_const]
@@ -1125,7 +1125,7 @@ end NormedDivisionRing
section IsROrC
-variable {𝕜 : Type _} [IsROrC 𝕜] {f : α → 𝕜}
+variable {𝕜 : Type*} [IsROrC 𝕜] {f : α → 𝕜}
theorem Integrable.ofReal {f : α → ℝ} (hf : Integrable f μ) :
Integrable (fun x => (f x : 𝕜)) μ := by
@@ -1154,7 +1154,7 @@ end IsROrC
section Trim
-variable {H : Type _} [NormedAddCommGroup H] {m0 : MeasurableSpace α} {μ' : Measure α} {f : α → H}
+variable {H : Type*} [NormedAddCommGroup H] {m0 : MeasurableSpace α} {μ' : Measure α} {f : α → H}
theorem Integrable.trim (hm : m ≤ m0) (hf_int : Integrable f μ') (hf : StronglyMeasurable[m] f) :
Integrable f (μ'.trim hm) := by
@@ -1177,7 +1177,7 @@ end Trim
section SigmaFinite
-variable {E : Type _} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
+variable {E : Type*} {m0 : MeasurableSpace α} [NormedAddCommGroup E]
theorem integrable_of_forall_fin_meas_le' {μ : Measure α} (hm : m ≤ m0) [SigmaFinite (μ.trim hm)]
(C : ℝ≥0∞) (hC : C < ∞) {f : α → E} (hf_meas : AEStronglyMeasurable f μ)
@@ -1252,7 +1252,7 @@ end
section BoundedSMul
-variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+variable {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem Integrable.smul {c : 𝕜} {f : α →ₘ[μ] β} : Integrable f → Integrable (c • f) :=
induction_on f fun _f hfm hfi => (integrable_mk _).2 <| ((integrable_mk hfm).1 hfi).smul _
@@ -1413,7 +1413,7 @@ theorem edist_toL1_zero (f : α → β) (hf : Integrable f μ) :
simp [edist_eq_coe_nnnorm]
#align measure_theory.integrable.edist_to_L1_zero MeasureTheory.Integrable.edist_toL1_zero
-variable {𝕜 : Type _} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
+variable {𝕜 : Type*} [NormedRing 𝕜] [Module 𝕜 β] [BoundedSMul 𝕜 β]
theorem toL1_smul (f : α → β) (hf : Integrable f μ) (k : 𝕜) :
toL1 (fun a => k • f a) (hf.smul k) = k • toL1 f hf :=
@@ -1431,8 +1431,8 @@ end MeasureTheory
open MeasureTheory
-variable {E : Type _} [NormedAddCommGroup E] {𝕜 : Type _} [NontriviallyNormedField 𝕜]
- [NormedSpace 𝕜 E] {H : Type _} [NormedAddCommGroup H] [NormedSpace 𝕜 H]
+variable {E : Type*} [NormedAddCommGroup E] {𝕜 : Type*} [NontriviallyNormedField 𝕜]
+ [NormedSpace 𝕜 E] {H : Type*} [NormedAddCommGroup H] [NormedSpace 𝕜 H]
theorem MeasureTheory.Integrable.apply_continuousLinearMap {φ : α → H →L[𝕜] E}
(φ_int : Integrable φ μ) (v : H) : Integrable (fun a => φ a v) μ :=
@@ -2,14 +2,11 @@
Copyright (c) 2019 Zhouhang Zhou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
-
-! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.MeasureTheory.Function.LpOrder
+#align_import measure_theory.function.l1_space from "leanprover-community/mathlib"@"ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f"
+
/-!
# Integrable functions and `L¹` space
@@ -371,7 +371,7 @@ end DominatedConvergence
section PosPart
-/-! Lemmas used for defining the positive part of a `L¹` function -/
+/-! Lemmas used for defining the positive part of an `L¹` function -/
theorem HasFiniteIntegral.max_zero {f : α → ℝ} (hf : HasFiniteIntegral f μ) :
@@ -998,7 +998,7 @@ theorem integrable_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hfm : AEM
section PosPart
-/-! ### Lemmas used for defining the positive part of a `L¹` function -/
+/-! ### Lemmas used for defining the positive part of an `L¹` function -/
theorem Integrable.pos_part {f : α → ℝ} (hf : Integrable f μ) :
@@ -68,11 +68,11 @@ namespace MeasureTheory
theorem lintegral_nnnorm_eq_lintegral_edist (f : α → β) :
- (∫⁻ a, ‖f a‖₊ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by simp only [edist_eq_coe_nnnorm]
+ ∫⁻ a, ‖f a‖₊ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by simp only [edist_eq_coe_nnnorm]
#align measure_theory.lintegral_nnnorm_eq_lintegral_edist MeasureTheory.lintegral_nnnorm_eq_lintegral_edist
theorem lintegral_norm_eq_lintegral_edist (f : α → β) :
- (∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ) = ∫⁻ a, edist (f a) 0 ∂μ := by
+ ∫⁻ a, ENNReal.ofReal ‖f a‖ ∂μ = ∫⁻ a, edist (f a) 0 ∂μ := by
simp only [ofReal_norm_eq_coe_nnnorm, edist_eq_coe_nnnorm]
#align measure_theory.lintegral_norm_eq_lintegral_edist MeasureTheory.lintegral_norm_eq_lintegral_edist
@@ -88,12 +88,12 @@ theorem lintegral_nnnorm_zero : (∫⁻ _ : α, ‖(0 : β)‖₊ ∂μ) = 0 :=
#align measure_theory.lintegral_nnnorm_zero MeasureTheory.lintegral_nnnorm_zero
theorem lintegral_nnnorm_add_left {f : α → β} (hf : AEStronglyMeasurable f μ) (g : α → γ) :
- (∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
+ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_left' hf.ennnorm _
#align measure_theory.lintegral_nnnorm_add_left MeasureTheory.lintegral_nnnorm_add_left
theorem lintegral_nnnorm_add_right (f : α → β) {g : α → γ} (hg : AEStronglyMeasurable g μ) :
- (∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ) = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
+ ∫⁻ a, ‖f a‖₊ + ‖g a‖₊ ∂μ = (∫⁻ a, ‖f a‖₊ ∂μ) + ∫⁻ a, ‖g a‖₊ ∂μ :=
lintegral_add_right' _ hg.ennnorm
#align measure_theory.lintegral_nnnorm_add_right MeasureTheory.lintegral_nnnorm_add_right
@@ -358,7 +358,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
-- Show `2 * bound` `HasFiniteIntegral`
· rw [hasFiniteIntegral_iff_ofReal] at bound_hasFiniteIntegral
· calc
- (∫⁻ a, b a ∂μ) = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by
+ ∫⁻ a, b a ∂μ = 2 * ∫⁻ a, ENNReal.ofReal (bound a) ∂μ := by
rw [lintegral_const_mul']
exact coe_ne_top
_ ≠ ∞ := mul_ne_top coe_ne_top bound_hasFiniteIntegral.ne
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
@@ -521,13 +521,13 @@ theorem Integrable.mono_measure {f : α → β} (h : Integrable f ν) (hμ : μ
theorem Integrable.of_measure_le_smul {μ' : Measure α} (c : ℝ≥0∞) (hc : c ≠ ∞) (hμ'_le : μ' ≤ c • μ)
{f : α → β} (hf : Integrable f μ) : Integrable f μ' := by
- rw [← memℒp_one_iff_integrable] at hf⊢
+ rw [← memℒp_one_iff_integrable] at hf ⊢
exact hf.of_measure_le_smul c hc hμ'_le
#align measure_theory.integrable.of_measure_le_smul MeasureTheory.Integrable.of_measure_le_smul
theorem Integrable.add_measure {f : α → β} (hμ : Integrable f μ) (hν : Integrable f ν) :
Integrable f (μ + ν) := by
- simp_rw [← memℒp_one_iff_integrable] at hμ hν⊢
+ simp_rw [← memℒp_one_iff_integrable] at hμ hν ⊢
refine' ⟨hμ.aestronglyMeasurable.add_measure hν.aestronglyMeasurable, _⟩
rw [snorm_one_add_measure, ENNReal.add_lt_top]
exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
@@ -696,19 +696,19 @@ theorem Integrable.norm {f : α → β} (hf : Integrable f μ) : Integrable (fun
theorem Integrable.inf {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
(hg : Integrable g μ) : Integrable (f ⊓ g) μ := by
- rw [← memℒp_one_iff_integrable] at hf hg⊢
+ rw [← memℒp_one_iff_integrable] at hf hg ⊢
exact hf.inf hg
#align measure_theory.integrable.inf MeasureTheory.Integrable.inf
theorem Integrable.sup {β} [NormedLatticeAddCommGroup β] {f g : α → β} (hf : Integrable f μ)
(hg : Integrable g μ) : Integrable (f ⊔ g) μ := by
- rw [← memℒp_one_iff_integrable] at hf hg⊢
+ rw [← memℒp_one_iff_integrable] at hf hg ⊢
exact hf.sup hg
#align measure_theory.integrable.sup MeasureTheory.Integrable.sup
theorem Integrable.abs {β} [NormedLatticeAddCommGroup β] {f : α → β} (hf : Integrable f μ) :
Integrable (fun a => |f a|) μ := by
- rw [← memℒp_one_iff_integrable] at hf⊢
+ rw [← memℒp_one_iff_integrable] at hf ⊢
exact hf.abs
#align measure_theory.integrable.abs MeasureTheory.Integrable.abs
ENNReal
s (#5084)
Also correct some simp
s. Partially forward-port leanprover-community/mathlib#18731
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Zhouhang Zhou
! This file was ported from Lean 3 source module measure_theory.function.l1_space
-! leanprover-community/mathlib commit 13b0d72fd8533ba459ac66e9a885e35ffabb32b2
+! leanprover-community/mathlib commit ccdbfb6e5614667af5aa3ab2d50885e0ef44a46f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -495,6 +495,7 @@ theorem integrable_const_iff {c : β} : Integrable (fun _ : α => c) μ ↔ c =
rw [Integrable, and_iff_right this, hasFiniteIntegral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
+@[simp]
theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun _ : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
I wrote a script to find lines that contain an odd number of backticks
@@ -329,7 +329,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
aestronglyMeasurable_of_tendsto_ae _ F_measurable h_lim
let b a := 2 * ENNReal.ofReal (bound a)
/- `‖F n a‖ ≤ bound a` and `F n a --> f a` implies `‖f a‖ ≤ bound a`, and thus by the
- triangle inequality, have `‖F n a - f a‖ ≤ 2 * (bound a). -/
+ triangle inequality, have `‖F n a - f a‖ ≤ 2 * (bound a)`. -/
have hb : ∀ n, ∀ᵐ a ∂μ, ENNReal.ofReal ‖F n a - f a‖ ≤ b a := by
intro n
filter_upwards [all_ae_ofReal_F_le_bound h_bound n,
@@ -84,7 +84,7 @@ theorem lintegral_edist_triangle {f g h : α → β} (hf : AEStronglyMeasurable
apply edist_triangle_right
#align measure_theory.lintegral_edist_triangle MeasureTheory.lintegral_edist_triangle
-theorem lintegral_nnnorm_zero : (∫⁻ _a : α, ‖(0 : β)‖₊ ∂μ) = 0 := by simp
+theorem lintegral_nnnorm_zero : (∫⁻ _ : α, ‖(0 : β)‖₊ ∂μ) = 0 := by simp
#align measure_theory.lintegral_nnnorm_zero MeasureTheory.lintegral_nnnorm_zero
theorem lintegral_nnnorm_add_left {f : α → β} (hf : AEStronglyMeasurable f μ) (g : α → γ) :
@@ -348,7 +348,7 @@ theorem tendsto_lintegral_norm_of_dominated_convergence {F : ℕ → α → β}
rwa [← tendsto_iff_norm_tendsto_zero]
/- Therefore, by the dominated convergence theorem for nonnegative integration, have
` ∫ ‖f a - F n a‖ --> 0 ` -/
- suffices h : Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 (∫⁻ _a : α, 0 ∂μ))
+ suffices h : Tendsto (fun n => ∫⁻ a, ENNReal.ofReal ‖F n a - f a‖ ∂μ) atTop (𝓝 (∫⁻ _ : α, 0 ∂μ))
· rwa [lintegral_zero] at h
-- Using the dominated convergence theorem.
refine' tendsto_lintegral_of_dominated_convergence' _ _ hb _ _
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.
@@ -177,11 +177,12 @@ theorem hasFiniteIntegral_const_iff {c : β} :
or_iff_not_imp_left]
#align measure_theory.has_finite_integral_const_iff MeasureTheory.hasFiniteIntegral_const_iff
-theorem hasFiniteIntegral_const [FiniteMeasure μ] (c : β) : HasFiniteIntegral (fun _ : α => c) μ :=
+theorem hasFiniteIntegral_const [IsFiniteMeasure μ] (c : β) :
+ HasFiniteIntegral (fun _ : α => c) μ :=
hasFiniteIntegral_const_iff.2 (Or.inr <| measure_lt_top _ _)
#align measure_theory.has_finite_integral_const MeasureTheory.hasFiniteIntegral_const
-theorem hasFiniteIntegral_of_bounded [FiniteMeasure μ] {f : α → β} {C : ℝ}
+theorem hasFiniteIntegral_of_bounded [IsFiniteMeasure μ] {f : α → β} {C : ℝ}
(hC : ∀ᵐ a ∂μ, ‖f a‖ ≤ C) : HasFiniteIntegral f μ :=
(hasFiniteIntegral_const C).mono' hC
#align measure_theory.has_finite_integral_of_bounded MeasureTheory.hasFiniteIntegral_of_bounded
@@ -271,11 +272,11 @@ theorem hasFiniteIntegral_toReal_of_lintegral_ne_top {f : α → ℝ≥0∞} (hf
rfl
#align measure_theory.has_finite_integral_to_real_of_lintegral_ne_top MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
-theorem finiteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
- FiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) := by
- refine' finiteMeasure_withDensity ((lintegral_mono fun x => _).trans_lt hfi).ne
+theorem isFiniteMeasure_withDensity_ofReal {f : α → ℝ} (hfi : HasFiniteIntegral f μ) :
+ IsFiniteMeasure (μ.withDensity fun x => ENNReal.ofReal <| f x) := by
+ refine' isFiniteMeasure_withDensity ((lintegral_mono fun x => _).trans_lt hfi).ne
exact Real.ofReal_le_ennnorm (f x)
-#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.finiteMeasure_withDensity_ofReal
+#align measure_theory.is_finite_measure_with_density_of_real MeasureTheory.isFiniteMeasure_withDensity_ofReal
section DominatedConvergence
@@ -494,7 +495,7 @@ theorem integrable_const_iff {c : β} : Integrable (fun _ : α => c) μ ↔ c =
rw [Integrable, and_iff_right this, hasFiniteIntegral_const_iff]
#align measure_theory.integrable_const_iff MeasureTheory.integrable_const_iff
-theorem integrable_const [FiniteMeasure μ] (c : β) : Integrable (fun _ : α => c) μ :=
+theorem integrable_const [IsFiniteMeasure μ] (c : β) : Integrable (fun _ : α => c) μ :=
integrable_const_iff.2 <| Or.inr <| measure_lt_top _ _
#align measure_theory.integrable_const MeasureTheory.integrable_const
@@ -504,7 +505,7 @@ theorem Memℒp.integrable_norm_rpow {f : α → β} {p : ℝ≥0∞} (hf : Mem
exact hf.norm_rpow hp_ne_zero hp_ne_top
#align measure_theory.mem_ℒp.integrable_norm_rpow MeasureTheory.Memℒp.integrable_norm_rpow
-theorem Memℒp.integrable_norm_rpow' [FiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
+theorem Memℒp.integrable_norm_rpow' [IsFiniteMeasure μ] {f : α → β} {p : ℝ≥0∞} (hf : Memℒp f p μ) :
Integrable (fun x : α => ‖f x‖ ^ p.toReal) μ := by
by_cases h_zero : p = 0
· simp [h_zero, integrable_const]
@@ -585,7 +586,7 @@ theorem Integrable.to_average {f : α → β} (h : Integrable f μ) : Integrable
simpa
#align measure_theory.integrable.to_average MeasureTheory.Integrable.to_average
-theorem integrable_average [FiniteMeasure μ] {f : α → β} :
+theorem integrable_average [IsFiniteMeasure μ] {f : α → β} :
Integrable f ((μ univ)⁻¹ • μ) ↔ Integrable f μ :=
(eq_or_ne μ 0).by_cases (fun h => by simp [h]) fun h =>
integrable_smul_measure (ENNReal.inv_ne_zero.2 <| measure_ne_top _ _)
@@ -790,7 +791,7 @@ theorem Integrable.prod_mk {f : α → β} {g : α → γ} (hf : Integrable f μ
⟩
#align measure_theory.integrable.prod_mk MeasureTheory.Integrable.prod_mk
-theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [FiniteMeasure μ]
+theorem Memℒp.integrable {q : ℝ≥0∞} (hq1 : 1 ≤ q) {f : α → β} [IsFiniteMeasure μ]
(hfq : Memℒp f q μ) : Integrable f μ :=
memℒp_one_iff_integrable.mp (hfq.memℒp_of_exponent_le hq1)
#align measure_theory.mem_ℒp.integrable MeasureTheory.Memℒp.integrable
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file