Skip to content

Commit 2434d56

Browse files
Brixfolyadjevahiaffeldt-aist
authored
Renamed and added lemmas for setD and bigcup (#2009)
* added setD_bigcapr + renamed bigcupDr to setD_bigcupr * added preimageD1 --------- Co-authored-by: adjevahi <arthur.djevahirdjian@ens-lyon.fr> Co-authored-by: Reynald Affeldt <reynald.affeldt@aist.go.jp>
1 parent e297f60 commit 2434d56

7 files changed

Lines changed: 39 additions & 33 deletions

File tree

CHANGELOG_UNRELEASED.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,6 @@
22

33
## [Unreleased]
44

5-
### Renamed
6-
- in `functions.v`
7-
+ lemma `scalrfctE` -> `scalerfctE` (deprecating `scalrfctE`)
8-
9-
### Changed
10-
- in `functions.v`
11-
+ lemma `fctE` (include `zerofctE` and `onefctE`)
12-
13-
### Added
14-
- in `functions.v`:
15-
+ lemmas `zerofctE`, `onefctE`
16-
175
### Added
186
- in `set_interval.v`:
197
+ lemmas `setU_itvob1`, `setU_1itvob`
@@ -26,6 +14,7 @@
2614
+ definitions `cross`, `cross12`
2715
+ lemmas `smallest_sub_sub`, `bigcap_closed_smallest`, `smallest_sub_iff`
2816
+ lemma `preimage_set_systemS`
17+
+ lemma `setD_bigcapr`
2918

3019
- in `measurable_structure.v`:
3120
+ lemmas `g_sigma_algebra_cross`, `g_sigma_algebra_rectangle`
@@ -186,12 +175,9 @@
186175
+ lemma `ge0_integration_by_substitution_shift_itvy`,
187176
`ge0_integration_by_substitution_shift_itvNy`
188177

189-
### Changed
178+
- in `functions.v`:
179+
+ lemmas `zerofctE`, `onefctE`
190180

191-
- moved from `measurable_structure.v` to `classical_sets.v`:
192-
+ definition `preimage_set_system`
193-
+ lemmas `preimage_set_system0`, `preimage_set_systemU`, `preimage_set_system_comp`,
194-
`preimage_set_system_id`
195181
- in `functions.v`:
196182
+ lemmas `linfunP`, `linfun_eqP`
197183
+ instances of `SubLmodule` and `pointedType` on `{linear _->_ | _ }`
@@ -221,11 +207,14 @@
221207
+ lemma `ge0_esum`
222208
+ lemma `esum_ge`
223209

224-
- in `realsum.v`:
225-
+ lemma `__admitted__psumB` proved and renamed to `psumB`
210+
- in `functions.v`:
211+
+ lemma `preimageD1`
226212

227213
### Changed
228214

215+
- in `realsum.v`:
216+
+ lemma `__admitted__psumB` proved and renamed to `psumB`
217+
229218
- moved from `measurable_structure.v` to `classical_sets.v`:
230219
+ definition `preimage_set_system`
231220
+ lemmas `preimage_set_system0`, `preimage_set_systemU`, `preimage_set_system_comp`,
@@ -335,6 +324,12 @@
335324
+ definition `seqD`
336325
+ lemmas `eq_bigcup_seqD`, `trivIset_seqD`, `seqDU_seqD`, `bigcup_bigsetU_bigcup`
337326

327+
- in `functions.v`
328+
+ lemma `fctE` (include `zerofctE` and `onefctE`)
329+
330+
- in `classical_sets.v`
331+
+ lemma `bigcupDr` -> `setD_bigcupr` (deprecating `bigcupDr`)
332+
338333
### Renamed
339334

340335
- in `tvs.v`:
@@ -384,6 +379,9 @@
384379
- in `realsum.v`:
385380
+ `psum` -> `PosSum.psum`
386381

382+
- in `functions.v`
383+
+ lemma `scalrfctE` -> `scalerfctE` (deprecating `scalrfctE`)
384+
387385
### Generalized
388386

389387
- in `measurable_structure.v`:

classical/classical_sets.v

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2115,10 +2115,19 @@ Lemma setC_bigsetI U (s : seq T) (f : T -> set U) (P : pred T) :
21152115
\big[setU/set0]_(t <- s | P t) ~` f t.
21162116
Proof. by elim/big_rec2: _ => [|i X Y Pi <-]; rewrite ?setCT ?setCI. Qed.
21172117

2118+
#[deprecated(since="mathcomp-analysis 1.17.0", note="use `setD_bigcupr` instead")]
21182119
Lemma bigcupDr (F : I -> set T) (P : set I) (A : set T) : P !=set0 ->
21192120
\bigcap_(i in P) (A `\` F i) = A `\` \bigcup_(i in P) F i.
21202121
Proof. by move=> PN0; rewrite setDE setC_bigcup -bigcapIr. Qed.
21212122

2123+
Lemma setD_bigcupr (F : I -> set T) (P : set I) (A : set T) : P !=set0 ->
2124+
A `\` \bigcup_(i in P) F i = \bigcap_(i in P) (A `\` F i).
2125+
Proof. by move=> PN0; rewrite setDE setC_bigcup -bigcapIr. Qed.
2126+
2127+
Lemma setD_bigcapr (F : I -> set T) [P : set I] (A : set T) :
2128+
A `\` \bigcap_(i in P) F i = \bigcup_(i in P) (A `\` F i).
2129+
Proof. by rewrite setDE setC_bigcap setI_bigcupr. Qed.
2130+
21222131
Lemma setD_bigcupl (F : I -> set T) (P : set I) (A : set T) :
21232132
\bigcup_(i in P) F i `\` A = \bigcup_(i in P) (F i `\` A).
21242133
Proof. by rewrite setDE setI_bigcupl; under eq_bigcupr do rewrite -setDE. Qed.

classical/functions.v

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2766,6 +2766,15 @@ Definition fctE :=
27662766
(cstE, compE, opprfctE, addrfctE, mulrfctE, scalerfctE, exprfctE,
27672767
zerofctE, onefctE).
27682768

2769+
Lemma preimageD1 {T : Type} {Z : zmodType} (f g : T -> Z) (z : Z) :
2770+
(f \+ g) @^-1`[set z] =
2771+
\bigcup_(a in range f) (f @^-1` [set a] `&` g @^-1` [set z - a]).
2772+
Proof.
2773+
rewrite eqEsubset; split => [x <-|x [a _ /= [<- ->]]].
2774+
by exists (f x) => /=; [exact/imageT|rewrite addrC addKr].
2775+
by rewrite subrKC.
2776+
Qed.
2777+
27692778
End function_space_lemmas.
27702779

27712780
#[deprecated(since="mathcomp-analysis 1.17.0", use=scalerfctE)]

theories/lebesgue_integral_theory/lebesgue_integral_definition.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ Proof.
170170
rewrite !sintegralE; set F := f @` _; set G := g @` _; set FG := _ @` _.
171171
pose pf x := f @^-1` [set x]; pose pg y := g @^-1` [set y].
172172
transitivity (\sum_(z \in FG) z%:E * \sum_(a \in F) m (pf a `&` pg (z - a)%R)).
173-
apply: eq_fsbigr => z _; rewrite preimage_add -fsbig_setU// measure_fsbig//.
173+
apply: eq_fsbigr => z _; rewrite preimageD1 -fsbig_setU// measure_fsbig//.
174174
by move=> x Fx; exact: measurableI.
175175
exact/trivIset_setIr/trivIset_preimage1.
176176
under eq_fsbigr do rewrite ge0_mule_fsumr//; rewrite exchange_fsbig//=.

theories/lebesgue_integral_theory/measurable_fun_approximation.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,7 @@ exists (\bigcup_(i in range f) dK i); split.
725725
- by rewrite -bigsetU_fset_set//; apply: bigsetU_compact=>// i _; case: (dkP i).
726726
- by move=> z [y _ dy]; have [_ /(_ _ dy) []] := dkP y.
727727
- have -> : A `\` \bigcup_(i in range f) dK i = \bigcup_(i in range f) J i.
728-
rewrite -bigcupDr /= ?eqEsubset; first by exists (f point), point.
728+
rewrite setD_bigcupr /= ?eqEsubset; first by exists (f point), point.
729729
split => z; first by move=> /(_ (f z)) [//| ? ?]; exists (f z).
730730
case => ? [? _ <-] [[zab /= <- nfz]] ? [r _ <-]; split => //.
731731
by move: nfz; apply: contra_not => /[dup] /dKsub ->.

theories/lebesgue_integral_theory/simple_functions.v

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -227,16 +227,6 @@ move=> x0; apply/seteqP.
227227
by split=> [z/= <-|z/= ->]; rewrite [x * _]mulrC (mulfK, divfK).
228228
Qed.
229229

230-
Lemma preimage_add T (R : numDomainType) (f g : T -> R) z :
231-
(f \+ g) @^-1` [set z] = \bigcup_(a in f @` setT)
232-
((f @^-1` [set a]) `&` (g @^-1` [set z - a])).
233-
Proof.
234-
apply/seteqP; split=> [x /= fgz|x [_ /= [y _ <-]] [fxfy gzf]]; last first.
235-
by rewrite gzf -fxfy addrC subrK.
236-
exists (z - g x); first by exists x; rewrite // -fgz addrK.
237-
by split; rewrite 1?subKr // -fgz addrK.
238-
Qed.
239-
240230
Section simple_bounded.
241231
Context d (T : sigmaRingType d) (R : realType).
242232

theories/measure_theory/measure_function.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@ have mDbigcup I (D : set I) (A : set T) (B : I -> set T) : finite_set D ->
739739
measurable_fin_trivIset (A `\` \bigcup_(i in D) B i).
740740
have [->|/set0P D0] := eqVneq D set0.
741741
by rewrite bigcup0// setD0 => *; apply: mdW.
742-
move=> Dfin Am Bm; rewrite -bigcupDr//; apply: mdisj_bigcap=> // i Di.
742+
move=> Dfin Am Bm; rewrite setD_bigcupr//; apply: mdisj_bigcap=> // i Di.
743743
by have [F [Ffin Fm -> ?]] := semi_measurableD A (B i) Am (Bm _ Di); exists F.
744744
have mdU : fin_trivIset_closed measurable_fin_trivIset.
745745
elim/Pchoice=> I D F Dfin Ftriv Fm.
@@ -760,7 +760,7 @@ have mdDI : setD_closed measurable_fin_trivIset.
760760
have [->|/set0P F'N0] := eqVneq F' set0.
761761
by rewrite bigcup_set0 setD0; exists F.
762762
rewrite setD_bigcupl; apply: mdU => //; first by apply: trivIset_setIr.
763-
move=> X DX; rewrite -bigcupDr//; apply: mdisj_bigcap => //.
763+
move=> X DX; rewrite setD_bigcupr//; apply: mdisj_bigcap => //.
764764
move=> Y DY; case: (semi_measurableD X Y); [exact: Fm|exact: F'm|].
765765
by move=> G [Gfin Gm -> Gtriv]; exists G.
766766
apply: smallest_sub => //; split=> //; first by apply: mdW.

0 commit comments

Comments
 (0)