Skip to content

Commit 2a5db32

Browse files
authored
variants of existing lemmas (#1288)
* variants of existing lemmas
1 parent 2e72931 commit 2a5db32

File tree

4 files changed

+32
-22
lines changed

4 files changed

+32
-22
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@
3333
+ notation `^-1` in `relation_scope` (use to be a local notation)
3434
+ lemma `set_prod_invK` (was a local lemma in `normedtype.v`)
3535
+ definition `diagonal`, lemma `diagonalP`
36+
- in `mathcomp_extra.v`:
37+
+ lemmas `invf_ple`, `invf_lep`
38+
39+
- in `lebesgue_integral.v`:
40+
+ lemma `integralZr`
3641

3742
### Changed
3843

classical/mathcomp_extra.v

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,19 @@ Qed.
6565
Lemma invf_ltp (F : numFieldType) :
6666
{in Num.pos &, forall x y : F, (x < y^-1)%R = (y < x^-1)%R}.
6767
Proof.
68-
by move=> x y ? ?; rewrite -[in RHS](@invrK _ y) ltf_pV2// posrE invr_gt0.
68+
by move=> x y ? ?; rewrite -(invrK x) invf_plt ?posrE ?invr_gt0// !invrK.
69+
Qed.
70+
71+
Lemma invf_ple (F : numFieldType) :
72+
{in Num.pos &, forall x y : F, (x^-1 <= y)%R = (y^-1 <= x)%R}.
73+
Proof.
74+
by move=> x y ? ?; rewrite -[in LHS](@invrK _ y) lef_pV2// posrE invr_gt0.
75+
Qed.
76+
77+
Lemma invf_lep (F : numFieldType) :
78+
{in Num.pos &, forall x y : F, (x <= y^-1)%R = (y <= x^-1)%R}.
79+
Proof.
80+
by move=> x y ? ?; rewrite -(invrK x) invf_ple ?posrE ?invr_gt0// !invrK.
6981
Qed.
7082

7183
Definition proj {I} {T : I -> Type} i (f : forall i, T i) := f i.

theories/lebesgue_integral.v

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3377,27 +3377,23 @@ Let mesf : measurable_fun D f. Proof. exact: measurable_int intf. Qed.
33773377
Lemma integralZl r :
33783378
\int[mu]_(x in D) (r%:E * f x) = r%:E * \int[mu]_(x in D) f x.
33793379
Proof.
3380-
have [r0|r0|->] := ltgtP r 0%R; last first.
3381-
by under eq_fun do rewrite mul0e; rewrite mul0e integral0.
3382-
- rewrite [in LHS]integralE// gt0_funeposM// gt0_funenegM//.
3383-
rewrite (ge0_integralZl_EFin _ _ _ _ (ltW r0)) //; last first.
3384-
exact: measurable_funepos.
3385-
rewrite (ge0_integralZl_EFin _ _ _ _ (ltW r0)) //; last first.
3386-
exact: measurable_funeneg.
3387-
rewrite -muleBr 1?[in RHS]integralE//.
3388-
exact: integrable_add_def.
3380+
have [r0|r0|->] := ltgtP r 0%R.
33893381
- rewrite [in LHS]integralE// lt0_funeposM// lt0_funenegM//.
3390-
rewrite ge0_integralZl_EFin //; last 2 first.
3391-
+ exact: measurable_funeneg.
3392-
+ by rewrite -lerNr oppr0 ltW.
3393-
rewrite ge0_integralZl_EFin //; last 2 first.
3394-
+ exact: measurable_funepos.
3395-
+ by rewrite -lerNr oppr0 ltW.
3396-
rewrite -mulNe -EFinN opprK addeC EFinN mulNe -muleBr //; last first.
3397-
exact: integrable_add_def.
3382+
rewrite (ge0_integralZl_EFin _ _ _ (measurable_funeneg _)) ?oppr_ge0 ?ltW//.
3383+
rewrite (ge0_integralZl_EFin _ _ _ (measurable_funepos _)) ?oppr_ge0 ?ltW//.
3384+
rewrite !EFinN addeC !mulNe oppeK -muleBr ?integrable_add_def//.
33983385
by rewrite [in RHS]integralE.
3386+
- rewrite [in LHS]integralE// gt0_funeposM// gt0_funenegM//.
3387+
rewrite (ge0_integralZl_EFin _ _ _ (measurable_funepos _) (ltW r0))//.
3388+
rewrite (ge0_integralZl_EFin _ _ _ (measurable_funeneg _) (ltW r0))//.
3389+
by rewrite -muleBr 1?[in RHS]integralE// integrable_add_def.
3390+
- by under eq_fun do rewrite mul0e; rewrite mul0e integral0.
33993391
Qed.
34003392

3393+
Lemma integralZr r :
3394+
\int[mu]_(x in D) (f x * r%:E) = (\int[mu]_(x in D) f x) * r%:E.
3395+
Proof. by rewrite muleC -integralZl; under eq_integral do rewrite muleC. Qed.
3396+
34013397
End linearityZ.
34023398
#[deprecated(since="mathcomp-analysis 0.6.4", note="use `integralZl` instead")]
34033399
Notation integralM := integralZl (only parsing).

theories/probability.v

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,7 @@ Qed.
159159

160160
Lemma expectationM (X : {RV P >-> R}) (iX : P.-integrable [set: T] (EFin \o X))
161161
(k : R) : 'E_P[k \o* X] = k%:E * 'E_P [X].
162-
Proof.
163-
rewrite unlock; under eq_integral do rewrite EFinM.
164-
by rewrite -integralZl//; under eq_integral do rewrite muleC.
165-
Qed.
162+
Proof. by rewrite unlock muleC -integralZr. Qed.
166163

167164
Lemma expectation_ge0 (X : {RV P >-> R}) :
168165
(forall x, 0 <= X x)%R -> 0 <= 'E_P[X].

0 commit comments

Comments
 (0)