Skip to content

Commit 4b26927

Browse files
committed
generalizing expectation
1 parent c8441ce commit 4b26927

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

theories/probability.v

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ From mathcomp Require Import lebesgue_integral kernel.
6060
Reserved Notation "'{' 'RV' P >-> R '}'"
6161
(at level 0, format "'{' 'RV' P '>->' R '}'").
6262
Reserved Notation "''E_' P [ X ]" (format "''E_' P [ X ]", at level 5).
63+
(at level 0, format "'{' 'RV' P '>->' R '}'").
64+
Reserved Notation "''E_' P [ f . X ]" (format "''E_' P [ f . X ]", at level 5).
6365
Reserved Notation "''V_' P [ X ]" (format "''V_' P [ X ]", at level 5).
6466
Reserved Notation "{ 'dmfun' aT >-> T }"
6567
(at level 0, format "{ 'dmfun' aT >-> T }").
@@ -137,21 +139,22 @@ Proof. by move=> mf f0; rewrite ge0_integral_pushforward. Qed.
137139

138140
End transfer_probability.
139141

140-
HB.lock Definition expectation {d} {T : measurableType d} {R : realType}
141-
(P : probability T R) (X : T -> R) := (\int[P]_w (X w)%:E)%E.
142+
HB.lock Definition expectation {d d'} {T : measurableType d} {T' : measurableType d'} {R : realType}
143+
(P : probability T R) (X : T -> T') (f : T' -> \bar R) := (\int[P]_w (f \o X) w)%E.
142144
Canonical expectation_unlockable := Unlockable expectation.unlock.
143145
Arguments expectation {d T R} P _%_R.
144-
Notation "''E_' P [ X ]" := (@expectation _ _ _ P X) : ereal_scope.
146+
Notation "''E_' P [ X ]" := (@expectation _ _ _ _ _ P X EFin) : ereal_scope.
147+
Notation "''E_' P [ f . X ]" := (@expectation _ _ _ _ _ P X f) : ereal_scope.
145148

146149
Section expectation_lemmas.
147150
Local Open Scope ereal_scope.
148-
Context d (T : measurableType d) (R : realType) (P : probability T R).
151+
Context d d' (T : measurableType d) (U : measurableType d') (R : realType) (P : probability T R).
149152

150-
Lemma expectation_def (X : {RV P >-> R}) : 'E_P[X] = (\int[P]_w (X w)%:E)%E.
153+
Lemma expectation_def (X : {RV P >-> U}) f : 'E_P[f . X] = (\int[P]_w (f \o X) w)%E.
151154
Proof. by rewrite unlock. Qed.
152155

153-
Lemma expectation_fin_num (X : {RV P >-> R}) : P.-integrable setT (EFin \o X) ->
154-
'E_P[X] \is a fin_num.
156+
Lemma expectation_fin_num (X : {RV P >-> U}) : P.-integrable setT (f \o X) ->
157+
'E_P[f . X] \is a fin_num.
155158
Proof. by move=> ?; rewrite unlock integral_fune_fin_num. Qed.
156159

157160
Lemma expectation_cst r : 'E_P[cst r] = r%:E.
@@ -160,26 +163,26 @@ Proof. by rewrite unlock/= integral_cst//= probability_setT mule1. Qed.
160163
Lemma expectation_indic (A : set T) (mA : measurable A) : 'E_P[\1_A] = P A.
161164
Proof. by rewrite unlock integral_indic// setIT. Qed.
162165

163-
Lemma integrable_expectation (X : {RV P >-> R})
164-
(iX : P.-integrable [set: T] (EFin \o X)) : `| 'E_P[X] | < +oo.
166+
Lemma integrable_expectation (X : {RV P >-> U}) f
167+
(iX : P.-integrable [set: T] (f \o X)) : `| 'E_P[f . X] | < +oo.
165168
Proof.
166169
move: iX => /integrableP[? Xoo]; rewrite (le_lt_trans _ Xoo)// unlock.
167170
exact: le_trans (le_abse_integral _ _ _).
168171
Qed.
169172

170-
Lemma expectationMl (X : {RV P >-> R}) (iX : P.-integrable [set: T] (EFin \o X))
171-
(k : R) : 'E_P[k \o* X] = k%:E * 'E_P [X].
173+
Lemma expectationMl (X : {RV P >-> U}) (iX : P.-integrable [set: T] (f \o X))
174+
(k : R) : 'E_P[k \o* f \o X] = k%:E * 'E_P [f . X].
172175
Proof. by rewrite unlock muleC -integralZr. Qed.
173176

174-
Lemma expectation_ge0 (X : {RV P >-> R}) :
175-
(forall x, 0 <= X x)%R -> 0 <= 'E_P[X].
177+
Lemma expectation_ge0 (X : {RV P >-> U}) f :
178+
(forall x, 0 <= (f \o X) x)%R -> 0 <= 'E_P[f . X].
176179
Proof.
177180
by move=> ?; rewrite unlock integral_ge0// => x _; rewrite lee_fin.
178181
Qed.
179182

180-
Lemma expectation_le (X Y : T -> R) :
183+
Lemma expectation_le (X Y : T -> U) f :
181184
measurable_fun [set: T] X -> measurable_fun [set: T] Y ->
182-
(forall x, 0 <= X x)%R -> (forall x, 0 <= Y x)%R ->
185+
(forall x, 0 <= (f \o X) x) -> (forall x, 0 <= (f \o Y) x) ->
183186
{ae P, (forall x, X x <= Y x)%R} -> 'E_P[X] <= 'E_P[Y].
184187
Proof.
185188
move=> mX mY X0 Y0 XY; rewrite unlock ae_ge0_le_integral => //.

0 commit comments

Comments
 (0)