|
60 | 60 | End probability_lemmas. |
61 | 61 | (* /PR 516 in progress *) |
62 | 62 |
|
| 63 | +(* PR 765 in progress *) |
| 64 | +Require Import set_interval. |
| 65 | + |
| 66 | +Module ErealGenInftyO. |
| 67 | +Section erealgeninftyo. |
| 68 | +Variable R : realType. |
| 69 | + |
| 70 | +Definition G := [set A : set \bar R | exists x, A = `]-oo, x[%classic]. |
| 71 | + |
| 72 | +Lemma measurableE : emeasurable (R.-ocitv.-measurable) = G.-sigma.-measurable. |
| 73 | +Proof. |
| 74 | +rewrite ErealGenCInfty.measurableE eqEsubset; split => A. |
| 75 | + apply: smallest_sub; first exact: smallest_sigma_algebra. |
| 76 | + move=> _ [x ->]; rewrite -[X in _.-measurable X]setCK; apply: measurableC. |
| 77 | + by apply: sub_sigma_algebra; exists x; rewrite setCitvr. |
| 78 | +apply: smallest_sub; first exact: smallest_sigma_algebra. |
| 79 | +move=> x Gx; rewrite -(setCK x); apply: measurableC; apply: sub_sigma_algebra. |
| 80 | +by case: Gx => y ->; exists y; rewrite setCitvl. |
| 81 | +Qed. |
| 82 | + |
| 83 | +End erealgeninftyo. |
| 84 | +End ErealGenInftyO. |
| 85 | +(* /PR 765 in progress *) |
| 86 | + |
63 | 87 | (* TODO: PR*) |
64 | 88 | Lemma setT0 (T : pointedType) : setT != set0 :> set T. |
65 | 89 | Proof. by apply/eqP => /seteqP[] /(_ point) /(_ Logic.I). Qed. |
@@ -925,23 +949,48 @@ End dist_salgebra_instance. |
925 | 949 |
|
926 | 950 | Section kprobability. |
927 | 951 | Variables (d d' : _) (X : measurableType d) (Y : measurableType d'). |
928 | | -Variables (R : realType) (P : probability Y R). |
| 952 | +Variables (R : realType) (P : X -> pprobability Y R). |
| 953 | + |
| 954 | +Definition kprobability (mP : measurable_fun setT P) |
| 955 | + : X -> {measure set Y -> \bar R} := P. |
929 | 956 |
|
930 | | -Definition kprobability |
931 | | - : X -> {measure set Y -> \bar R} := fun=> P. |
| 957 | +Hypothesis mP : measurable_fun setT P. |
932 | 958 |
|
933 | 959 | Let measurable_fun_kprobability U : measurable U -> |
934 | | - measurable_fun setT (kprobability ^~ U). |
935 | | -Proof. by move=> mU; exact: measurable_fun_cst. Qed. |
| 960 | + measurable_fun setT (kprobability mP ^~ U). |
| 961 | +Proof. |
| 962 | +move=> mU. |
| 963 | +apply: (measurability (ErealGenInftyO.measurableE R)) => A /= -[B [x ->]]. |
| 964 | +rewrite setTI => <-; case: x => [r| |]; last 2 first. |
| 965 | + - rewrite (_ : _ @^-1` _ = setT)//; apply/seteqP; split => // x _ /=. |
| 966 | + by rewrite in_itv/= (le_lt_trans (probability_le1 _ _)) ?ltey. |
| 967 | + - rewrite (_ : _ @^-1` _ = set0)//; apply/seteqP; split => // x /=. |
| 968 | + by rewrite in_itv/=; apply/negP; rewrite -leNgt leNye. |
| 969 | +rewrite (_ : _ @^-1` _ = (fun x => P x U < r%:E)); last first. |
| 970 | + by apply/funext => x; rewrite /= in_itv. |
| 971 | +rewrite [X in measurable X](_ : _ = P @^-1` [set mu | mu U < r%:E]) //. |
| 972 | +have [r0|r0] := leP 0%R r; last first. |
| 973 | + rewrite [X in _ @^-1` X](_ : _ = set0) ?preimage_set0//. |
| 974 | + apply/seteqP; split => // x/=. |
| 975 | + by apply/negP; rewrite -leNgt (@le_trans _ _ 0)// lee_fin ltW. |
| 976 | +have [r1|r1] := leP r 1%R; last first. |
| 977 | + rewrite [X in _ @^-1` X](_ : _ = setT) ?preimage_setT//. |
| 978 | + apply/seteqP; split => // x/= _. |
| 979 | + by rewrite (le_lt_trans (probability_le1 _ _)). |
| 980 | +move: mP => /(_ measurableT)/(_ [set mu | mu U < r%:E]). |
| 981 | +rewrite setTI; apply; apply: sub_sigma_algebra; exists r => /=. |
| 982 | + by rewrite in_itv/= r0. |
| 983 | +by exists U. |
| 984 | +Qed. |
936 | 985 |
|
937 | 986 | HB.instance Definition _ := |
938 | | - @isKernel.Build _ _ X Y R kprobability measurable_fun_kprobability. |
| 987 | + @isKernel.Build _ _ X Y R (kprobability mP) measurable_fun_kprobability. |
939 | 988 |
|
940 | | -Let kprobability_prob x : kprobability x setT = 1. |
| 989 | +Let kprobability_prob x : kprobability mP x setT = 1. |
941 | 990 | Proof. by rewrite /kprobability/= probability_setT. Qed. |
942 | 991 |
|
943 | 992 | HB.instance Definition _ := |
944 | | - @Kernel_isProbability.Build _ _ X Y R kprobability kprobability_prob. |
| 993 | + @Kernel_isProbability.Build _ _ X Y R (kprobability mP) kprobability_prob. |
945 | 994 |
|
946 | 995 | End kprobability. |
947 | 996 |
|
|
0 commit comments