@@ -35,6 +35,8 @@ From mathcomp Require Import ereal topology normedtype sequences.
3535(* The HB class is AlgebraOfsets. *)
3636(* measurableType == the type of sigma-algebras *)
3737(* The HB class is Measurable. *)
38+ (* pmeasurableType == the type of pointed sigma-algebras *)
39+ (* The HB class is PMeasurable. *)
3840(* ``` *)
3941(* *)
4042(* ## Instances of mathematical structures *)
@@ -856,7 +858,7 @@ HB.mixin Record isSemiRingOfSets (d : measure_display) T := {
856858
857859#[short(type="semiRingOfSetsType")]
858860HB.structure Definition SemiRingOfSets d :=
859- {T of Pointed T & isSemiRingOfSets d T}.
861+ {T of Choice T & isSemiRingOfSets d T}.
860862
861863Arguments measurable {d}%_measure_display_scope {s} _%_classical_set_scope.
862864
@@ -906,7 +908,7 @@ HB.end.
906908HB.structure Definition SigmaRing d :=
907909 {T of SemiRingOfSets d T & hasMeasurableCountableUnion d T}.
908910
909- HB.factory Record isSigmaRing (d : measure_display) T & Pointed T := {
911+ HB.factory Record isSigmaRing (d : measure_display) T & Choice T := {
910912 measurable : set (set T) ;
911913 measurable0 : measurable set0 ;
912914 measurableD : setD_closed measurable ;
@@ -934,7 +936,10 @@ HB.end.
934936HB.structure Definition Measurable d :=
935937 {T of AlgebraOfSets d T & hasMeasurableCountableUnion d T }.
936938
937- HB.factory Record isRingOfSets (d : measure_display) T & Pointed T := {
939+ #[short(type="pmeasurableType")]
940+ HB.structure Definition PMeasurable d := {T of Pointed T & Measurable d T}.
941+
942+ HB.factory Record isRingOfSets (d : measure_display) T & Choice T := {
938943 measurable : set (set T) ;
939944 measurable0 : measurable set0 ;
940945 measurableU : setU_closed measurable;
@@ -958,7 +963,7 @@ HB.instance Definition _ := SemiRingOfSets_isRingOfSets.Build d T measurableU.
958963HB.end .
959964
960965HB.factory Record isRingOfSets_setY (d : measure_display) T
961- & Pointed T := {
966+ & Choice T := {
962967 measurable : set (set T) ;
963968 measurable_nonempty : measurable !=set0 ;
964969 measurable_setY : setY_closed measurable ;
@@ -989,7 +994,7 @@ HB.instance Definition _ := isRingOfSets.Build d T m0 mU mD.
989994
990995HB.end .
991996
992- HB.factory Record isAlgebraOfSets (d : measure_display) T & Pointed T := {
997+ HB.factory Record isAlgebraOfSets (d : measure_display) T & Choice T := {
993998 measurable : set (set T) ;
994999 measurable0 : measurable set0 ;
9951000 measurableU : setU_closed measurable;
@@ -1014,7 +1019,7 @@ HB.instance Definition _ := RingOfSets_isAlgebraOfSets.Build d T measurableT.
10141019
10151020HB.end .
10161021
1017- HB.factory Record isAlgebraOfSets_setD (d : measure_display) T & Pointed T := {
1022+ HB.factory Record isAlgebraOfSets_setD (d : measure_display) T & Choice T := {
10181023 measurable : set (set T) ;
10191024 measurableT : measurable [set: T] ;
10201025 measurableD : setD_closed measurable
@@ -1038,7 +1043,7 @@ HB.instance Definition _ := RingOfSets_isAlgebraOfSets.Build d T measurableT.
10381043
10391044HB.end .
10401045
1041- HB.factory Record isMeasurable (d : measure_display) T & Pointed T := {
1046+ HB.factory Record isMeasurable (d : measure_display) T & Choice T := {
10421047 measurable : set (set T) ;
10431048 measurable0 : measurable set0 ;
10441049 measurableC : forall A, measurable A -> measurable (~` A) ;
@@ -1282,12 +1287,12 @@ Proof. exact. Qed.
12821287Definition g_sigma_algebraType {T} (G : set (set T)) := T.
12831288
12841289Section g_salgebra_instance.
1285- Variables (T : pointedType ) (G : set (set T)).
1290+ Variables (T : choiceType ) (G : set (set T)).
12861291
12871292Lemma sigma_algebraC (A : set T) : <<s G >> A -> <<s G >> (~` A).
12881293Proof . by move=> sGA; rewrite -setTD; exact: sigma_algebraCD. Qed .
12891294
1290- HB.instance Definition _ := Pointed .on (g_sigma_algebraType G).
1295+ HB.instance Definition _ := Choice .on (g_sigma_algebraType G).
12911296HB.instance Definition _ := @isMeasurable.Build (sigma_display G)
12921297 (g_sigma_algebraType G)
12931298 <<s G >> (@sigma_algebra0 _ setT G) (@sigma_algebraC)
@@ -1299,7 +1304,7 @@ Notation "G .-sigma" := (sigma_display G) : measure_display_scope.
12991304Notation "G .-sigma.-measurable" :=
13001305 (measurable : set (set (g_sigma_algebraType G))) : classical_set_scope.
13011306
1302- Lemma measurable_g_measurableTypeE (T : pointedType ) (G : set (set T)) :
1307+ Lemma measurable_g_measurableTypeE (T : choiceType ) (G : set (set T)) :
13031308 sigma_algebra setT G -> G.-sigma.-measurable = G.
13041309Proof . exact: sigma_algebra_id. Qed .
13051310
@@ -1326,15 +1331,15 @@ Qed.
13261331Definition preimage_display {T T'} : (T -> T') -> measure_display.
13271332Proof . exact. Qed .
13281333
1329- Definition g_sigma_algebra_preimageType d' (T : pointedType )
1334+ Definition g_sigma_algebra_preimageType d' (T : choiceType )
13301335 (T' : measurableType d') (f : T -> T') : Type := T.
13311336
1332- Definition g_sigma_algebra_preimage d' (T : pointedType )
1337+ Definition g_sigma_algebra_preimage d' (T : choiceType )
13331338 (T' : measurableType d') (f : T -> T') :=
13341339 preimage_set_system setT f (@measurable _ T').
13351340
13361341Section preimage_generated_sigma_algebra.
1337- Context {d'} (T : pointedType ) (T' : measurableType d').
1342+ Context {d'} (T : choiceType ) (T' : measurableType d').
13381343Variable f : T -> T'.
13391344
13401345Let preimage_set0 : g_sigma_algebra_preimage f set0.
@@ -1363,7 +1368,7 @@ rewrite setTI /g preimage_bigcup; apply: eq_bigcupr => k _.
13631368by case: (mg k) => _; rewrite setTI.
13641369Qed .
13651370
1366- HB.instance Definition _ := Pointed .on (g_sigma_algebra_preimageType f).
1371+ HB.instance Definition _ := Choice .on (g_sigma_algebra_preimageType f).
13671372
13681373HB.instance Definition _ := @isMeasurable.Build (preimage_display f)
13691374 (g_sigma_algebra_preimageType f) (g_sigma_algebra_preimage f)
@@ -1393,7 +1398,7 @@ move=> [G0 GC GU]; split; rewrite /image_set_system.
13931398- by move=> F /= mF; rewrite preimage_bigcup setI_bigcupr; exact: GU.
13941399Qed .
13951400
1396- Lemma g_sigma_preimageE aT (rT : pointedType ) (D : set aT)
1401+ Lemma g_sigma_preimageE aT (rT : choiceType ) (D : set aT)
13971402 (f : aT -> rT) (G' : set (set rT)) :
13981403 <<s D, preimage_set_system D f G' >> =
13991404 preimage_set_system D f (G'.-sigma.-measurable).
@@ -1539,7 +1544,7 @@ move=> sA sB; split=> [AB|AB]; last by rewrite AB.
15391544by apply/seteqP; split; exact/AB.
15401545Qed .
15411546
1542- Lemma g_sigma_algebra_cross {T1 T2 : pointedType } (X : set_system T1)
1547+ Lemma g_sigma_algebra_cross {T1 T2 : choiceType } (X : set_system T1)
15431548 (Y : set_system T2) :
15441549 <<s X `x` <<s Y >> >> = <<s X `x` Y >>.
15451550Proof .
@@ -1562,7 +1567,7 @@ Notation preimage_classes := g_sigma_preimageU (only parsing).
15621567
15631568Section product_lemma.
15641569Context d1 d2 (T1 : semiRingOfSetsType d1) (T2 : semiRingOfSetsType d2).
1565- Variables (T : pointedType ) (f1 : T -> T1) (f2 : T -> T2).
1570+ Variables (T : choiceType ) (f1 : T -> T1) (f2 : T -> T2).
15661571Variables (T3 : Type) (g : T3 -> T).
15671572
15681573Lemma g_sigma_preimageU_comp : g_sigma_preimageU (f1 \o g) (f2 \o g) =
@@ -1604,7 +1609,7 @@ Let prod_salgebra_bigcup (F : _^nat) :
16041609 g_sigma_preimageU f1 f2 (\bigcup_i (F i)).
16051610Proof . exact: sigma_algebra_bigcup. Qed .
16061611
1607- HB.instance Definition _ := Pointed .on (T1 * T2)%type.
1612+ HB.instance Definition _ := Choice .on (T1 * T2)%type.
16081613HB.instance Definition prod_salgebra_mixin :=
16091614 @isMeasurable.Build (measure_prod_display (d1, d2))
16101615 (T1 * T2)%type (g_sigma_preimageU f1 f2)
@@ -1626,7 +1631,7 @@ rewrite -(setIT A) -(setTI B) setXI setXT setTX; apply: measurableI.
16261631- by apply: sub_sigma_algebra; right; exists B => //; rewrite setTI.
16271632Qed .
16281633
1629- Lemma g_sigma_algebra_rectangle {T1 T2 : pointedType } (X : set_system T1)
1634+ Lemma g_sigma_algebra_rectangle {T1 T2 : choiceType } (X : set_system T1)
16301635 (Y : set_system T2) : X [set: T1] -> Y [set: T2] ->
16311636 <<s rectangle X Y >> = <<s X `x` Y >>.
16321637Proof .
@@ -1657,7 +1662,7 @@ End product_salgebra_algebraOfSetsType.
16571662Notation measurable_prod_measurableType := prod_measurable_rectangle (only parsing).
16581663
16591664Section product_salgebra_g_measurableTypeR.
1660- Context d1 (T1 : algebraOfSetsType d1) (T2 : pointedType ) (C2 : set (set T2)).
1665+ Context d1 (T1 : algebraOfSetsType d1) (T2 : choiceType ) (C2 : set (set T2)).
16611666Hypothesis setTC2 : setT `<=` C2.
16621667
16631668#[deprecated(since="mathcomp-analysis 1.17.0")]
@@ -1674,7 +1679,7 @@ Qed.
16741679End product_salgebra_g_measurableTypeR.
16751680
16761681Section product_salgebra_g_measurableType.
1677- Variables (T1 T2 : pointedType ) (C1 : set (set T1)) (C2 : set (set T2)).
1682+ Variables (T1 T2 : choiceType ) (C1 : set (set T1)) (C2 : set (set T2)).
16781683Hypotheses (setTC1 : setT `<=` C1) (setTC2 : setT `<=` C2).
16791684
16801685#[deprecated(since="mathcomp-analysis 1.17.0")]
@@ -1695,7 +1700,7 @@ Definition g_sigma_preimage d (rT : semiRingOfSetsType d) (aT : Type)
16951700 <<s \big[setU/set0]_(i < n) preimage_set_system setT (f i) measurable >>.
16961701
16971702Lemma g_sigma_preimage_comp d1 {T1 : semiRingOfSetsType d1} n
1698- {T : pointedType } (f : 'I_n -> T -> T1) {T2 : Type } (g : T2 -> T) :
1703+ {T : choiceType } (f : 'I_n -> T -> T1) {T2 : Type } (g : T2 -> T) :
16991704 g_sigma_preimage (fun i => f i \o g) =
17001705 preimage_set_system [set: T2] g (g_sigma_preimage f).
17011706Proof .
0 commit comments