With Coq's axioms of real numbers completeness
and total_order_T
, using the same technique as in the standard lib lemma Un_cv_crit_lub
, I managed to prove
Lemma NatForallDec : forall (f : nat -> bool),
{ forall n:nat, f n = false } + { ~forall n:nat, f n = false }.
and
Lemma NatForallDecIncr : forall (f : nat -> bool),
(forall n m:nat, f n = true -> n <= m -> f m = true)
-> { forall n:nat, f n = false } + { exists n:nat, f n = true }.
That is disturbing because it looks like some sort of oracle : if a proposition f
about the natural numbers is decidable for each number, then the infinite conjunction of f
becomes decidable too. So the axioms of the real numbers say that we can extract an algorithm which makes an infinite number of decisions in finite time...
Are there other examples of excluded middle that follow from the axioms of real numbers, and that have little to do with real numbers ?
And concerning real numbers, can a least upper bound be realized as a convergent sequence ?
Definition Cv_lub (A : R -> Prop) (l : R) (n : nat) :
is_lub A l
-> { x : R | A x /\ (l - x <= 1 / INR n)%R }.