diff options
Diffstat (limited to 'doc/changelog/10-standard-library/10445-constructive-reals.rst')
| -rw-r--r-- | doc/changelog/10-standard-library/10445-constructive-reals.rst | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/changelog/10-standard-library/10445-constructive-reals.rst b/doc/changelog/10-standard-library/10445-constructive-reals.rst new file mode 100644 index 0000000000..dc5c97f895 --- /dev/null +++ b/doc/changelog/10-standard-library/10445-constructive-reals.rst @@ -0,0 +1,30 @@ +- New module `Reals.ConstructiveCauchyReals` defines constructive real numbers + by Cauchy sequences of rational numbers. Classical real numbers are now defined + as a quotient of these constructive real numbers, which significantly reduces + the number of axioms needed (see `Reals.Rdefinitions` and `Reals.Raxioms`), + while preserving backward compatibility. + + Futhermore, the new axioms for classical real numbers include the limited + principle of omniscience (`sig_forall_dec`), which is a logical principle + instead of an ad hoc property of the real numbers. In a future pull request + we propose to deduce the other axiom, `completeness`, from the logical + principle `sig_not_dec` (see `Reals.Rlogic`), which is the excluded middle + of negations in sort `Type`. + + If we want the axioms to be completely logical, we could also replace the + quotient axioms by functional extensionality, which gives the correct + equality to the equivalences classes represented as `bool`-valued functions + (also using Hedberg to get the unicity of proofs that those functions + are indeed equivalence classes). However that last part is not + completely backward compatible : it assumes funext, which is more + powerful than ad hoc quotient axioms. + + Future work includes the development of constructive analysis, by + moving the constructive lemmas in new modules (see `Reals.RIneq_constr`), + and by interfacing tighter with libraries C-CoRN and math-classes. + Since the constructive definitions are weaker, this will require + to adapt the definitions in some places. We also need to work on + efficient extractions of constructive real numbers, so that we can + compute them in practice. + + See `#10445 <https://github.com/coq/coq/pull/10445>`_, by Vincent Semeria. |
