aboutsummaryrefslogtreecommitdiff
path: root/doc/changelog
diff options
context:
space:
mode:
authorVincent Semeria2019-06-27 23:35:03 +0200
committerVincent Semeria2019-07-16 18:45:34 +0200
commiteebc676ce4978b7e408c427889bae356d8b0efdc (patch)
tree2bc6228c80817026d4e2108e871867fc50a86fa2 /doc/changelog
parent3bd2722fb53552f45a25e6bc0a03a9ab0517485f (diff)
Define constructive real numbers as Cauchy sequences of rational numbers. Redefine classical real numbers as a quotient of those constructive real numbers.
Diffstat (limited to 'doc/changelog')
-rw-r--r--doc/changelog/10-standard-library/10445-constructive-reals.rst30
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.