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

Commit 49fc7ed

Browse files
committed
feat(measure_theory): assorted integration lemmas (#4145)
from the sphere eversion project This is still preparations for differentiation of integals depending on a parameter.
1 parent 5f45c0c commit 49fc7ed

File tree

4 files changed

+84
-0
lines changed

4 files changed

+84
-0
lines changed

src/measure_theory/bochner_integration.lean

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,10 @@ calc ∥integral f∥ = ∥Integral f∥ : rfl
903903
... ≤ 1 * ∥f∥ : mul_le_mul_of_nonneg_right norm_Integral_le_one $ norm_nonneg _
904904
... = ∥f∥ : one_mul _
905905

906+
@[continuity]
907+
lemma continuous_integral : continuous (λ (f : α →₁[μ] E), f.integral) :=
908+
by simp [l1.integral, l1.integral_clm.continuous]
909+
906910
section pos_part
907911

908912
lemma integral_eq_norm_pos_part_sub (f : α →₁[μ] ℝ) : integral f = ∥pos_part f∥ - ∥neg_part f∥ :=
@@ -953,6 +957,9 @@ lemma integral_eq (f : α → E) (h₁ : measurable f) (h₂ : integrable f μ)
953957
∫ a, f a ∂μ = (l1.of_fun f h₁ h₂).integral :=
954958
dif_pos ⟨h₁, h₂⟩
955959

960+
lemma l1.integral_eq_integral (f : α →₁[μ] E) : f.integral = ∫ a, f a ∂μ :=
961+
by rw [integral_eq, l1.of_fun_to_fun]
962+
956963
lemma integral_undef (h : ¬ (measurable f ∧ integrable f μ)) : ∫ a, f a ∂μ = 0 :=
957964
dif_neg h
958965

@@ -1018,6 +1025,18 @@ begin
10181025
rw [integral_non_integrable hfi, integral_non_integrable hgi] },
10191026
end
10201027

1028+
@[simp] lemma l1.integral_of_fun_eq_integral {f : α → E} (f_m : measurable f) (f_i : integrable f μ) :
1029+
∫ a, (l1.of_fun f f_m f_i) a ∂μ = ∫ a, f a ∂μ :=
1030+
integral_congr_ae (l1.measurable _) f_m (l1.to_fun_of_fun f f_m f_i)
1031+
1032+
@[continuity]
1033+
lemma continuous_integral : continuous (λ (f : α →₁[μ] E), ∫ a, f a ∂μ) :=
1034+
begin
1035+
convert l1.continuous_integral,
1036+
ext f,
1037+
rw l1.integral_eq_integral
1038+
end
1039+
10211040
lemma norm_integral_le_lintegral_norm (f : α → E) :
10221041
∥∫ a, f a ∂μ∥ ≤ ennreal.to_real (∫⁻ a, (ennreal.of_real ∥f a∥) ∂μ) :=
10231042
begin
@@ -1186,6 +1205,27 @@ begin
11861205
rwa [integral_neg, neg_nonneg] at this,
11871206
end
11881207

1208+
section normed_group
1209+
variables {H : Type*} [normed_group H] [second_countable_topology H] [measurable_space H]
1210+
[borel_space H]
1211+
1212+
lemma l1.norm_eq_integral_norm (f : α →₁[μ] H) : ∥f∥ = ∫ a, ∥f a∥ ∂μ :=
1213+
by rw [l1.norm_eq_norm_to_fun,
1214+
integral_eq_lintegral_of_nonneg_ae (eventually_of_forall $ by simp [norm_nonneg])
1215+
(continuous_norm.measurable.comp f.measurable)]
1216+
1217+
lemma l1.norm_of_fun_eq_integral_norm {f : α → H} (f_m : measurable f) (f_i : integrable f μ) :
1218+
∥l1.of_fun f f_m f_i∥ = ∫ a, ∥f a∥ ∂μ :=
1219+
begin
1220+
rw l1.norm_eq_integral_norm,
1221+
refine integral_congr_ae (l1.measurable_norm _) f_m.norm _,
1222+
apply (l1.to_fun_of_fun f f_m f_i).mono,
1223+
intros a ha,
1224+
simp [ha]
1225+
end
1226+
1227+
end normed_group
1228+
11891229
lemma integral_mono {f g : α → ℝ} (hfm : measurable f) (hfi : integrable f μ)
11901230
(hgm : measurable g) (hgi : integrable g μ) (h : f ≤ᵐ[μ] g) : ∫ a, f a ∂μ ≤ ∫ a, g a ∂μ :=
11911231
le_of_sub_nonneg $ integral_sub hgm hgi hfm hfi ▸

src/measure_theory/borel_space.lean

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,17 @@ instance nnreal.borel_space : borel_space nnreal := ⟨rfl⟩
497497
instance ennreal.measurable_space : measurable_space ennreal := borel ennreal
498498
instance ennreal.borel_space : borel_space ennreal := ⟨rfl⟩
499499

500+
section real_mul
501+
variables [measurable_space α]
502+
503+
lemma measurable.const_mul {f : α → ℝ} (h : measurable f) (c : ℝ) : measurable (λ x, c*f x) :=
504+
(measurable.const_smul h c : _)
505+
506+
lemma measurable.mul_const {f : α → ℝ} (h : measurable f) (c : ℝ) : measurable (λ x, f x*c) :=
507+
by simp only [h.const_mul c, mul_comm]
508+
509+
end real_mul
510+
500511
section metric_space
501512

502513
variables [metric_space α] [measurable_space α] [opens_measurable_space α] {x : α} {ε : ℝ}
@@ -704,6 +715,22 @@ hf.nnnorm.ennreal_coe
704715

705716
end normed_group
706717

718+
section normed_space
719+
720+
variables [measurable_space α]
721+
variables {𝕜 : Type*} [normed_field 𝕜]
722+
variables {E : Type*} [normed_group E] [normed_space 𝕜 E] [measurable_space E] [borel_space E]
723+
variables {F : Type*} [normed_group F] [normed_space 𝕜 F] [measurable_space F] [borel_space F]
724+
725+
lemma continuous_linear_map.measurable (L : E →L[𝕜] F) : measurable L :=
726+
L.continuous.measurable
727+
728+
lemma measurable.clm_apply {φ : α → E} (φ_meas : measurable φ)
729+
(L : E →L[𝕜] F) : measurable (λ (a : α), L (φ a)) :=
730+
L.measurable.comp φ_meas
731+
732+
end normed_space
733+
707734
namespace measure_theory
708735
namespace measure
709736

src/measure_theory/l1_space.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,12 @@ begin
395395
exact integrable.smul _
396396
end
397397

398+
lemma integrable.const_mul {f : α → ℝ} (h : integrable f μ) (c : ℝ) : integrable (λ x, c * f x) μ :=
399+
(integrable.smul c h : _)
400+
401+
lemma integrable.mul_const {f : α → ℝ} (h : integrable f μ) (c : ℝ) : integrable (λ x, f x * c) μ :=
402+
by simp_rw [mul_comm, h.const_mul _]
403+
398404
end normed_space
399405

400406
variables [second_countable_topology β]
@@ -604,9 +610,15 @@ section to_fun
604610

605611
protected lemma measurable (f : α →₁[μ] β) : measurable f := f.1.measurable
606612

613+
lemma measurable_norm (f : α →₁[μ] β) : measurable (λ a, ∥f a∥) :=
614+
f.measurable.norm
615+
607616
protected lemma integrable (f : α →₁[μ] β) : integrable ⇑f μ :=
608617
integrable_coe_fn.2 f.2
609618

619+
lemma integrable_norm (f : α →₁[μ] β) : integrable (λ a, ∥f a∥) μ :=
620+
(integrable_norm_iff _).mpr f.integrable
621+
610622
lemma of_fun_to_fun (f : α →₁[μ] β) : of_fun f f.measurable f.integrable = f :=
611623
subtype.ext (f : α →ₘ[μ] β).mk_coe_fn
612624

src/measure_theory/set_integral.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,11 @@ by { rwa [integral_non_integrable, integral_non_integrable], rwa integrable_indi
352352
lemma set_integral_const (c : E) : ∫ x in s, c ∂μ = (μ s).to_real • c :=
353353
by rw [integral_const, measure.restrict_apply_univ]
354354

355+
@[simp]
356+
lemma integral_indicator_const (e : E) ⦃s : set α⦄ (s_meas : is_measurable s) :
357+
∫ (a : α), s.indicator (λ (x : α), e) a ∂μ = (μ s).to_real • e :=
358+
by rw [integral_indicator measurable_const s_meas, ← set_integral_const]
359+
355360
lemma norm_set_integral_le_of_norm_le_const_ae {C : ℝ} (hs : μ s < ⊤)
356361
(hC : ∀ᵐ x ∂μ.restrict s, ∥f x∥ ≤ C) :
357362
∥∫ x in s, f x ∂μ∥ ≤ C * (μ s).to_real :=

0 commit comments

Comments
 (0)