Skip to content

Commit f7460af

Browse files
mkerjeanaffeldt-aist
authored andcommitted
Hahn-Banach theorem
1 parent 6bc95eb commit f7460af

5 files changed

Lines changed: 630 additions & 2 deletions

File tree

CHANGELOG_UNRELEASED.md

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,204 @@
4949

5050
### Changed
5151

52+
- in `functions.v`:
53+
+ lemmas `linfunP`, `linfun_eqP`
54+
+ instances of `SubLmodule` and `pointedType` on `{linear _->_ | _ }`
55+
56+
- in `tvs.v`:
57+
+ structure `LinearContinuous`
58+
+ factory `isLinearContinuous`
59+
+ instance of `ChoiceType` on `{linear_continuous _ -> _ }`
60+
+ instance of `LinearContinuous` with the composition of two functions of type `LinearContinuous`
61+
+ instance of `LinearContinuous` with the sum of two functions of type `LinearContinuous`
62+
+ instance of `LinearContinuous` with the scalar multiplication of a function of type
63+
`LinearContinuous`
64+
+ instance of `Continuous` on \-f when f is of type `LinearContinuous`
65+
+ instance of `SubModClosed` on `{linear_continuous _ -> _}`
66+
+ instance of `SubLModule` on `{linear_continuous _ -> _ }`
67+
+ instance of `LinearContinuous` on the null function
68+
+ notations `{linear_continuous _ -> _ | _ }` and `{linear_continuous _ -> _ }`
69+
+ definitions `lcfun`, `lcfun_key, `lcfunP`
70+
+ lemmas `lcfun_eqP`, `null_fun_continuous`, `fun_cvgD`,
71+
`fun_cvgN`, `fun_cvgZ`, `fun_cvgZr`
72+
+ lemmas `lcfun_continuous` and `lcfun_linear`
73+
74+
+ ...
75+
- in `derive.v`:
76+
+ lemmas `derivable_max`, `derive_maxl`, `derive_maxr` `derivable_min`, `derive_minl`, `derive_minr`
77+
+ lemmas `derivable0`, `derive0`, `is_derive0`
78+
- in `topology_structure.v`:
79+
+ lemma `not_limit_pointE`
80+
81+
- in `separation_axioms.v`:
82+
+ lemmas `limit_point_closed`
83+
- in `convex.v`:
84+
+ lemma `convex_setW`
85+
- in `convex.v`:
86+
+ lemma `convexW`
87+
88+
### Changed
89+
5290
- moved from `topology_structure.v` to `filter.v`:
5391
+ lemma `continuous_comp` (and generalized)
5492

93+
- in set_interval.v
94+
+ `setUitv1`, `setU1itv`, `setDitv1l`, `setDitv1r` (generalized)
95+
96+
- in `set_interval.v`
97+
+ `itv_is_closed_unbounded` (fix the definition)
98+
99+
- in `set_interval.v`
100+
+ `itv_is_open_unbounded`, `itv_is_oo`, `itv_open_ends` (Prop to bool)
101+
102+
- in `lebesgue_Rintegrable.v`:
103+
+ lemma `Rintegral_cst` (does not use `cst` anymore)
104+
105+
- split `probability.v` into directory `probability_theory` and move contents as:
106+
+ file `probability.v`:
107+
+ file `bernoulli_distribution.v`:
108+
* definitions `bernoulli_pmf`, `bernoulli_prob`
109+
* lemmas `bernoulli_pmf_ge0`, `bernoulli_pmf1`, `measurable_bernoulli_pmf`,
110+
`eq_bernoulli`, `bernoulli_dirac`, `eq_bernoulliV2`, `bernoulli_probE`,
111+
`measurable_bernoulli_prob`, `measurable_bernoulli_prob2`
112+
+ file `beta_distribution.v`:
113+
* lemmas `continuous_onemXn`, `onemXn_derivable`, `derivable_oo_LRcontinuous_onemXnMr`,
114+
`derive_onemXn`, `Rintegral_onemXn`
115+
* definition `XMonemX`
116+
* lemmas `XMonemX_ge0`, `XMonemX_le1`, `XMonemX0n`, `XMonemXn0`, `XMonemX00`,
117+
`XMonemXC`, XMonemXM`, `continuous_XMonemX`, `within_continuous_XMonemX`,
118+
`measurable_XMonemX`, `bounded_XMonemX`, `integrable_XMonemX`, `integrable_XMonemX_restrict`,
119+
`integral_XMonemX_restrict`
120+
* definition `beta_fun`
121+
* lemmas `EFin_beta_fun`, `beta_fun_sym`, `beta_fun0n`, `beta_fun00`, `beta_fun1Sn`,
122+
`beta_fun11`, `beta_funSSnSm`, `beta_funSnSm`, `beta_fun_fact`, `beta_funE`,
123+
`beta_fun_gt0`, `beta_fun_ge0`
124+
* definition `beta_pdf`
125+
* lemmas `measurable_beta_pdf`, `beta_pdf_ge0`, `beta_pdf_le_beta_funV`, `integrable_beta_pdf`,
126+
`bounded_beta_pdf_01`
127+
* definition `beta_prob`
128+
* lemmas integral_beta_pdf`, `beta_prob01`, `beta_prob_fin_num`, `beta_prob_dom`,
129+
`beta_prob_uniform`, `integral_beta_prob_bernoulli_prob_lty`,
130+
`integral_beta_prob_bernoulli_prob_onemX_lty`,
131+
`integral_beta_prob_bernoulli_prob_onem_lty`, `beta_prob_integrable`,
132+
`beta_prob_integrable_onem`, `beta_prob_integrable_dirac`,
133+
`beta_prob_integrable_onem_dirac`, `integral_beta_prob`
134+
* definition `div_beta_fun`
135+
* lemmas `div_beta_fun_ge0`, `div_beta_fun_le1`
136+
* definition `beta_prob_bernoulli_prob`
137+
* lemmas `beta_prob_bernoulli_probE`
138+
+ file `binomial_distribution.v`:
139+
* definition `binomial_pmf`
140+
* lemmas `measurable_binomial_pmf`
141+
* definition `binomial_prob`
142+
* definition `bin_prob`
143+
* lemmas `bin_prob0`, `bin_prob1`, `binomial_msum`, `binomial_probE`,
144+
`integral_binomial`, `integral_binomial_prob`, `measurable_binomial_prob`
145+
+ file `exponential_distribution.v`:
146+
* definition `exponential_pdf`
147+
* lemmas `exponential_pdf_ge0`, `lt0_exponential_pdf`, `measurable_exponential_pdf`,
148+
`exponential_pdfE`, `in_continuous_exponential_pdf`, `within_continuous_exponential_pdf`
149+
* definition `exponential_prob`
150+
* lemmas `derive1_exponential_pdf`, `exponential_prob_itv0c`, `integral_exponential_pdf`,
151+
`integrable_exponential_pdf`
152+
+ file `normal_distribution.v`:
153+
* definition `normal_fun`
154+
* lemmas `measurable_normal_fun`, normal_fun_ge0`, `normal_fun_center`
155+
* definition `normal_peak`
156+
* lemmas `normal_peak_ge0`, `normal_peak_gt0`
157+
* definition `normal_pdf`
158+
* lemmas `normal_pdfE`, `measurable_normal_pdf`, `normal_pdf_ge0`, `continuous_normal_pdf`,
159+
`normal_pdf_ub`
160+
* definition `normal_prob`
161+
* lemmas `integral_normal_pdf`, `integrable_normal_pdf`, `normal_prob_dominates`
162+
+ file `poisson_distribution.v`:
163+
* definition `poisson_pmf`
164+
* lemmas `poisson_pmf_ge0`, `measurable_poisson_pmf`
165+
* definition `poisson_prob`
166+
* lemma `measurable_poisson_prob`
167+
+ file `uniform_distribution.v`:
168+
* definition `uniform_pdf`
169+
* lemmas `uniform_pdf_ge0`, `measurable_uniform_pdf`, `integral_uniform_pdf`,
170+
`integral_uniform_pdf1`
171+
* definition `uniform_prob`
172+
* lemmmas `integrable_uniform_pdf`, `dominates_uniform_prob`,
173+
`integral_uniform`
174+
+ file `random_variable.v`:
175+
* definition `random_variable`
176+
* lemmas `notin_range_measure`, `probability_range`
177+
* definition `distribution`
178+
* lemmas `probability_distribution`, `ge0_integral_distribution`, `integral_distribution`
179+
* definition `cdf`
180+
* lemmas `cdf_ge0`, `cdf_le1`, `cdf_nondecreasing`, `cvg_cdfy1`, `cvg_cdfNy0`,
181+
`cdf_right_continuous`, `cdf_lebesgue_stieltjes_id`, `lebesgue_stieltjes_cdf_id`,
182+
* definition `ccdf`
183+
* lemmas `cdf_ccdf_1`
184+
* corollaries `ccdf_cdf_1`, `ccdf_1_cdf`, `cdf_1_ccdf`
185+
* lemmas `ccdf_nonincreasing`, `cvg_ccdfy0`, `cvg_ccdfNy1`, `ccdf_right_continuous`
186+
* definition `expectation`
187+
* lemmas `expectation_def`, `expectation_fin_num`, `expectation_cst`,
188+
`expectation_indic`, `integrable_expectation`, `expectationZl`,
189+
`expectation_ge0`, `expectation_le`, `expectationD`, `expectationB`,
190+
`expectation_sum`, `ge0_expectation_ccdf`
191+
* definition `covariance`
192+
* lemmas `covarianceE`, `covarianceC`, `covariance_fin_num`,
193+
`covariance_cst_l`, `covariance_cst_r`, `covarianceZl`, `covarianceZr`,
194+
`covarianceNl`, `covarianceNr`, `covarianceNN`, `covarianceDl`, `covarianceDr`,
195+
`covarianceBl`, `covarianceBr`
196+
* definition `variance`
197+
* lemmas `varianceE`, `variance_fin_num`, `variance_ge0`, `variance_cst`,
198+
`varianceZ`, `varianceN`, `varianceD`, `varianceB`, `varianceD_cst_l`, `varianceD_cst_r`,
199+
`varianceB_cst_l`, `varianceB_cst_r`, `covariance_le`
200+
* definition `mmt_gen_fun`
201+
* lemmas `markov`, `chernoff`, `chebyshev`, `cantelli`
202+
* definition `discrete_random_variable`
203+
* lemmas `dRV_dom_enum`
204+
* definitions `dRV_dom`, `dRV_enum`, `enum_prob`
205+
* lemmas `distribution_dRV_enum`, `distribution_dRV`, `sum_enum_prob`
206+
* definition `pmf`
207+
* lemmas `pmf_ge0`, `pmf_gt0_countable`, `pmf_measurable`, `dRV_expectation`,
208+
`expectation_pmf`
209+
210+
- moved from `convex.v` to `realfun.v`
211+
+ lemma `second_derivative_convex`
212+
213+
- in classical_sets.v
214+
+ lemma `in_set1` (statement changed)
215+
216+
- in `subspace_topology.v`:
217+
+ lemmas `open_subspaceP` and `closed_subspaceP` (use `exists2` instead of `exists`)
218+
- moved from `filter.v` to `classical_sets.v`:
219+
+ definition `set_system`
220+
- moved from `measurable_structure.v` to `classical_sets.v`:
221+
+ definitions `setI_closed`, `setU_closed`
222+
223+
- moved from `theories` to `theories/topology_theory`:
224+
+ file `function_spaces.v`
225+
226+
- moved from `theories` to `theories/normedtype_theory`:
227+
+ file `tvs.v`
228+
229+
- moved from `tvs.v` to `pseudometric_normed_Zmodule.v`:
230+
+ definitions `NbhsNmodule`, `NbhsZmodule`, `PreTopologicalNmodule`, `PreTopologicalZmodule`,
231+
`PreUniformNmodule`, `PreUniformZmodule`
232+
233+
- in `tvs.v`, turned into `Let`'s:
234+
+ local lemmas `standard_add_continuous`, `standard_scale_continuous`, `standard_locally_convex`
235+
236+
- in `normed_module.v`, turned into `Let`'s:
237+
+ local lemmas `add_continuous`, `scale_continuous`, `locally_convex`
238+
239+
- moved from `normed_module.v` to `pseudometric_normed_Zmodule.v` and
240+
generalized from `normedModType` to `pseudoMetricNormedZmodType`
241+
+ lemma `ball_open` (`0 < r` hypothesis also not needed anymore)
242+
+ lemma `near_shift`
243+
+ lemma `cvg_comp_shift`
244+
+ lemma `ball_open_nbhs`
245+
246+
- moved from `tvs.v` to `convex.v`
247+
+ definition `convex`, renamed to `convex_set`
248+
+ definition `convex`
249+
55250
### Renamed
56251

57252
- in `tvs.v`:

_CoqProject

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ theories/normedtype_theory/urysohn.v
8989
theories/normedtype_theory/vitali_lemma.v
9090
theories/normedtype_theory/normedtype.v
9191

92+
theories/hahn_banach_theorem.v
93+
9294
theories/sequences.v
9395
theories/realfun.v
9496
theories/exp.v

theories/Make

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ normedtype_theory/urysohn.v
5555
normedtype_theory/vitali_lemma.v
5656
normedtype_theory/normedtype.v
5757

58+
hahn_banach_theorem.v
59+
5860
realfun.v
5961
sequences.v
6062
exp.v

0 commit comments

Comments
 (0)