Skip to content

Commit

Permalink
fixes #1225 (#1475)
Browse files Browse the repository at this point in the history
- also removes deprecations from 0.6.0
  • Loading branch information
affeldt-aist authored Feb 12, 2025
1 parent 7705e58 commit e9483b0
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 281 deletions.
45 changes: 45 additions & 0 deletions CHANGELOG_UNRELEASED.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@
- in `normedtype.v`:
+ `cvge_sub0` -> `sube_cvg0`

- in `measure.v`:
+ `setDI_closed` -> `setD_closed`
+ `setDI_semi_setD_closed` -> `setD_semi_setD_closed`
+ `sedDI_closedP` -> `setD_closedP`
+ `setringDI` -> `setringD`

### Generalized

- in `sequences.v`,
Expand Down Expand Up @@ -184,6 +190,45 @@
- in file `pseudometric_structure.v`, removed `discrete_ball_center`, `discrete_topology_type`, and
`discrete_space_discrete`.

- in `measure.v`:
+ notation `caratheodory_lim_lee` (was deprecated since 0.6.0)

- in `lebesgue_measure.v`:
+ notations `itv_cpinfty_pinfty`, `itv_opinfty_pinfty`, `itv_cninfty_pinfty`,
`itv_oninfty_pinfty` (were deprecated since 0.6.0)
+ lemmas `__deprecated__itv_cpinfty_pinfty`, `__deprecated__itv_opinfty_pinfty`,
`__deprecated__itv_cninfty_pinfty`, `__deprecated__itv_oninfty_pinfty`
(were deprecated since 0.6.0)

- in `sequences.v`:
+ notations `cvgPpinfty_lt`, `cvgPninfty_lt`, `cvgPpinfty_near`,
`cvgPninfty_near`, `cvgPpinfty_lt_near`, `cvgPninfty_lt_near`,
`ereal_cvgD_ninfty_ninfty`, `invr_cvg0`, `invr_cvg_pinfty`,
`nat_dvg_real`, `nat_cvgPpinfty`, `ereal_squeeze`, `ereal_cvgD_pinfty_fin`,
`ereal_cvgD_ninfty_fin`, `ereal_cvgD_pinfty_pinfty`, `ereal_cvgD`,
`ereal_cvgB`, `ereal_is_cvgD`, `ereal_cvg_sub0`, `ereal_limD`,
`ereal_cvgM_gt0_pinfty`, `ereal_cvgM_lt0_pinfty`, `ereal_cvgM_gt0_ninfty`,
`ereal_cvgM_lt0_ninfty`, `ereal_cvgM`, `ereal_lim_sum`, `ereal_cvg_abs0`,
`ereal_cvg_ge0`, `ereal_lim_ge`, `ereal_lim_le`, `dvg_ereal_cvg`,
`ereal_cvg_real`
(were deprecated since 0.6.0)
+ lemmas `__deprecated__cvgPpinfty_lt`, `__deprecated__cvgPninfty_lt`,
`__deprecated__cvgPpinfty_near`, `__deprecated__cvgPninfty_near`,
`__deprecated__cvgPpinfty_lt_near`, `__deprecated__cvgPninfty_lt_near`,
`__deprecated__invr_cvg0`, `__deprecated__invr_cvg_pinfty`,
`__deprecated__nat_dvg_real`, `__deprecated__nat_cvgPpinfty`,
`__deprecated__ereal_squeeze`, `__deprecated__ereal_cvgD_pinfty_fin`,
`__deprecated__ereal_cvgD_ninfty_fin`, `__deprecated__ereal_cvgD_pinfty_pinfty`,
`__deprecated__ereal_cvgD`, `__deprecated__ereal_cvgB`, `__deprecated__ereal_is_cvgD`,
`__deprecated__ereal_cvg_sub0`, `__deprecated__ereal_limD`,
`__deprecated__ereal_cvgM_gt0_pinfty`, `__deprecated__ereal_cvgM_lt0_pinfty`,
`__deprecated__ereal_cvgM_gt0_ninfty`, `__deprecated__ereal_cvgM_lt0_ninfty`,
`__deprecated__ereal_cvgM`, `__deprecated__ereal_lim_sum`,
`__deprecated__ereal_cvg_abs0`, `__deprecated__ereal_cvg_ge0`,
`__deprecated__ereal_lim_ge`, `__deprecated__ereal_lim_le`,
`__deprecated__dvg_ereal_cvg`, `__deprecated__ereal_cvg_real`
(were deprecated since 0.6.0)

### Infrastructure

### Misc
21 changes: 0 additions & 21 deletions theories/lebesgue_measure.v
Original file line number Diff line number Diff line change
Expand Up @@ -320,27 +320,6 @@ case: x => [r| |].
Qed.
#[local] Hint Resolve emeasurable_set1 : core.

Lemma __deprecated__itv_cpinfty_pinfty : `[+oo%E, +oo[%classic = [set +oo%E] :> set (\bar R).
Proof. by rewrite itv_cyy. Qed.
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `itv_cyy`")]
Notation itv_cpinfty_pinfty := __deprecated__itv_cpinfty_pinfty (only parsing).

Lemma __deprecated__itv_opinfty_pinfty : `]+oo%E, +oo[%classic = set0 :> set (\bar R).
Proof. by rewrite itv_oyy. Qed.
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `itv_oyy`")]
Notation itv_opinfty_pinfty := __deprecated__itv_opinfty_pinfty (only parsing).

Lemma __deprecated__itv_cninfty_pinfty : `[-oo%E, +oo[%classic = setT :> set (\bar R).
Proof. by rewrite itv_cNyy. Qed.
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `itv_cNyy`")]
Notation itv_cninfty_pinfty := __deprecated__itv_cninfty_pinfty (only parsing).

Lemma __deprecated__itv_oninfty_pinfty :
`]-oo%E, +oo[%classic = ~` [set -oo]%E :> set (\bar R).
Proof. by rewrite itv_oNyy. Qed.
#[deprecated(since="mathcomp-analysis 0.6.0", note="renamed `itv_oNyy`")]
Notation itv_oninfty_pinfty := __deprecated__itv_oninfty_pinfty (only parsing).

Let emeasurable_itv_bndy b (y : \bar R) :
measurable [set` Interval (BSide b y) +oo%O].
Proof.
Expand Down
55 changes: 30 additions & 25 deletions theories/measure.v
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ From HB Require Import structures.
(* setC_closed G == the set of sets G is closed under complement *)
(* setSD_closed G == the set of sets G is closed under proper *)
(* difference *)
(* setDI_closed G == the set of sets G is closed under difference *)
(* setD_closed G == the set of sets G is closed under difference *)
(* setY_closed G == the set of sets G is closed under symmetric *)
(* difference *)
(* ndseq_closed G == the set of sets G is closed under non-decreasing *)
Expand Down Expand Up @@ -354,7 +354,7 @@ Definition setC_closed := forall A, G A -> G (~` A).
Definition setI_closed := forall A B, G A -> G B -> G (A `&` B).
Definition setU_closed := forall A B, G A -> G B -> G (A `|` B).
Definition setSD_closed := forall A B, B `<=` A -> G A -> G B -> G (A `\` B).
Definition setDI_closed := forall A B, G A -> G B -> G (A `\` B).
Definition setD_closed := forall A B, G A -> G B -> G (A `\` B).
Definition setY_closed := forall A B, G A -> G B -> G (A `+` B).

Definition fin_bigcap_closed :=
Expand All @@ -373,7 +373,7 @@ Definition fin_bigcup_closed :=
Definition semi_setD_closed := forall A B, G A -> G B -> exists D,
[/\ finite_set D, D `<=` G, A `\` B = \bigcup_(X in D) X & trivIset D id].

Lemma setDI_semi_setD_closed : setDI_closed -> semi_setD_closed.
Lemma setD_semi_setD_closed : setD_closed -> semi_setD_closed.
Proof.
move=> mD A B Am Bm; exists [set A `\` B]; split; rewrite ?bigcup_set1//.
by move=> X ->; apply: mD.
Expand All @@ -394,9 +394,9 @@ Definition fin_trivIset_closed :=
forall I (D : set I) (F : I -> set T), finite_set D -> trivIset D F ->
(forall i, D i -> G (F i)) -> G (\bigcup_(k in D) F k).

Definition setring := [/\ G set0, setU_closed & setDI_closed].
Definition setring := [/\ G set0, setU_closed & setD_closed].

Definition sigma_ring := [/\ G set0, setDI_closed &
Definition sigma_ring := [/\ G set0, setD_closed &
(forall A : (set T)^nat, (forall n, G (A n)) -> G (\bigcup_k A k))].

Definition sigma_algebra :=
Expand All @@ -416,8 +416,12 @@ Definition monotone := ndseq_closed /\ niseq_closed.
End set_systems.
#[deprecated(since="mathcomp-analysis 1.2.0", note="renamed `lambda_system`")]
Notation monotone_class := lambda_system (only parsing).
#[deprecated(since="mathcomp-analysis 1.3.0", note="renamed `setSD_closed`")]
Notation setD_closed := setSD_closed (only parsing).
(*#[deprecated(since="mathcomp-analysis 1.3.0", note="renamed `setSD_closed`")]
Notation setD_closed := setSD_closed (only parsing).*)
#[deprecated(since="mathcomp-analysis 1.9.0", note="renamed `setD_closed`")]
Notation setDI_closed := setD_closed (only parsing).
#[deprecated(since="mathcomp-analysis 1.9.0", note="renamed `setD_semi_setD_closed`")]
Notation setDI_semi_setD_closed := setD_semi_setD_closed (only parsing).

Lemma powerset_sigma_ring (T : Type) (D : set T) :
sigma_ring [set X | X `<=` D].
Expand Down Expand Up @@ -485,15 +489,17 @@ rewrite in_fset_set// inE => -[Dj /eqP nij] GAB.
by rewrite setICA; apply: GI => //; apply: GA.
Qed.

Lemma sedDI_closedP T (G : set (set T)) :
setDI_closed G <-> (setI_closed G /\ setSD_closed G).
Lemma setD_closedP T (G : set (set T)) :
setD_closed G <-> (setI_closed G /\ setSD_closed G).
Proof.
split=> [GDI|[GI GD]].
by split=> A B => [|AB] => GA GB; rewrite -?setDD//; do ?apply: (GDI).
move=> A B GA GB; suff <- : A `\` (A `&` B) = A `\` B.
by apply: GD => //; apply: GI.
by rewrite setDE setCI setIUr -setDE setDv set0U.
Qed.
#[deprecated(since="mathcomp-analysis 1.9.0", note="renamed `setD_closed`")]
Notation sedDI_closedP := setD_closed (only parsing).

Lemma sigma_algebra_bigcap T (I : choiceType) (D : set T)
(F : I -> set (set T)) (J : set I) :
Expand Down Expand Up @@ -594,7 +600,7 @@ Lemma sub_setring : G `<=` <<r G >>. Proof. exact: sub_smallest. Qed.
Lemma setring0 : <<r G >> set0.
Proof. by case: smallest_setring. Qed.

Lemma setringDI : setDI_closed <<r G>>.
Lemma setringD : setD_closed <<r G>>.
Proof. by case: smallest_setring. Qed.

Lemma setringU : setU_closed <<r G>>.
Expand All @@ -607,6 +613,8 @@ Qed.

End generated_setring.
#[global] Hint Resolve smallest_setring setring0 : core.
#[deprecated(since="mathcomp-analysis 1.9.0", note="renamed `setringD`")]
Notation setringDI := setringD (only parsing).

Lemma g_sigma_algebra_lambda_system T (G : set (set T)) (D : set T) :
(forall X, <<s D, G >> X -> X `<=` D) ->
Expand Down Expand Up @@ -1112,7 +1120,7 @@ HB.structure Definition SigmaRing d :=
HB.factory Record isSigmaRing (d : measure_display) T of Pointed T := {
measurable : set (set T) ;
measurable0 : measurable set0 ;
measurableD : setDI_closed measurable ;
measurableD : setD_closed measurable ;
bigcupT_measurable : forall F : (set T)^nat, (forall i, measurable (F i)) ->
measurable (\bigcup_i (F i))
}.
Expand All @@ -1122,10 +1130,10 @@ HB.builders Context d T of isSigmaRing d T.
Let m0 : measurable set0. Proof. exact: measurable0. Qed.

Let mI : setI_closed measurable.
Proof. by have [] := (sedDI_closedP measurable).1 measurableD. Qed.
Proof. by have [] := (setD_closedP measurable).1 measurableD. Qed.

Let mD : semi_setD_closed measurable.
Proof. by apply: setDI_semi_setD_closed; exact: measurableD. Qed.
Proof. by apply: setD_semi_setD_closed; exact: measurableD. Qed.

HB.instance Definition _ := isSemiRingOfSets.Build d T m0 mI mD.

Expand All @@ -1141,17 +1149,17 @@ HB.factory Record isRingOfSets (d : measure_display) T of Pointed T := {
measurable : set (set T) ;
measurable0 : measurable set0 ;
measurableU : setU_closed measurable;
measurableD : setDI_closed measurable;
measurableD : setD_closed measurable;
}.

HB.builders Context d T of isRingOfSets d T.
Implicit Types (A B C D : set T).

Lemma mI : setI_closed measurable.
Proof. by have [] := (sedDI_closedP measurable).1 measurableD. Qed.
Proof. by have [] := (setD_closedP measurable).1 measurableD. Qed.

Lemma mD : semi_setD_closed measurable.
Proof. by apply: setDI_semi_setD_closed; exact: measurableD. Qed.
Proof. by apply: setD_semi_setD_closed; exact: measurableD. Qed.

HB.instance Definition _ :=
@isSemiRingOfSets.Build d T measurable measurable0 mI mD.
Expand Down Expand Up @@ -1182,7 +1190,7 @@ move=> A B mA mB; rewrite -setYU.
by apply: measurable_setY; [exact: measurable_setY|exact: measurable_setI].
Qed.

Let mD : setDI_closed measurable.
Let mD : setD_closed measurable.
Proof.
move=> A B mA mB; rewrite -setYD.
by apply: measurable_setY => //; exact: measurable_setI.
Expand All @@ -1201,7 +1209,7 @@ HB.factory Record isAlgebraOfSets (d : measure_display) T of Pointed T := {

HB.builders Context d T of isAlgebraOfSets d T.

Lemma mD : setDI_closed measurable.
Lemma mD : setD_closed measurable.
Proof.
move=> A B mA mB; rewrite setDE -[A]setCK -setCU.
by do ?[apply: measurableU | apply: measurableC].
Expand All @@ -1220,7 +1228,7 @@ HB.end.
HB.factory Record isAlgebraOfSets_setD (d : measure_display) T of Pointed T := {
measurable : set (set T) ;
measurableT : measurable [set: T] ;
measurableD : setDI_closed measurable
measurableD : setD_closed measurable
}.

HB.builders Context d T of isAlgebraOfSets_setD d T.
Expand Down Expand Up @@ -1291,7 +1299,7 @@ rewrite -bigsetU_fset_set// big_seq; apply: bigsetU_measurable => i.
by rewrite in_fset_set ?inE// => *; apply: Fm.
Qed.

Lemma measurableD : setDI_closed (@measurable d T).
Lemma measurableD : setD_closed (@measurable d T).
Proof.
move=> A B mA mB; case: (semi_measurableD A B) => // [D [Dfin Dl -> _]].
by apply: fin_bigcup_measurable.
Expand Down Expand Up @@ -2632,7 +2640,7 @@ Notation rT := (type T).
HB.instance Definition _ := Pointed.on rT.
#[export]
HB.instance Definition _ := isRingOfSets.Build (display d) rT
(@setring0 T measurable) (@setringU T measurable) (@setringDI T measurable).
(@setring0 T measurable) (@setringU T measurable) (@setringD T measurable).

Local Notation "d .-ring" := (display d) (at level 1, format "d .-ring").
Local Notation "d .-ring.-measurable" :=
Expand Down Expand Up @@ -2681,7 +2689,7 @@ have mdU : fin_trivIset_closed measurable_fin_trivIset.
by rewrite {i}eqij in Di Gi *; have [_ _ _ /(_ _ _ _ _ XYN0)->] := GP j Dj.
apply: Ftriv => //; have [-> _ _ _] := GP j Dj; have [-> _ _ _] := GP i Di.
by case: XYN0 => [x [Xx Yx]]; exists x; split; [exists X|exists Y].
have mdDI : setDI_closed measurable_fin_trivIset.
have mdDI : setD_closed measurable_fin_trivIset.
move=> A B mA mB; have [F [-> Fm Ffin Ftriv]] := mA.
have [F' [-> F'm F'fin F'triv]] := mB.
have [->|/set0P F'N0] := eqVneq F' set0.
Expand Down Expand Up @@ -4444,9 +4452,6 @@ apply: (@le_trans _ _ (\sum_(k < n) mu (X `&` A k) + mu (X `&` ~` B n))).
rewrite [in leRHS](caratheodory_measurable_bigsetU MA n) leeD2r//.
by rewrite caratheodory_additive.
Qed.
#[deprecated(since="mathcomp-analysis 0.6.0",
note="renamed `caratheodory_lime_le`")]
Notation caratheodory_lim_lee := caratheodory_lime_le (only parsing).

Lemma caratheodory_measurable_trivIset_bigcup (A : (set T) ^nat) :
(forall n, M (A n)) -> trivIset setT A -> M (\bigcup_k (A k)).
Expand Down
Loading

0 comments on commit e9483b0

Please sign in to comment.