Skip to content

Commit add35c8

Browse files
committed
a sampling theorem
Co-authored-by: @affeldt-aist Co-authored-by: @t6s
1 parent a1eb371 commit add35c8

8 files changed

+1541
-36
lines changed

CHANGELOG_UNRELEASED.md

+47
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,22 @@
3131
- in `lebesgue_measure.v`:
3232
+ lemmas `measurable_funrpos`, `measurable_funrneg`
3333

34+
- in `numfun.v`:
35+
+ defintions `funrpos`, `funrneg` with notations `^\+` and `^\-`
36+
+ lemmas `funrpos_ge0`, `funrneg_ge0`, `funrposN`, `funrnegN`, `ge0_funrposE`,
37+
`ge0_funrnegE`, `le0_funrposE`, `le0_funrnegE`, `ge0_funrposM`, `ge0_funrnegM`,
38+
`le0_funrposM`, `le0_funrnegM`, `funr_normr`, `funrposneg`, `funrD_Dpos`,
39+
`funrD_posD`, `funrpos_le`, `funrneg_le`
40+
+ lemmas `funerpos`, `funerneg`
41+
42+
- in `measure.v`:
43+
+ lemma `preimage_class_comp`
44+
+ defintions `mapping_display`, `g_sigma_algebra_mappingType`, `g_sigma_algebra_mapping`,
45+
notations `.-mapping`, `.-mapping.-measurable`
46+
47+
- in `lebesgue_measure.v`:
48+
+ lemmas `measurable_funrpos`, `measurable_funrneg`
49+
3450
- in `lebesgue_integral.v`:
3551
+ definition `dyadic_approx` (was `Let A`)
3652
+ definition `integer_approx` (was `Let B`)
@@ -44,6 +60,28 @@
4460
+ lemma `expectation_def`
4561
+ notation `'M_`
4662

63+
- new file `independence.v`:
64+
+ lemma `expectationM_ge0`
65+
+ definition `independent_events`
66+
+ definition `mutual_independence`
67+
+ definition `independent_RVs`
68+
+ definition `independent_RVs2`
69+
+ lemmas `g_sigma_algebra_mapping_comp`, `g_sigma_algebra_mapping_funrpos`,
70+
`g_sigma_algebra_mapping_funrneg`
71+
+ lemmas `independent_RVs2_comp`, `independent_RVs2_funrposneg`,
72+
`independent_RVs2_funrnegpos`, `independent_RVs2_funrnegneg`,
73+
`independent_RVs2_funrpospos`
74+
+ lemma `expectationM_ge0`, `integrable_expectationM`, `independent_integrableM`,
75+
` expectation_prod`
76+
- in `lebesgue_integral.v`:
77+
+ lemma `abse_integralP`
78+
- in `signed.v`:
79+
+ definition `onem_NngNum`
80+
- in `measure.v`:
81+
+ definition `bernoulli`, declared as a probability measure instance
82+
- in `itv.v`:
83+
+ canonical `onem_itv01`
84+
4785
- new file `independence.v`:
4886
+ lemma `expectationM_ge0`
4987
+ definition `independent_events`
@@ -94,6 +132,7 @@
94132

95133
- in `probability.v`:
96134
+ `integral_distribution` -> `ge0_integral_distribution`
135+
+ `expectationM` -> `expectationMl`
97136

98137
### Generalized
99138

@@ -119,6 +158,14 @@
119158

120159
### Removed
121160

161+
- in `topology_structure.v`:
162+
+ lemma `closureC`
163+
164+
- in file `lebesgue_integral.v`:
165+
+ lemma `approximation`
166+
167+
### Removed
168+
122169
- in `lebesgue_integral.v`:
123170
+ lemma `measurable_indic` (was uselessly specializing `measurable_fun_indic` (now `measurable_indic`) from `lebesgue_measure.v`)
124171
+ notation `measurable_fun_indic` (deprecation since 0.6.3)

_CoqProject

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ theories/ftc.v
8787
theories/hoelder.v
8888
theories/probability.v
8989
theories/independence.v
90+
theories/sampling.v
9091
theories/convex.v
9192
theories/charge.v
9293
theories/kernel.v

reals/itv.v

+3-2
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,9 @@ Lemma inum_lt : {mono inum : x y / (x < y)%O}. Proof. by []. Qed.
850850

851851
End Morph.
852852

853+
Canonical onem_itv01 {R : realDomainType} (p : {i01 R}) : {i01 R} :=
854+
@Itv.mk _ _ (onem p%:inum) [itv of 1 - p%:inum].
855+
853856
Section Test1.
854857

855858
Variable R : numDomainType.
@@ -890,8 +893,6 @@ Definition s_of_pq (p q : {i01 R}) : {i01 R} :=
890893
Lemma s_of_p0 (p : {i01 R}) : s_of_pq p 0%:i01 = p.
891894
Proof. by apply/val_inj; rewrite /= subr0 mulr1 subKr. Qed.
892895

893-
Canonical onem_itv01 (p : {i01 R}) : {i01 R} :=
894-
@Itv.mk _ _ (onem p%:inum) [itv of 1 - p%:inum].
895896

896897
Definition s_of_pq' (p q : {i01 R}) : {i01 R} :=
897898
(`1- (`1-(p%:inum) * `1-(q%:inum)))%:i01.

reals/signed.v

+1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ From mathcomp Require Import mathcomp_extra.
123123
(* Canonical instances are also provided according to types, as a *)
124124
(* fallback when no known operator appears in the expression. Look to *)
125125
(* nat_snum below for an example on how to add your favorite type. *)
126+
(* *)
126127
(******************************************************************************)
127128

128129
Reserved Notation "{ 'compare' x0 & nz & cond }"

theories/Make

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ ftc.v
5353
hoelder.v
5454
probability.v
5555
independence.v
56+
sampling.v
5657
lebesgue_stieltjes_measure.v
5758
convex.v
5859
charge.v

theories/independence.v

+10-19
Original file line numberDiff line numberDiff line change
@@ -766,24 +766,15 @@ HB.instance Definition _ := @Measure_isProbability.Build _ _ R (P \x P) PP.
766766
Lemma integrable_expectationM (X Y : {RV P >-> R}) :
767767
independent_RVs2 P X Y ->
768768
P.-integrable setT (EFin \o X) -> P.-integrable setT (EFin \o Y) ->
769-
'E_(P \x P) [(fun x => `|X x.1 * Y x.2|)%R] < +oo
770-
(* `|'E_(P) [(fun x => X x * Y x)%R]| < +oo *) .
769+
'E_(P \x P) [(fun x => `|X x.1 * Y x.2|)%R] < +oo.
771770
Proof.
772771
move=> indeXY iX iY.
773-
(*apply: (@le_lt_trans _ _ 'E_(P \x P)[(fun x => `|(X x.1 * Y x.2)|%R)]
774-
(* 'E_(P)[(fun x => `|(X x * Y x)|%R)] *) ).
775-
rewrite unlock/=.
776-
rewrite (le_trans (le_abse_integral _ _ _))//.
777-
apply/measurable_EFinP/measurable_funM.
778-
by apply/measurableT_comp => //.
779-
by apply/measurableT_comp => //.*)
780772
rewrite unlock.
781773
rewrite [ltLHS](_ : _ =
782774
\int[distribution (P \x P) (pairRV X Y)%R]_x `|x.1 * x.2|%:E); last first.
783-
rewrite integral_distribution//=; last first.
775+
rewrite ge0_integral_distribution//=; last first.
784776
apply/measurable_EFinP => //=.
785-
by apply/measurableT_comp => //=.
786-
(* admit. (* NG *)*)
777+
exact/measurableT_comp.
787778
rewrite [ltLHS](_ : _ =
788779
\int[distribution P X \x distribution P Y]_x `|x.1 * x.2|%:E); last first.
789780
apply: eq_measure_integral => // A mA _.
@@ -804,14 +795,14 @@ rewrite [ltLHS](_ : _ = \int[distribution P X]_x `|x|%:E *
804795
rewrite -ge0_integralZl//=.
805796
by under eq_integral do rewrite normrM.
806797
exact/measurable_EFinP.
807-
rewrite integral_distribution//=; last exact/measurable_EFinP.
808-
rewrite integral_distribution//=; last exact/measurable_EFinP.
798+
rewrite ge0_integral_distribution//=; last exact/measurable_EFinP.
799+
rewrite ge0_integral_distribution//=; last exact/measurable_EFinP.
809800
rewrite lte_mul_pinfty//.
810-
by apply: integral_ge0 => //.
811-
apply: integral_fune_fin_num => //=.
812-
by move/integrable_abse : iX => //.
813-
apply: integral_fune_lt_pinfty => //.
814-
by move/integrable_abse : iY => //.
801+
- exact: integral_ge0.
802+
- apply: integral_fune_fin_num => //=.
803+
by move/integrable_abse : iX.
804+
- apply: integral_fune_lt_pinfty => //.
805+
by move/integrable_abse : iY.
815806
Qed.
816807

817808
End product_expectation.

0 commit comments

Comments
 (0)