Skip to content

Commit f27597d

Browse files
hoheinzollernaffeldt-aist
authored andcommitted
mul_RV
probability_ge0
1 parent fcbf458 commit f27597d

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

theories/probability.v

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Reserved Notation "f `o X" (at level 50, format "f `o '/ ' X").
3434
Reserved Notation "X '`^+' n" (at level 11).
3535
Reserved Notation "X `+ Y" (at level 50).
3636
Reserved Notation "X `- Y" (at level 50).
37+
Reserved Notation "X `* Y" (at level 49).
3738
Reserved Notation "k `\o* X" (at level 49).
3839
Reserved Notation "''E' X" (format "''E' X", at level 5).
3940
Reserved Notation "''V' X" (format "''V' X", at level 5).
@@ -75,6 +76,9 @@ apply/set0P/negP => /eqP setT0; have := probability0.
7576
by rewrite -setT0 probability_setT; apply/eqP; rewrite oner_neq0.
7677
Qed.
7778

79+
Lemma probability_ge0 (A : set T) : (0 <= P A)%E.
80+
Proof. exact: measure_ge0. Qed.
81+
7882
Lemma probability_le1 (A : set T) : measurable A -> (P A <= 1)%E.
7983
Proof.
8084
move=> mA; rewrite -(@probability_setT _ _ _ P).
@@ -120,6 +124,21 @@ Qed.
120124
HB.instance Definition _ m := subr_mfun_subproof m.
121125
Definition subr_mfun m := [the {mfun _ >-> R} of subr m].
122126

127+
Definition mabs : R -> R := fun x => `| x |.
128+
129+
Lemma measurable_fun_mabs : measurable_fun setT (mabs).
130+
Proof. exact: measurable_fun_normr. Qed.
131+
132+
HB.instance Definition _ := @IsMeasurableFun.Build _ _ R
133+
(mabs) (measurable_fun_mabs).
134+
135+
Let measurable_fun_mmul d (T : measurableType d) (f g : {mfun T >-> R}) :
136+
measurable_fun setT (f \* g).
137+
Proof. exact/measurable_funM. Qed.
138+
139+
HB.instance Definition _ d (T : measurableType d) (f g : {mfun T >-> R}) :=
140+
@IsMeasurableFun.Build _ _ R (f \* g) (measurable_fun_mmul f g).
141+
123142
End mfun.
124143

125144
Section comp_mfun.
@@ -158,11 +177,15 @@ Definition sub_RV (X Y : {RV P >-> R}) : {RV P >-> R} :=
158177
Definition scale_RV k (X : {RV P >-> R}) : {RV P >-> R} :=
159178
[the {mfun _ >-> _} of k \o* X].
160179

180+
Definition mul_RV (X Y : {RV P >-> R}) : {RV P >-> R} :=
181+
[the {mfun _ >-> _} of (X \* Y)].
182+
161183
End random_variables.
162184
Notation "f `o X" := (comp_RV f X).
163185
Notation "X '`^+' n" := (exp_RV X n).
164186
Notation "X `+ Y" := (add_RV X Y).
165187
Notation "X `- Y" := (sub_RV X Y).
188+
Notation "X `* Y" := (mul_RV X Y).
166189
Notation "k `\o* X" := (scale_RV k X).
167190

168191
Section expectation.

0 commit comments

Comments
 (0)