@@ -60,6 +60,8 @@ From mathcomp Require Import lebesgue_integral kernel.
6060Reserved Notation "'{' 'RV' P >-> R '}'"
6161 (at level 0, format "'{' 'RV' P '>->' R '}'").
6262Reserved 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).
6365Reserved Notation "''V_' P [ X ]" (format "''V_' P [ X ]", at level 5).
6466Reserved 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
138140End 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.
142144Canonical expectation_unlockable := Unlockable expectation.unlock.
143145Arguments 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
146149Section expectation_lemmas.
147150Local 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.
151154Proof . 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.
155158Proof . by move=> ?; rewrite unlock integral_fune_fin_num. Qed .
156159
157160Lemma expectation_cst r : 'E_P[cst r] = r%:E.
@@ -160,26 +163,26 @@ Proof. by rewrite unlock/= integral_cst//= probability_setT mule1. Qed.
160163Lemma expectation_indic (A : set T) (mA : measurable A) : 'E_P[\1_A] = P A.
161164Proof . 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.
165168Proof .
166169move: iX => /integrableP[? Xoo]; rewrite (le_lt_trans _ Xoo)// unlock.
167170exact: le_trans (le_abse_integral _ _ _).
168171Qed .
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].
172175Proof . 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].
176179Proof .
177180by move=> ?; rewrite unlock integral_ge0// => x _; rewrite lee_fin.
178181Qed .
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].
184187Proof .
185188move=> mX mY X0 Y0 XY; rewrite unlock ae_ge0_le_integral => //.
0 commit comments