Skip to content

Commit 45cff6a

Browse files
authored
measurable bigmax (#2092)
1 parent e53f4d1 commit 45cff6a

2 files changed

Lines changed: 25 additions & 13 deletions

File tree

CHANGELOG_UNRELEASED.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
- in `Rstruct_topology.v`:
5656
+ lemmas `RcosE`, `Rtrigo_PIE`, `RsinE`
5757

58+
- in `measurable_realfun.v`:
59+
+ lemma `measurable_bigmaxr`
60+
5861
### Changed
5962

6063
- in `derive.v`:

theories/measurable_realfun.v

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Qed.
8888
End ps_infty.
8989

9090
Section salgebra_ereal.
91-
Variables (R : realType) (G : set_system R).
91+
Context {R : realType} (G : set_system R).
9292
Let measurableR : set_system R := G.-sigma.-measurable.
9393

9494
Definition emeasurable : set_system (\bar R) :=
@@ -143,7 +143,7 @@ Definition ereal_isMeasurable : isMeasurable default_measure_display (\bar R) :=
143143
End salgebra_ereal.
144144

145145
Section puncture_ereal_itv.
146-
Variable R : realDomainType.
146+
Context {R : realDomainType}.
147147
Implicit Types (y : R) (b : bool).
148148
Local Open Scope ereal_scope.
149149

@@ -299,8 +299,7 @@ Qed.
299299

300300
Section measurable_fun_measurable.
301301
Local Open Scope ereal_scope.
302-
Context d (T : sigmaRingType d) (R : realType).
303-
Variables (D : set T) (f : T -> \bar R).
302+
Context {d} {T : sigmaRingType d} {R : realType} (D : set T) (f : T -> \bar R).
304303
Hypotheses (mD : measurable D) (mf : measurable_fun D f).
305304
Implicit Types y : \bar R.
306305

@@ -341,7 +340,7 @@ Qed.
341340
End measurable_fun_measurable.
342341

343342
Section erealwithrays.
344-
Variable R : realType.
343+
Context {R : realType}.
345344
Implicit Types (x y z : \bar R) (r s : R).
346345
Local Open Scope ereal_scope.
347346

@@ -424,7 +423,7 @@ End erealwithrays.
424423

425424
Module ErealGenOInfty.
426425
Section erealgenoinfty.
427-
Variable R : realType.
426+
Context (R : realType).
428427
Implicit Types (x y z : \bar R) (r s : R).
429428

430429
Local Open Scope ereal_scope.
@@ -478,7 +477,7 @@ End ErealGenOInfty.
478477

479478
Module ErealGenCInfty.
480479
Section erealgencinfty.
481-
Variable R : realType.
480+
Context (R : realType).
482481
Implicit Types (x y z : \bar R) (r s : R).
483482
Local Open Scope ereal_scope.
484483

@@ -530,7 +529,7 @@ End ErealGenCInfty.
530529

531530
Module ErealGenInftyO.
532531
Section erealgeninftyo.
533-
Variable R : realType.
532+
Context (R : realType).
534533

535534
Definition G := [set A : set \bar R | exists r, A = `]-oo, r%:E[%classic].
536535

@@ -555,7 +554,7 @@ Lemma is_interval_measurable (R : realType) (I : set R) :
555554
Proof. by move/is_intervalP => ->; rewrite -?RGenOpenSets.measurableE//. Qed.
556555

557556
Section coutinuous_measurable.
558-
Variable R : realType.
557+
Context {R : realType}.
559558

560559
Lemma open_measurable (A : set R) : open A -> measurable A.
561560
Proof.
@@ -615,7 +614,7 @@ by rewrite preimage_itvoy; move/lower_semicontinuousP : scif; exact.
615614
Qed.
616615

617616
Section standard_measurable_fun.
618-
Variable R : realType.
617+
Context {R : realType}.
619618
Implicit Types D : set R.
620619

621620
Lemma oppr_measurable D : measurable_fun D -%R.
@@ -683,7 +682,7 @@ exact: (@measurable_comp _ _ _ _ _ _ setT (fun x : R => x ^+ n) _ f).
683682
Qed.
684683

685684
Section measurable_fun_realType.
686-
Context d (T : measurableType d) (R : realType).
685+
Context {d} {T : measurableType d} {R : realType}.
687686
Implicit Types (D : set T) (f g : T -> R).
688687

689688
Lemma measurable_funD D f g :
@@ -760,6 +759,16 @@ by move=> mf mg mD; move: (mD); apply: measurable_fun_if => //;
760759
[exact: measurable_fun_ltr|exact: measurable_funS mg|exact: measurable_funS mf].
761760
Qed.
762761

762+
Lemma measurable_bigmaxr D def {n} (f : 'I_n -> T -> R) :
763+
(forall i, measurable_fun D (f i)) ->
764+
measurable_fun D (fun x => \big[maxr/def]_(i < n) f i x).
765+
Proof.
766+
elim: n f => [|n ih] f mf.
767+
by under eq_fun do rewrite big_ord0/=; exact: measurable_cst.
768+
under eq_fun do rewrite big_ord_recl/=.
769+
by apply: measurable_maxr; [exact: mf|apply: ih => i; exact: mf].
770+
Qed.
771+
763772
Lemma measurable_funrpos D f : measurable_fun D f -> measurable_fun D f^\+.
764773
Proof. by move=> mf; exact: measurable_maxr. Qed.
765774

@@ -992,7 +1001,7 @@ HB.instance Definition _ k f := MeasurableFun.copy (k \o* f) (f * cst k).
9921001
Definition scale_mfun k f : {mfun aT >-> rT} := k \o* f.
9931002

9941003
Let max_mfun_subproof f g : @isMeasurableFun d _ aT rT (f \max g).
995-
Proof. by split; apply: measurable_maxr. Qed.
1004+
Proof. by split; exact: measurable_maxr. Qed.
9961005

9971006
HB.instance Definition _ f g := max_mfun_subproof f g.
9981007

@@ -1223,7 +1232,7 @@ Qed.
12231232
End measurable_fun_nat.
12241233

12251234
Section standard_emeasurable_fun.
1226-
Variable R : realType.
1235+
Context {R : realType}.
12271236

12281237
Lemma EFin_measurable (D : set R) : measurable_fun D EFin.
12291238
Proof.

0 commit comments

Comments
 (0)