@@ -30,12 +30,13 @@ import topology.G_delta
30
30
is continuous, then `λ x, op (f x, g y)` is measurable;
31
31
* `measurable.add` etc : dot notation for arithmetic operations on `measurable` predicates,
32
32
and similarly for `dist` and `edist`;
33
+ * `ae_measurable.add` : similar dot notation for almost everywhere measurable functions;
33
34
* `measurable.ennreal*` : special cases for arithmetic operations on `ennreal`s.
34
35
-/
35
36
36
37
noncomputable theory
37
38
38
- open classical set filter
39
+ open classical set filter measure_theory
39
40
open_locale classical big_operators topological_space nnreal
40
41
41
42
universes u v w x y
@@ -352,10 +353,20 @@ lemma measurable.max {f g : δ → α} (hf : measurable f) (hg : measurable g) :
352
353
measurable (λ a, max (f a) (g a)) :=
353
354
hf.piecewise (is_measurable_le hg hf) hg
354
355
356
+ lemma ae_measurable.max {f g : δ → α} {μ : measure δ}
357
+ (hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ a, max (f a) (g a)) μ :=
358
+ ⟨λ a, max (hf.mk f a) (hg.mk g a), hf.measurable_mk.max hg.measurable_mk,
359
+ eventually_eq.comp₂ hf.ae_eq_mk _ hg.ae_eq_mk⟩
360
+
355
361
lemma measurable.min {f g : δ → α} (hf : measurable f) (hg : measurable g) :
356
362
measurable (λ a, min (f a) (g a)) :=
357
363
hf.piecewise (is_measurable_le hf hg) hg
358
364
365
+ lemma ae_measurable.min {f g : δ → α} {μ : measure δ}
366
+ (hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ a, min (f a) (g a)) μ :=
367
+ ⟨λ a, min (hf.mk f a) (hg.mk g a), hf.measurable_mk.min hg.measurable_mk,
368
+ eventually_eq.comp₂ hf.ae_eq_mk _ hg.ae_eq_mk⟩
369
+
359
370
end linear_order
360
371
361
372
/-- A continuous function from an `opens_measurable_space` to a `borel_space`
@@ -385,20 +396,40 @@ lemma continuous.measurable2 [second_countable_topology α] [second_countable_to
385
396
measurable (λ a, c (f a) (g a)) :=
386
397
h.measurable.comp (hf.prod_mk hg)
387
398
399
+ lemma continuous.ae_measurable2 [second_countable_topology α] [second_countable_topology β]
400
+ {f : δ → α} {g : δ → β} {c : α → β → γ} {μ : measure δ}
401
+ (h : continuous (λ p : α × β, c p.1 p.2 )) (hf : ae_measurable f μ) (hg : ae_measurable g μ) :
402
+ ae_measurable (λ a, c (f a) (g a)) μ :=
403
+ h.measurable.comp_ae_measurable (hf.prod_mk hg)
404
+
388
405
lemma measurable.smul [semiring α] [second_countable_topology α]
389
406
[add_comm_monoid γ] [second_countable_topology γ]
390
407
[semimodule α γ] [topological_semimodule α γ]
391
408
{f : δ → α} {g : δ → γ} (hf : measurable f) (hg : measurable g) :
392
409
measurable (λ c, f c • g c) :=
393
410
continuous_smul.measurable2 hf hg
394
411
412
+ lemma ae_measurable.smul [semiring α] [second_countable_topology α]
413
+ [add_comm_monoid γ] [second_countable_topology γ]
414
+ [semimodule α γ] [topological_semimodule α γ]
415
+ {f : δ → α} {g : δ → γ} {μ : measure δ} (hf : ae_measurable f μ) (hg : ae_measurable g μ) :
416
+ ae_measurable (λ c, f c • g c) μ :=
417
+ continuous_smul.ae_measurable2 hf hg
418
+
395
419
lemma measurable.const_smul {R M : Type *} [topological_space R] [semiring R]
396
420
[add_comm_monoid M] [semimodule R M] [topological_space M] [topological_semimodule R M]
397
421
[measurable_space M] [borel_space M]
398
422
{f : δ → M} (hf : measurable f) (c : R) :
399
423
measurable (λ x, c • f x) :=
400
424
(continuous_const.smul continuous_id).measurable.comp hf
401
425
426
+ lemma ae_measurable.const_smul {R M : Type *} [topological_space R] [semiring R]
427
+ [add_comm_monoid M] [semimodule R M] [topological_space M] [topological_semimodule R M]
428
+ [measurable_space M] [borel_space M]
429
+ {f : δ → M} {μ : measure δ} (hf : ae_measurable f μ) (c : R) :
430
+ ae_measurable (λ x, c • f x) μ :=
431
+ (continuous_const.smul continuous_id).measurable.comp_ae_measurable hf
432
+
402
433
lemma measurable_const_smul_iff {α : Type *} [topological_space α]
403
434
[division_ring α] [add_comm_monoid γ]
404
435
[semimodule α γ] [topological_semimodule α γ]
@@ -407,6 +438,14 @@ lemma measurable_const_smul_iff {α : Type*} [topological_space α]
407
438
⟨λ h, by simpa only [smul_smul, inv_mul_cancel hc, one_smul] using h.const_smul c⁻¹,
408
439
λ h, h.const_smul c⟩
409
440
441
+ lemma ae_measurable_const_smul_iff {α : Type *} [topological_space α]
442
+ [division_ring α] [add_comm_monoid γ]
443
+ [semimodule α γ] [topological_semimodule α γ]
444
+ {f : δ → γ} {μ : measure δ} {c : α} (hc : c ≠ 0 ) :
445
+ ae_measurable (λ x, c • f x) μ ↔ ae_measurable f μ :=
446
+ ⟨λ h, by simpa only [smul_smul, inv_mul_cancel hc, one_smul] using h.const_smul c⁻¹,
447
+ λ h, h.const_smul c⟩
448
+
410
449
lemma measurable.const_mul {R : Type *} [topological_space R] [measurable_space R]
411
450
[borel_space R] [semiring R] [topological_semiring R]
412
451
{f : δ → R} (hf : measurable f) (c : R) :
@@ -466,6 +505,12 @@ lemma measurable.mul [has_mul α] [has_continuous_mul α] [second_countable_topo
466
505
{f : δ → α} {g : δ → α} : measurable f → measurable g → measurable (λ a, f a * g a) :=
467
506
(@continuous_mul α _ _ _).measurable2
468
507
508
+ @[to_additive]
509
+ lemma ae_measurable.mul [has_mul α] [has_continuous_mul α] [second_countable_topology α]
510
+ {f : δ → α} {g : δ → α} {μ : measure δ}
511
+ (hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ a, f a * g a) μ :=
512
+ (@continuous_mul α _ _ _).ae_measurable2 hf hg
513
+
469
514
/-- A variant of `measurable.mul` that uses `*` on functions -/
470
515
@[to_additive]
471
516
lemma measurable.mul' [has_mul α] [has_continuous_mul α] [second_countable_topology α]
@@ -499,6 +544,11 @@ lemma measurable.inv [group α] [topological_group α] {f : δ → α} (hf : mea
499
544
measurable (λ a, (f a)⁻¹) :=
500
545
measurable_inv.comp hf
501
546
547
+ @[to_additive]
548
+ lemma ae_measurable.inv [group α] [topological_group α] {f : δ → α} {μ : measure δ}
549
+ (hf : ae_measurable f μ) : ae_measurable (λ a, (f a)⁻¹) μ :=
550
+ measurable_inv.comp_ae_measurable hf
551
+
502
552
lemma measurable_inv' {α : Type *} [normed_field α] [measurable_space α] [borel_space α] :
503
553
measurable (has_inv.inv : α → α) :=
504
554
measurable_of_continuous_on_compl_singleton 0 continuous_on_inv'
@@ -523,6 +573,11 @@ lemma measurable.sub [add_group α] [topological_add_group α] [second_countable
523
573
measurable (λ x, f x - g x) :=
524
574
by simpa only [sub_eq_add_neg] using hf.add hg.neg
525
575
576
+ lemma ae_measurable.sub [add_group α] [topological_add_group α] [second_countable_topology α]
577
+ {f g : δ → α} {μ : measure δ}
578
+ (hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ x, f x - g x) μ :=
579
+ by simpa only [sub_eq_add_neg] using hf.add hg.neg
580
+
526
581
lemma closed_embedding.measurable_inv_fun [n : nonempty β] {g : β → γ} (hg : closed_embedding g) :
527
582
measurable (function.inv_fun g) :=
528
583
begin
@@ -544,6 +599,20 @@ begin
544
599
rw [@preimage_comp _ _ _ f g, preimage_image_eq _ hg.to_embedding.inj]
545
600
end
546
601
602
+ lemma ae_measurable_comp_iff_of_closed_embedding {f : δ → β} {μ : measure δ}
603
+ (g : β → γ) (hg : closed_embedding g) : ae_measurable (g ∘ f) μ ↔ ae_measurable f μ :=
604
+ begin
605
+ by_cases h : nonempty β,
606
+ { resetI,
607
+ refine ⟨λ hf, _, λ hf, hg.continuous.measurable.comp_ae_measurable hf⟩,
608
+ convert hg.measurable_inv_fun.comp_ae_measurable hf,
609
+ ext x,
610
+ exact (function.left_inverse_inv_fun hg.to_embedding.inj (f x)).symm },
611
+ { have H : ¬ nonempty δ, by { contrapose! h, exact nonempty.map f h },
612
+ simp [(measurable_of_not_nonempty H (g ∘ f)).ae_measurable,
613
+ (measurable_of_not_nonempty H f).ae_measurable] }
614
+ end
615
+
547
616
section linear_order
548
617
549
618
variables [linear_order α] [order_topology α] [second_countable_topology α]
@@ -795,6 +864,10 @@ lemma measurable.edist {f g : β → α} (hf : measurable f) (hg : measurable g)
795
864
measurable (λ b, edist (f b) (g b)) :=
796
865
(@continuous_edist α _).measurable2 hf hg
797
866
867
+ lemma ae_measurable.edist {f g : β → α} {μ : measure β}
868
+ (hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ a, edist (f a) (g a)) μ :=
869
+ (@continuous_edist α _).ae_measurable2 hf hg
870
+
798
871
end emetric_space
799
872
800
873
namespace real
@@ -872,6 +945,10 @@ lemma measurable.ennreal_coe {f : α → ℝ≥0} (hf : measurable f) :
872
945
measurable (λ x, (f x : ennreal)) :=
873
946
ennreal.continuous_coe.measurable.comp hf
874
947
948
+ lemma ae_measurable.ennreal_coe {f : α → ℝ≥0 } {μ : measure α} (hf : ae_measurable f μ) :
949
+ ae_measurable (λ x, (f x : ennreal)) μ :=
950
+ ennreal.continuous_coe.measurable.comp_ae_measurable hf
951
+
875
952
lemma measurable.ennreal_of_real {f : α → ℝ} (hf : measurable f) :
876
953
measurable (λ x, ennreal.of_real (f x)) :=
877
954
ennreal.continuous_of_real.measurable.comp hf
@@ -952,13 +1029,17 @@ lemma measurable.to_real {f : α → ennreal} (hf : measurable f) :
952
1029
measurable (λ x, ennreal.to_real (f x)) :=
953
1030
ennreal.measurable_to_real.comp hf
954
1031
1032
+ lemma ae_measurable.to_real {f : α → ennreal} {μ : measure α} (hf : ae_measurable f μ) :
1033
+ ae_measurable (λ x, ennreal.to_real (f x)) μ :=
1034
+ ennreal.measurable_to_real.comp_ae_measurable hf
1035
+
955
1036
lemma measurable.ennreal_mul {f g : α → ennreal} (hf : measurable f) (hg : measurable g) :
956
1037
measurable (λ a, f a * g a) :=
957
1038
ennreal.measurable_mul.comp (hf.prod_mk hg)
958
1039
959
- lemma measurable.ennreal_add {f g : α → ennreal}
960
- (hf : measurable f ) (hg : measurable g ) : measurable (λ a, f a + g a) :=
961
- hf.add hg
1040
+ lemma ae_measurable.ennreal_mul {f g : α → ennreal} {μ : measure α }
1041
+ (hf : ae_measurable f μ ) (hg : ae_measurable g μ ) : ae_measurable (λ a, f a * g a) μ :=
1042
+ ennreal.measurable_mul.comp_ae_measurable ( hf.prod_mk hg)
962
1043
963
1044
lemma measurable.ennreal_sub {f g : α → ennreal} (hf : measurable f) (hg : measurable g) :
964
1045
measurable (λ a, f a - g a) :=
@@ -979,19 +1060,31 @@ continuous_norm.measurable
979
1060
lemma measurable.norm {f : β → α} (hf : measurable f) : measurable (λ a, norm (f a)) :=
980
1061
measurable_norm.comp hf
981
1062
1063
+ lemma ae_measurable.norm {f : β → α} {μ : measure β} (hf : ae_measurable f μ) :
1064
+ ae_measurable (λ a, norm (f a)) μ :=
1065
+ measurable_norm.comp_ae_measurable hf
1066
+
982
1067
lemma measurable_nnnorm : measurable (nnnorm : α → ℝ≥0 ) :=
983
1068
continuous_nnnorm.measurable
984
1069
985
1070
lemma measurable.nnnorm {f : β → α} (hf : measurable f) : measurable (λ a, nnnorm (f a)) :=
986
1071
measurable_nnnorm.comp hf
987
1072
1073
+ lemma ae_measurable.nnnorm {f : β → α} {μ : measure β} (hf : ae_measurable f μ) :
1074
+ ae_measurable (λ a, nnnorm (f a)) μ :=
1075
+ measurable_nnnorm.comp_ae_measurable hf
1076
+
988
1077
lemma measurable_ennnorm : measurable (λ x : α, (nnnorm x : ennreal)) :=
989
1078
measurable_nnnorm.ennreal_coe
990
1079
991
1080
lemma measurable.ennnorm {f : β → α} (hf : measurable f) :
992
1081
measurable (λ a, (nnnorm (f a) : ennreal)) :=
993
1082
hf.nnnorm.ennreal_coe
994
1083
1084
+ lemma ae_measurable.ennnorm {f : β → α} {μ : measure β} (hf : ae_measurable f μ) :
1085
+ ae_measurable (λ a, (nnnorm (f a) : ennreal)) μ :=
1086
+ measurable_ennnorm.comp_ae_measurable hf
1087
+
995
1088
end normed_group
996
1089
997
1090
section limits
@@ -1071,6 +1164,10 @@ lemma measurable_smul_const {f : α → 𝕜} {c : E} (hc : c ≠ 0) :
1071
1164
measurable (λ x, f x • c) ↔ measurable f :=
1072
1165
measurable_comp_iff_of_closed_embedding (λ y : 𝕜, y • c) (closed_embedding_smul_left hc)
1073
1166
1167
+ lemma ae_measurable_smul_const {f : α → 𝕜} {μ : measure α} {c : E} (hc : c ≠ 0 ) :
1168
+ ae_measurable (λ x, f x • c) μ ↔ ae_measurable f μ :=
1169
+ ae_measurable_comp_iff_of_closed_embedding (λ y : 𝕜, y • c) (closed_embedding_smul_left hc)
1170
+
1074
1171
end normed_space
1075
1172
1076
1173
namespace measure_theory
0 commit comments