|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -Latest releases: [[1.11.0] - 2025-05-02](#1110---2025-05-02), [[1.10.0] - 2025-04-21](#1100---2025-04-21), and [[1.9.0] - 2025-02-20](#190---2025-02-20) |
| 3 | +Latest releases: [[1.12.0] - 2025-07-03](#1120---2025-07-03), [[1.11.0] - 2025-05-02](#1110---2025-05-02), and [[1.10.0] - 2025-04-21](#1100---2025-04-21) |
| 4 | + |
| 5 | +## [1.12.0] - 2025-07-03 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +- in `unstable.v`: |
| 10 | + + lemma `subrKC` |
| 11 | + |
| 12 | +- in `classical_sets.v`: |
| 13 | + + lemma `bigcup_mkord_ord` |
| 14 | + |
| 15 | +- in `set_interval.v`: |
| 16 | + + lemma `memB_itv`, `memB_itv0` |
| 17 | + |
| 18 | +- in `constructive_ereal.v`: |
| 19 | + + `inve` a total involutive inversion function on `\bar R`, denoted `^-1` in |
| 20 | + the `ereal_scope` coinciding with `x^-1%R` when `x != 0` but such that |
| 21 | + `0^-1 = +oo` and `-oo^-1 = -oo`, |
| 22 | + + notation `x / y` in `ereal_scope` for `x / y = x * y^-1`, |
| 23 | + + lemmas `inver`, `inveP`, `fine_invr`, `inve0`, `inve1`, `invey`, `invey`, |
| 24 | + `inveNy`, `inveK`, `invr_inj`, `inveN`, `inve_eq0`, `inve_ge0`, `inve_gt0`, |
| 25 | + `inv_gt0P`, `inve_lt0`, `inve_le0`, `inve_le0P`, |
| 26 | + + predicate `inveM_def` with notation `x *^-1? y` defining a sufficient |
| 27 | + condition for the inverse and product to commute, with lemmas `inveMP`, |
| 28 | + `inveM_defE`, `inveM` and `fin_inveM_def`, |
| 29 | + + compatibility lemma `mule_defE` to bridge the former definition of |
| 30 | + `mule_def` with the new one. |
| 31 | + + lemma `fin_numV` |
| 32 | + + lemmas `mulVe`, `lee_pV2`, `lte_pV2`, `ltee_pV2`, `inve_pge`, `inve_pgt`, |
| 33 | + `inve_ple`, `inve_plt`, `inve_gt1`, `inve_ge1`. |
| 34 | + + lemmas `div1e`, `divee`, `inve_eq1`, `Nyconjugate` |
| 35 | + + lemmas `abse_prod` |
| 36 | + |
| 37 | + |
| 38 | +- in `real_interval.v`: |
| 39 | + + lemma `itvNybndEbigcup` |
| 40 | + |
| 41 | +- in `num_topology.v`: |
| 42 | + + `topologicalType` instance on `R^o` for `R : numDomainType` |
| 43 | + |
| 44 | +- in `convex.v`: |
| 45 | + + definition `convex_quasi_associative` |
| 46 | + * implemented through a module `ConvexQuasiAssoc` containing |
| 47 | + `law` and helper lemmas |
| 48 | + + lemmas `convR_itv`, `convR_line_path` |
| 49 | + |
| 50 | +- in `tvs.v`: |
| 51 | + + HB classes `TopologicalNmodule`, `TopologicalZmodule`, `TopologicalLmodule` |
| 52 | + `UniformNmodule`, `UniformZmodule`, `UniformLmodule` |
| 53 | + + notation `topologicalZmodType` |
| 54 | + + mixin `PreTopologicalNmodule_isTopologicalNmodule`, |
| 55 | + `TopologicalNmodule_isTopologicalZmodule`, |
| 56 | + `TopologicalZmodule_isTopologicalLmodule`, |
| 57 | + `PreUniformNmodule_isUniformNmodule`, |
| 58 | + `UniformNmodule_isUniformZmodule`, |
| 59 | + `PreUniformLmodule_isUniformLmodule` |
| 60 | + + structure `topologicalLmodule` |
| 61 | + + factories `PreTopologicalNmodule_isTopologicalZmodule`, |
| 62 | + `TopologicalNmodule_isTopologicalLmodule`, |
| 63 | + `PreUniformNmodule_isUniformZmodule`, |
| 64 | + `UniformNmodule_isUniformLmodule` |
| 65 | + + lemmas `sub_continuous`, `sub_unif_continuous` |
| 66 | + |
| 67 | +- in `num_normedtype.v`: |
| 68 | + + lemmas `gt0_cvgMrNy`, `gt0_cvgMry` |
| 69 | + |
| 70 | +- in `normed_module.v`: |
| 71 | + + definition `pseudoMetric_normed` |
| 72 | + + factory `Lmodule_isNormed` |
| 73 | + |
| 74 | +- in `sequences.v`: |
| 75 | + + lemma `subset_seqDU` |
| 76 | + |
| 77 | +- in `esum.v`: |
| 78 | + + lemma `nneseries_esumT` |
| 79 | + |
| 80 | +- in `exp.v`: |
| 81 | + + lemma `expR_ge1Dxn` |
| 82 | + |
| 83 | +- in `measure.v`: |
| 84 | + + definition `g_sigma_preimage` |
| 85 | + + lemma `g_sigma_preimage_comp` |
| 86 | + + definition `measure_tuple_display` |
| 87 | + + lemma `measurable_tnth` |
| 88 | + + lemma `measurable_fun_tnthP` |
| 89 | + + lemma `measurable_cons` |
| 90 | + + lemma `measurable_behead` |
| 91 | + + lemmas `seqDU_measurable`, `measure_gt0` |
| 92 | + + notations `\forall x \ae mu, P`, `f = g %[ae mu in D]`, `f = g %[ae mu]` |
| 93 | + + instances `ae_eq_equiv`, `comp_ae_eq`, `comp_ae_eq2`, `comp_ae_eq2'`, `sub_ae_eq2` |
| 94 | + + lemma `ae_eq_comp2` |
| 95 | + + lemma `ae_foralln` |
| 96 | + + lemma `ae_eqe_mul2l` |
| 97 | + |
| 98 | +- in `lebesgue_stieltjes_measure.v`: |
| 99 | + + mixin `isCumulativeBounded`, structure `CumulativeBounded` with type `cumulative_bounded` |
| 100 | + |
| 101 | +- in `simple_functions.v`: |
| 102 | + + lemma `mfunMn` |
| 103 | + |
| 104 | +- in `lebesgue_integral_definition.v`: |
| 105 | + + lemmas `le_measure_sintegral`, `ge0_le_measure_integral` |
| 106 | + |
| 107 | +- in `lebesgue_integral_nonneg.v`: |
| 108 | + + lemmas `ge0_nondecreasing_set_nondecreasing_integral`, |
| 109 | + `ge0_nondecreasing_set_cvg_integral`, |
| 110 | + `le0_nondecreasing_set_nonincreasing_integral`, |
| 111 | + `le0_nondecreasing_set_cvg_integral` |
| 112 | + + lemma `ge0_integral_ereal_sup` (was a `Let`) |
| 113 | + |
| 114 | +- in `lebesgue_integrable.v`: |
| 115 | + + lemma `integral_sum` |
| 116 | + |
| 117 | +- in `lebesgue_integral_fubini.v`: |
| 118 | + + lemmas `integral21_prod_meas2`, `integral12_prod_meas2` |
| 119 | + |
| 120 | +- in `lebesgue_integral_differentiation.v`: |
| 121 | + + lemma `nicely_shrinking_fin_num` |
| 122 | + |
| 123 | +- new file `ess_sup_inf.v`: |
| 124 | + + lemma `measure0_ae` |
| 125 | + + definition `ess_esup` |
| 126 | + + lemmas `ess_supEae`, `ae_le_measureP`, `ess_supEmu0`, `ess_sup_ge`, |
| 127 | + `ess_supP`, `le_ess_sup`, `eq_ess_sup`, `ess_sup_cst`, `ess_sup_ae_cst`, |
| 128 | + `ess_sup_gee`, `abs_sup_eq0_ae_eq`, `abs_ess_sup_eq0`, `ess_sup_pZl`, |
| 129 | + `ess_supZl`, `ess_sup_eqNyP`, `ess_supD`, `ess_sup_absD` |
| 130 | + + notation `ess_supr` |
| 131 | + + lemmas `ess_supr_bounded`, `ess_sup_eqr0_ae_eq`, `ess_suprZl`, |
| 132 | + `ess_sup_ger`, `ess_sup_ler`, `ess_sup_cstr`, `ess_suprD`, `ess_sup_normD` |
| 133 | + + definition `ess_inf` |
| 134 | + + lemmas `ess_infEae`, `ess_infEN`, `ess_supEN`, `ess_infN`, `ess_supN`, |
| 135 | + `ess_infP`, `ess_inf_le`, `le_ess_inf`, `eq_ess_inf`, `ess_inf_cst`, |
| 136 | + `ess_inf_ae_cst`, `ess_inf_gee`, `ess_inf_pZl`, `ess_infZl`, `ess_inf_eqyP`, |
| 137 | + `ess_infD` |
| 138 | + + notation `ess_infr` |
| 139 | + + lemmas `ess_infr_bounded`, `ess_infrZl`, `ess_inf_ger`, `ess_inf_ler`, |
| 140 | + `ess_inf_cstr` |
| 141 | + |
| 142 | +- in `hoelder.v`: |
| 143 | + + lemmas `Lnorm_abse`, `Lfun_norm` |
| 144 | + + lemmas `Lnorm0`, `Lnorm_cst1` |
| 145 | + + definition `hoelder_conjugate` |
| 146 | + + lemmas `hoelder_conjugate0`, `hoelder_conjugate1`, `hoelder_conjugate2`, |
| 147 | + `hoelder_conjugatey`, `hoelder_conjugateK` |
| 148 | + + lemmas `lerB_DLnorm`, `lerB_LnormD`, `eminkowski` |
| 149 | + + definition `finite_norm` |
| 150 | + + mixin `isLfunction` with field `Lfunction_finite` |
| 151 | + + structure `Lfunction` |
| 152 | + + notation `LfunType` |
| 153 | + + notation `{mfun_ mu , U >-> V }` |
| 154 | + + definition `ae_eq_op` |
| 155 | + + lemmas `ae_eq_op_refl`, `ae_eq_op_sym`, `ae_eq_op_trans`, `aeEqMfun` |
| 156 | + + canonical `ae_eq_op_canonical` |
| 157 | + + definition `LspaceType` |
| 158 | + + lemma `ae_eqP` |
| 159 | + + definition/coercion `aqEqMfun_to_fun` |
| 160 | + + definition `Lspace` with notation `mu.-Lspace p` |
| 161 | + + lemma `Lfun_integrable`, `Lfun1_integrable`, `Lfun2_integrable_sqr`, `Lfun2_mul_Lfun1` |
| 162 | + + lemma `Lfun_scale`, `Lfun_cst`, |
| 163 | + + definitions `finLfun`, `Lfun`, `Lfun_key` |
| 164 | + + canonical `Lfun_keyed` |
| 165 | + + lemmas `sub_Lfun_mfun`, `sub_Lfun_finLfun` |
| 166 | + + definition `Lfun_Sub` |
| 167 | + + lemmas `Lfun_rect`, `Lfun_valP`, `LfuneqP`, `finite_norm_cst0`, `mfunP`, `LfunP`, |
| 168 | + `mfun_scaler_closed` |
| 169 | + + lemmas `LnormZ`, `Lfun_submod_closed` |
| 170 | + + lemmas `finite_norm_fine`, `ler_LnormD`, |
| 171 | + `LnormrN`, `fine_Lnormr_eq0` |
| 172 | + + lemma `fine_Lnormr_eq0` |
| 173 | + + lemma `Lfun_subset`, `Lfun_subset12` |
| 174 | + + lemma `Lfun_oppr_closed` |
| 175 | + + lemma `Lfun_addr_closed` |
| 176 | + + lemmas `poweR_Lnorm`, `oppe_Lnorm` |
| 177 | + + lemmas `hoelder_conjugate_div`, `hoelder_div_conjugate`, |
| 178 | + `hoelder_Mconjugate`, `hoelder_conjugateP`, |
| 179 | + `hoelder_conjugate_eq1`, `hoelder_conjugate_eqNy`, `hoelder_conjugate_eqy`, |
| 180 | + `hoelder_conjugateNy` |
| 181 | + |
| 182 | +- in `probability.v`: |
| 183 | + + definition `exponential_pdf` |
| 184 | + + lemmas `exponential_pdf_ge0`, `lt0_exponential_pdf`, |
| 185 | + `measurable_exponential_pdf`, `exponential_pdfE`, |
| 186 | + `in_continuous_exponential_pdf`, `within_continuous_exponential_pdf` |
| 187 | + + definition `exponential_prob` |
| 188 | + + lemmas `derive1_exponential_pdf`, `exponential_prob_itv0c`, |
| 189 | + `integral_exponential_pdf`, `integrable_exponential_pdf` |
| 190 | + + Definition `poisson_pmf`, `poisson_prob` |
| 191 | + + lemmas `poisson_pmf_ge0`, `measurable_poisson_pmf`, |
| 192 | + `measurable_poisson_prob` |
| 193 | + + instance `poisson_prob` |
| 194 | + + lemma `cdf_lebesgue_stieltjes_id` |
| 195 | + |
| 196 | +### Changed |
| 197 | + |
| 198 | +- in `constructive_ereal.v`: |
| 199 | + + `mule` has special cases optimizing computation for +oo and -oo |
| 200 | + + `mule_def` has been rewritten to optimize computation in several cases. |
| 201 | + |
| 202 | +- in `convex.v`: |
| 203 | + + convex combination operator `a <| t |> b` changed from |
| 204 | + `(1-t)a + tb` to `ta + (1-t)b` |
| 205 | + + definition `convex_realDomainType` generalized and |
| 206 | + renamed accordingly `convex_numDomainType` |
| 207 | + |
| 208 | +- in `sequences.v`: |
| 209 | + + change the implicit arguments of lemma `is_cvg_series_exp_coeff` |
| 210 | + |
| 211 | +- in `tvs.v`: |
| 212 | + + HB class `UniformZmodule` now contains `TopologicalZmodule` |
| 213 | + + HB class `UniformLmodule` now contains `TopologicalLmodule` |
| 214 | + |
| 215 | +- in `measure.v`: |
| 216 | + + definition `pushforward` (to take a function instead of a proof) |
| 217 | + + change the implicit arguments of lemma `measurability` |
| 218 | + + notation `{ae mu, P}` (near use `{near _, _}` notation) |
| 219 | + + definition `ae_eq` |
| 220 | + + `ae_eq` lemmas now for `ringType`-valued functions (instead of `\bar R`) |
| 221 | + |
| 222 | +- in `lebesgue_integral_nonneg.v`: |
| 223 | + + lemma `integral_abs_eq0` (remove redundant hypotheses) |
| 224 | + |
| 225 | +- in `lebesgue_integral_differentiation.v`: |
| 226 | + + definition `iavg` (to use `inve`) |
| 227 | + |
| 228 | +- in `measure.v`: |
| 229 | + + fourth argument of `probability_setT` is now explicit |
| 230 | + |
| 231 | +- moved from `measurable_realfun.v` to `lebesgue_stieltjes_measure.v`: |
| 232 | + + definitions `measurableTypeR`, `measurableR` |
| 233 | + + lemmas `measurable_set1`, `measurable_itv` |
| 234 | + |
| 235 | +- in `measure.v`: |
| 236 | + + definition `ess_sup` moved to `ess_sup_inf.v` |
| 237 | + |
| 238 | +### Renamed |
| 239 | + |
| 240 | +- in `convex.v`: |
| 241 | + + lemma `conv_gt0` to `convR_gt0` |
| 242 | + |
| 243 | +- in `tvs.v`: |
| 244 | + + HB class `TopologicalNmodule` moved to `PreTopologicalNmodule` |
| 245 | + + HB class `TopologicalZmodule` moved to `PreTopologicalZmodule` |
| 246 | + + HB class `TopologicalLmodule` moved to `PreTopologicalLmodule` |
| 247 | + + structure `topologicalLmodule` moved to `preTopologicalLmodule` |
| 248 | + + HB class `UniformNmodule` moved to `PreUniformNmodule` |
| 249 | + + HB class `UniformZmodule` moved to `PreUniformZmodule` |
| 250 | + + HB class `UniformLmodule` moved to `PreUniformLmodule` |
| 251 | + |
| 252 | +- in `normed_module.v`: |
| 253 | + + `cvgZl` -> `cvgZr_tmp` |
| 254 | + + `is_cvgZl` -> `is_cvgZr_tmp` |
| 255 | + + `cvgZr` -> `cvgZl_tmp` |
| 256 | + + `is_cvgZr` -> `is_cvgZl_tmp` |
| 257 | + + `is_cvgZrE` -> `is_cvgZlE` |
| 258 | + + `cvgMl` -> `cvgMr_tmp` |
| 259 | + + `cvgMr` -> `cvgMl_tmp` |
| 260 | + + `is_cvgMr` -> `is_cvgMl_tmp` |
| 261 | + + `is_cvgMrE` -> `is_cvgMlE_tmp` |
| 262 | + + `is_cvgMl` -> `is_cvgMr_tmp` |
| 263 | + + `is_cvgMlE` -> `is_cvgMrE_tmp` |
| 264 | + + `limZl` -> `limZr_tmp` |
| 265 | + + `limZr` -> `limZl_tmp` |
| 266 | + + `continuousZr` -> `continuousZl_tmp` |
| 267 | + + `continuousZl` -> `continuousZr_tmp` |
| 268 | + |
| 269 | +- in `realfun.v`: |
| 270 | + + `variationD` -> `variation_cat` |
| 271 | + |
| 272 | +- in `lebesgue_integral_fubini.v`: |
| 273 | + + `fubini1` -> `integral12_prod_meas1` |
| 274 | + + `fubini2` -> `integral21_prod_meas1` |
| 275 | + |
| 276 | +- in `lebesgue_integrable.v`: |
| 277 | + + `integral_fune_lt_pinfty` -> `integrable_lty` |
| 278 | + + `integral_fune_fin_num` -> `integrable_fin_num` |
| 279 | + |
| 280 | +- in `hoelder.v`: |
| 281 | + + `minkowski` -> `minkowski_EFin` |
| 282 | + |
| 283 | +### Generalized |
| 284 | + |
| 285 | +- in `convex.v`: |
| 286 | + + parameter `R` of `convType` from `realDomainType` to `numDomainType` |
| 287 | + |
| 288 | +- in `derive.v`: |
| 289 | + + `derive_cst`, `derive1_cst` |
| 290 | + + lemmas `is_deriveX`, `deriveX`, `exp_derive`, `exp_derive1` |
| 291 | + |
| 292 | +- in `lebesgue_integrable.v`: |
| 293 | + + lemma `integrable_sum` |
| 294 | + |
| 295 | +- in `hoelder.v`: |
| 296 | + + definition `Lnorm` generalized to functions with codomain `\bar R` |
| 297 | + (this impacts the notation `'N_p[f]`) |
| 298 | + + lemmas `Lnorm1`, `eq_Lnorm`, `Lnorm_counting` (from `f : _ -> R` to `f : _ -> \bar R`) |
| 299 | + |
| 300 | +- in `probability.v`: |
| 301 | + + lemma `cantelli` |
| 302 | + + lemmas `expectation_fin_num`, `expectationZl`, `expectationD`, `expectationB`, `expectation_sum`, |
| 303 | + `covarianceE`, `covariance_fin_num`, `covarianceZl`, `covarianceZr`, `covarianceNl`, |
| 304 | + `covarianceNr`, `covarianceNN`, `covarianceDl`, `covarianceDr`, `covarianceBl`, `covarianceBr`, |
| 305 | + `varianceE`, `variance_fin_num`, `varianceZ`, `varianceN`, `varianceD`, `varianceB`, |
| 306 | + `varianceD_cst_l`, `varianceD_cst_r`, `varianceB_cst_l`, `varianceB_cst_r`, `covariance_le` |
| 307 | + |
| 308 | +### Deprecated |
| 309 | + |
| 310 | +- in `set_interval.v`: |
| 311 | + + lemma `mem_1B_itvcc` |
| 312 | + |
| 313 | +### Removed |
| 314 | + |
| 315 | +- in `constructive_ereal.v`: |
| 316 | + + notations `lee_addl`, `lee_addr`, `lee_add2l`, `lee_add2r`, `lee_add`, |
| 317 | + `lee_sub`, `lee_add2lE`, `lee_oppl`, `lee_oppr`, `lte_oppl`, `lte_oppr`, |
| 318 | + `lte_add`, `lte_add2lE`, `lte_addl`, `lte_addr` (deprecated since 1.1.0) |
| 319 | + |
| 320 | +- in `exp.v`: |
| 321 | + + notation `expRMm` (deprecated since 1.1.0) |
| 322 | + |
| 323 | +- in `measure.v`: |
| 324 | + + definition `almost_everywhere_notation` |
| 325 | + + lemma `ess_sup_ge0` |
| 326 | + + notations `sub_additive`, `sigma_sub_additive`, `content_sub_additive`, |
| 327 | + `ring_sigma_sub_additive`, `Content_SubSigmaAdditive_isMeasure.Build`, |
| 328 | + `measure_sigma_sub_additive`, `measure_sigma_sub_additive_tail`, |
| 329 | + `Measure_isSFinite_subdef.Build`, `sfinite_measure_subdef`, |
| 330 | + `@SigmaFinite_isFinite.Build`, `FiniteMeasure_isSubProbability.Build` |
| 331 | + (deprecated since 1.1.0) |
4 | 332 |
|
5 | 333 | ## [1.11.0] - 2025-05-02 |
6 | 334 |
|
|
0 commit comments