Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 15bf066

Browse files
committed
feat(measure_theory/function/l1_space): add integrability lemmas for composition with to_real (#9199)
1 parent 59cda6d commit 15bf066

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

src/measure_theory/function/l1_space.lean

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,21 @@ lemma has_finite_integral_norm_iff (f : α → β) :
224224
has_finite_integral (λa, ∥f a∥) μ ↔ has_finite_integral f μ :=
225225
has_finite_integral_congr' $ eventually_of_forall $ λ x, norm_norm (f x)
226226

227+
lemma has_finite_integral_to_real_of_lintegral_ne_top
228+
{f : α → ℝ≥0∞} (hf : ∫⁻ x, f x ∂μ ≠ ∞) :
229+
has_finite_integral (λ x, (f x).to_real) μ :=
230+
begin
231+
have : ∀ x, (∥(f x).to_real∥₊ : ℝ≥0∞) =
232+
@coe ℝ≥0 ℝ≥0∞ _ (⟨(f x).to_real, ennreal.to_real_nonneg⟩ : ℝ≥0),
233+
{ intro x, rw real.nnnorm_of_nonneg },
234+
simp_rw [has_finite_integral, this],
235+
refine lt_of_le_of_lt (lintegral_mono (λ x, _)) (lt_top_iff_ne_top.2 hf),
236+
by_cases hfx : f x = ∞,
237+
{ simp [hfx] },
238+
{ lift f x to ℝ≥0 using hfx with fx,
239+
simp [← h] }
240+
end
241+
227242
lemma is_finite_measure_with_density_of_real {f : α → ℝ} (hfi : has_finite_integral f μ) :
228243
is_finite_measure (μ.with_density (λ x, ennreal.of_real $ f x)) :=
229244
is_finite_measure_with_density $
@@ -373,6 +388,7 @@ lemma has_finite_integral.const_mul {f : α → ℝ} (h : has_finite_integral f
373388
lemma has_finite_integral.mul_const {f : α → ℝ} (h : has_finite_integral f μ) (c : ℝ) :
374389
has_finite_integral (λ x, f x * c) μ :=
375390
by simp_rw [mul_comm, h.const_mul _]
391+
376392
end normed_space
377393

378394
/-! ### The predicate `integrable` -/
@@ -557,6 +573,19 @@ begin
557573
simp [real.norm_eq_abs, ennreal.of_real_le_of_real, abs_le, abs_nonneg, le_abs_self],
558574
end
559575

576+
lemma mem_ℒ1_to_real_of_lintegral_ne_top
577+
{f : α → ℝ≥0∞} (hfm : ae_measurable f μ) (hfi : ∫⁻ x, f x ∂μ ≠ ∞) :
578+
mem_ℒp (λ x, (f x).to_real) 1 μ :=
579+
begin
580+
rw [mem_ℒp, snorm_one_eq_lintegral_nnnorm],
581+
exact ⟨ae_measurable.ennreal_to_real hfm, has_finite_integral_to_real_of_lintegral_ne_top hfi⟩
582+
end
583+
584+
lemma integrable_to_real_of_lintegral_ne_top
585+
{f : α → ℝ≥0∞} (hfm : ae_measurable f μ) (hfi : ∫⁻ x, f x ∂μ ≠ ∞) :
586+
integrable (λ x, (f x).to_real) μ :=
587+
mem_ℒp_one_iff_integrable.1 $ mem_ℒ1_to_real_of_lintegral_ne_top hfm hfi
588+
560589
section pos_part
561590
/-! ### Lemmas used for defining the positive part of a `L¹` function -/
562591

src/measure_theory/measure/with_density_vector_measure.lean

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ begin
7474
rwa integrable_neg_iff }
7575
end
7676

77+
lemma with_densityᵥ_neg' : μ.with_densityᵥ (λ x, -f x) = -μ.with_densityᵥ f :=
78+
with_densityᵥ_neg
79+
7780
@[simp] lemma with_densityᵥ_add (hf : integrable f μ) (hg : integrable g μ) :
7881
μ.with_densityᵥ (f + g) = μ.with_densityᵥ f + μ.with_densityᵥ g :=
7982
begin
@@ -86,10 +89,18 @@ begin
8689
{ exact hg.integrable_on.restrict measurable_set.univ }
8790
end
8891

92+
lemma with_densityᵥ_add' (hf : integrable f μ) (hg : integrable g μ) :
93+
μ.with_densityᵥ (λ x, f x + g x) = μ.with_densityᵥ f + μ.with_densityᵥ g :=
94+
with_densityᵥ_add hf hg
95+
8996
@[simp] lemma with_densityᵥ_sub (hf : integrable f μ) (hg : integrable g μ) :
9097
μ.with_densityᵥ (f - g) = μ.with_densityᵥ f - μ.with_densityᵥ g :=
9198
by rw [sub_eq_add_neg, sub_eq_add_neg, with_densityᵥ_add hf hg.neg, with_densityᵥ_neg]
9299

100+
lemma with_densityᵥ_sub' (hf : integrable f μ) (hg : integrable g μ) :
101+
μ.with_densityᵥ (λ x, f x - g x) = μ.with_densityᵥ f - μ.with_densityᵥ g :=
102+
with_densityᵥ_sub hf hg
103+
93104
@[simp] lemma with_densityᵥ_smul {𝕜 : Type*} [nondiscrete_normed_field 𝕜] [normed_space 𝕜 E]
94105
[smul_comm_class ℝ 𝕜 E] [measurable_space 𝕜] [opens_measurable_space 𝕜] (r : 𝕜) :
95106
μ.with_densityᵥ (r • f) = r • μ.with_densityᵥ f :=
@@ -105,6 +116,11 @@ begin
105116
rwa integrable_smul_iff hr f } }
106117
end
107118

119+
lemma with_densityᵥ_smul' {𝕜 : Type*} [nondiscrete_normed_field 𝕜] [normed_space 𝕜 E]
120+
[smul_comm_class ℝ 𝕜 E] [measurable_space 𝕜] [opens_measurable_space 𝕜] (r : 𝕜) :
121+
μ.with_densityᵥ (λ x, r • f x) = r • μ.with_densityᵥ f :=
122+
with_densityᵥ_smul r
123+
108124
lemma measure.with_densityᵥ_absolutely_continuous (μ : measure α) (f : α → ℝ) :
109125
μ.with_densityᵥ f ≪ μ.to_ennreal_vector_measure :=
110126
begin
@@ -144,6 +160,20 @@ lemma integrable.with_densityᵥ_eq_iff {f g : α → E}
144160

145161
section signed_measure
146162

163+
lemma with_densityᵥ_to_real {f : α → ℝ≥0∞} (hfm : ae_measurable f μ) (hf : ∫⁻ x, f x ∂μ ≠ ∞) :
164+
μ.with_densityᵥ (λ x, (f x).to_real) =
165+
@to_signed_measure α _ (μ.with_density f)
166+
(is_finite_measure_with_density (lt_top_iff_ne_top.2 hf)) :=
167+
begin
168+
have hfi := integrable_to_real_of_lintegral_ne_top hfm hf,
169+
ext i hi,
170+
rw [with_densityᵥ_apply hfi hi, to_signed_measure_apply_measurable hi,
171+
with_density_apply _ hi, integral_to_real hfm.restrict],
172+
refine ae_lt_top' hfm.restrict (lt_of_le_of_lt _ (lt_top_iff_ne_top.2 hf)),
173+
conv_rhs { rw ← set_lintegral_univ },
174+
exact lintegral_mono_set (set.subset_univ _),
175+
end
176+
147177
lemma with_densityᵥ_eq_with_density_pos_part_sub_with_density_neg_part
148178
{f : α → ℝ} (hfi : integrable f μ) :
149179
μ.with_densityᵥ f =

0 commit comments

Comments
 (0)