@@ -45,7 +45,7 @@ open_locale classical big_operators nnreal ennreal
45
45
46
46
namespace measure_theory
47
47
48
- variables {α β : Type *} [ measurable_space α]
48
+ variables {α β : Type *} {m : measurable_space α}
49
49
50
50
/-- A vector measure on a measurable space `α` is a σ-additive `M`-valued function (for some `M`
51
51
an add monoid) such that the empty set and non-measurable sets are mapped to zero. -/
@@ -71,6 +71,8 @@ section
71
71
72
72
variables {M : Type *} [add_comm_monoid M] [topological_space M]
73
73
74
+ include m
75
+
74
76
instance : has_coe_to_fun (vector_measure α M) :=
75
77
⟨λ _, set α → M, vector_measure.measure_of'⟩
76
78
@@ -244,6 +246,8 @@ section add_comm_monoid
244
246
245
247
variables {M : Type *} [add_comm_monoid M] [topological_space M]
246
248
249
+ include m
250
+
247
251
instance : has_zero (vector_measure α M) :=
248
252
⟨⟨0 , rfl, λ _ _, rfl, λ _ _ _, has_sum_zero⟩⟩
249
253
@@ -280,9 +284,9 @@ end add_comm_monoid
280
284
281
285
section add_comm_group
282
286
283
- variables {M : Type *} [add_comm_group M] [topological_space M]
287
+ variables {M : Type *} [add_comm_group M] [topological_space M] [topological_add_group M]
284
288
285
- variables [topological_add_group M]
289
+ include m
286
290
287
291
/-- The negative of a vector measure is a vector measure. -/
288
292
def neg (v : vector_measure α M) : vector_measure α M :=
@@ -322,6 +326,8 @@ variables {M : Type*} [add_comm_monoid M] [topological_space M]
322
326
variables {R : Type *} [semiring R] [distrib_mul_action R M]
323
327
variables [topological_space R] [has_continuous_smul R M]
324
328
329
+ include m
330
+
325
331
/-- Given a real number `r` and a signed measure `s`, `smul r s` is the signed
326
332
measure corresponding to the function `r • s`. -/
327
333
def smul (r : R) (v : vector_measure α M) : vector_measure α M :=
@@ -347,6 +353,8 @@ variables {M : Type*} [add_comm_monoid M] [topological_space M]
347
353
variables {R : Type *} [semiring R] [module R M]
348
354
variables [topological_space R] [has_continuous_smul R M]
349
355
356
+ include m
357
+
350
358
instance [has_continuous_add M] : module R (vector_measure α M) :=
351
359
function.injective.module R coe_fn_add_monoid_hom coe_injective coe_smul
352
360
@@ -356,6 +364,8 @@ end vector_measure
356
364
357
365
namespace measure
358
366
367
+ include m
368
+
359
369
/-- A finite measure coerced into a real function is a signed measure. -/
360
370
@[simps]
361
371
def to_signed_measure (μ : measure α) [hμ : finite_measure μ] : signed_measure α :=
@@ -465,9 +475,34 @@ end measure
465
475
466
476
namespace vector_measure
467
477
478
+ open measure
479
+
468
480
section
469
481
470
- variables [measurable_space β]
482
+ /-- A vector measure over `ℝ≥0∞` is a measure. -/
483
+ def ennreal_to_measure {m : measurable_space α} (v : vector_measure α ℝ≥0 ∞) : measure α :=
484
+ of_measurable (λ s _, v s) v.empty (λ f hf₁ hf₂, v.of_disjoint_Union_nat hf₁ hf₂)
485
+
486
+ lemma ennreal_to_measure_apply {m : measurable_space α} {v : vector_measure α ℝ≥0 ∞}
487
+ {s : set α} (hs : measurable_set s) : ennreal_to_measure v s = v s :=
488
+ by rw [ennreal_to_measure, of_measurable_apply _ hs]
489
+
490
+ /-- The equiv between `vector_measure α ℝ≥0∞` and `measure α` formed by
491
+ `measure_theory.vector_measure.ennreal_to_measure` and
492
+ `measure_theory.measure.to_ennreal_vector_measure`. -/
493
+ @[simps] def equiv_measure [measurable_space α] : vector_measure α ℝ≥0 ∞ ≃ measure α :=
494
+ { to_fun := ennreal_to_measure,
495
+ inv_fun := to_ennreal_vector_measure,
496
+ left_inv := λ _, ext (λ s hs,
497
+ by rw [to_ennreal_vector_measure_apply_measurable hs, ennreal_to_measure_apply hs]),
498
+ right_inv := λ _, measure.ext (λ s hs,
499
+ by rw [ennreal_to_measure_apply hs, to_ennreal_vector_measure_apply_measurable hs]) }
500
+
501
+ end
502
+
503
+ section
504
+
505
+ variables [measurable_space α] [measurable_space β]
471
506
variables {M : Type *} [add_comm_monoid M] [topological_space M]
472
507
variables (v : vector_measure α M)
473
508
@@ -486,6 +521,9 @@ if hf : measurable f then
486
521
{ rw [preimage_Union, if_pos (measurable_set.Union hg₁)] }
487
522
end } else 0
488
523
524
+ lemma map_not_measurable {f : α → β} (hf : ¬ measurable f) : v.map f = 0 :=
525
+ dif_neg hf
526
+
489
527
lemma map_apply {f : α → β} (hf : measurable f) {s : set β} (hs : measurable_set s) :
490
528
v.map f s = v (f ⁻¹' s) :=
491
529
by { rw [map, dif_pos hf], exact if_pos hs }
@@ -588,6 +626,8 @@ variables {M : Type*} [add_comm_monoid M] [topological_space M]
588
626
variables {R : Type *} [semiring R] [distrib_mul_action R M]
589
627
variables [topological_space R] [has_continuous_smul R M]
590
628
629
+ include m
630
+
591
631
@[simp] lemma map_smul {v : vector_measure α M} {f : α → β} (c : R) :
592
632
(c • v).map f = c • v.map f :=
593
633
begin
@@ -619,6 +659,8 @@ variables {M : Type*} [add_comm_monoid M] [topological_space M]
619
659
variables {R : Type *} [semiring R] [module R M]
620
660
variables [topological_space R] [has_continuous_smul R M] [has_continuous_add M]
621
661
662
+ include m
663
+
622
664
/-- `vector_measure.map` as a linear map. -/
623
665
@[simps] def mapₗ (f : α → β) : vector_measure α M →ₗ[R] vector_measure β M :=
624
666
{ to_fun := λ v, v.map f,
@@ -637,6 +679,8 @@ section
637
679
638
680
variables {M : Type *} [topological_space M] [add_comm_monoid M] [partial_order M]
639
681
682
+ include m
683
+
640
684
/-- Vector measures over a partially ordered monoid is partially ordered.
641
685
642
686
This definition is consistent with `measure.partial_order`. -/
@@ -852,6 +896,8 @@ section
852
896
variables {M : Type *} [topological_space M] [linear_ordered_add_comm_monoid M]
853
897
variables (v w : vector_measure α M) {i j : set α}
854
898
899
+ include m
900
+
855
901
lemma exists_pos_measure_of_not_restrict_le_zero (hi : ¬ v ≤[i] 0 ) :
856
902
∃ j : set α, measurable_set j ∧ j ⊆ i ∧ 0 < v j :=
857
903
begin
@@ -869,12 +915,78 @@ section
869
915
variables {M : Type *} [topological_space M] [add_comm_monoid M] [partial_order M]
870
916
[covariant_class M M (+) (≤)] [has_continuous_add M]
871
917
918
+ include m
919
+
872
920
instance covariant_add_le :
873
921
covariant_class (vector_measure α M) (vector_measure α M) (+) (≤) :=
874
922
⟨λ u v w h i hi, add_le_add_left (h i hi) _⟩
875
923
876
924
end
877
925
926
+ section
927
+
928
+ variables {L M N : Type *}
929
+ variables [add_comm_monoid L] [topological_space L] [add_comm_monoid M] [topological_space M]
930
+ [add_comm_monoid N] [topological_space N]
931
+
932
+ include m
933
+
934
+ /-- A vector measure `v` is absolutely continuous with respect to a measure `μ` if for all sets
935
+ `s`, `μ s = 0`, we have `v s = 0`. -/
936
+ def absolutely_continuous (v : vector_measure α M) (w : vector_measure α N) :=
937
+ ∀ ⦃s : set α⦄, w s = 0 → v s = 0
938
+
939
+ infix ` ≪ `:50 := absolutely_continuous
940
+
941
+ namespace absolutely_continuous
942
+
943
+ variables {v : vector_measure α M} {w : vector_measure α N}
944
+
945
+ lemma mk (h : ∀ ⦃s : set α⦄, measurable_set s → w s = 0 → v s = 0 ) : v ≪ w :=
946
+ begin
947
+ intros s hs,
948
+ by_cases hmeas : measurable_set s,
949
+ { exact h hmeas hs },
950
+ { exact not_measurable v hmeas }
951
+ end
952
+
953
+ lemma eq {w : vector_measure α M} (h : v = w) : v ≪ w :=
954
+ λ s hs, h.symm ▸ hs
955
+
956
+ @[refl] lemma refl (v : vector_measure α M) : v ≪ v :=
957
+ eq rfl
958
+
959
+ @[trans] lemma trans {u : vector_measure α L} (huv : u ≪ v) (hvw : v ≪ w) : u ≪ w :=
960
+ λ _ hs, huv $ hvw hs
961
+
962
+ lemma map [measure_space β] (h : v ≪ w) (f : α → β) :
963
+ v.map f ≪ w.map f :=
964
+ begin
965
+ by_cases hf : measurable f,
966
+ { refine mk (λ s hs hws, _),
967
+ rw map_apply _ hf hs at hws ⊢,
968
+ exact h hws },
969
+ { intros s hs,
970
+ rw [map_not_measurable v hf, zero_apply] }
971
+ end
972
+
973
+ lemma ennreal_to_measure {μ : vector_measure α ℝ≥0 ∞} :
974
+ (∀ ⦃s : set α⦄, μ.ennreal_to_measure s = 0 → v s = 0 ) ↔ v ≪ μ :=
975
+ begin
976
+ split; intro h,
977
+ { refine mk (λ s hmeas hs, h _),
978
+ rw [← hs, ennreal_to_measure_apply hmeas] },
979
+ { intros s hs,
980
+ by_cases hmeas : measurable_set s,
981
+ { rw ennreal_to_measure_apply hmeas at hs,
982
+ exact h hs },
983
+ { exact not_measurable v hmeas } },
984
+ end
985
+
986
+ end absolutely_continuous
987
+
988
+ end
989
+
878
990
end vector_measure
879
991
880
992
namespace signed_measure
@@ -883,6 +995,8 @@ open vector_measure
883
995
884
996
open_locale measure_theory
885
997
998
+ include m
999
+
886
1000
/-- The underlying function for `signed_measure.to_measure_of_zero_le`. -/
887
1001
def to_measure_of_zero_le' (s : signed_measure α) (i : set α) (hi : 0 ≤[i] s)
888
1002
(j : set α) (hj : measurable_set j) : ℝ≥0 ∞ :=
0 commit comments