Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
(************************************************************************)
(* * The Coq Proof Assistant / The Coq Development Team *)
(* v * INRIA, CNRS and contributors - Copyright 1999-2018 *)
(* <O___,, * (see CREDITS file for the list of authors) *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(* * (see LICENSE file for the text of the license) *)
(************************************************************************)
This module proves some logical properties of the axiomatic of Reals.
- Decidability of arithmetical statements.
- Derivability of the Archimedean "axiom".
- Decidability of negated formulas.
Require Import RIneq.
One can iterate this lemma and use classical logic to decide any
statement in the arithmetical hierarchy.
Section Arithmetical_dec. Variable P : nat -> Prop. Hypothesis HP : forall n, {P n} + {~P n}.P:nat -> PropHP:forall n : nat, {P n} + {~ P n}{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}forall n : nat, (0 < INR n + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}n:nat(0 < INR n + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> Rforall n : nat, (u n <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(u n <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat((if HP n then 0 else / (INR n + 1)) <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(0 <= 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(/ (INR n + 1) <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(/ (INR n + 1) <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(/ INR (S n) <= / 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> Rn:nat(1 <= INR (S n))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Prop{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propbound EP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propexists x : R, E xP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propis_upper_bound E R1P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propexists x : R, E xP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propn:nat(u n <= R1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propexists x : R, E xP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propexists x : R, E xP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> PropE (u 0)P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%Rforall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%Rn:natHp:~ P n(/ (INR n + 1) <= l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%Rn:natHp:~ P nE (/ (INR n + 1))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%Rn:natHp:~ P n(/ (INR n + 1))%R = u nP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%Rn:natHp:~ P n(/ (INR n + 1))%R = (if HP n then 0%R else (/ (INR n + 1))%R)P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(l <= 0)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(l <= 0)%Rforall n : nat, P nP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natP nP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:P nP nP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P nP nP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P nP nP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P nFalseP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P n(0 < l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P n(0 < / (INR n + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P n(/ (INR n + 1) <= l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(l <= 0)%Rn:natH:~ P n(/ (INR n + 1) <= l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n} + {forall n : nat, P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):nat{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):nat(1 <= / l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):nat(/ 1 <= / l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):nat(l <= 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natis_upper_bound E 1P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(INR N + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(INR (Z.abs_nat (up (/ l) - 2)) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (Z.of_nat (Z.abs_nat (up (/ l) - 2))) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (Z.abs (up (/ l) - 2)) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (Z.abs (up (/ l) - 2)) + 1)%R = (IZR (up (/ l) - 2) + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RZ.abs (up (/ l) - 2) = (up (/ l) - 2)%ZP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(0 <= up (/ l) - 2)%ZP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(2 <= up (/ l))%ZP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(1 < up (/ l))%ZP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(1 < IZR (up (/ l)))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(/ l < IZR (up (/ l)))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l) - 2) + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l)) - 2 + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%R(IZR (up (/ l)) - 2 + 1)%R = (IZR (up (/ l)) - 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ (INR (S N) + 1) < l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ (INR (S N) + 1) < / / l)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ l < INR (S N) + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ l < INR N + 1 + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ l < IZR (up (/ l)) - 1 + 1)%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%R(/ l < IZR (up (/ l)))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R{n : nat | ~ P n}P:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%R~ P NP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P NFalseP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P N(l <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nis_upper_bound E (/ (INR (S N) + 1))P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:nat(u n <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:nat((if HP n then 0 else / (INR n + 1)) <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:nat(0 <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(/ (INR n + 1) <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:nat(0 < / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(/ (INR n + 1) <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(/ (INR n + 1) <= / (INR (S N) + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(0 < INR (S N) + 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(INR (S N) + 1 <= INR n + 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(INR (S N) + 1 <= INR n + 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P n(INR (S N) <= INR n)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nS N <= nP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NS N <= nP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:N < nS N <= nP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NS N <= nP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NFalseP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < NFalseP:nat -> PropHP:forall n : nat, {P n} + {~ P n}Hi:forall n : nat, (0 < INR n + 1)%Ru:=fun n : nat => if HP n then 0%R else (/ (INR n + 1))%R:nat -> RBu:forall n : nat, (u n <= 1)%RE:=fun y : R => exists n : nat, y = u n:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n : nat, ~ P n -> (/ (INR n + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P NHn:N <= NHp:~ P NFalseP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < NFalseP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(l < / (INR n + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(/ / l < / (INR n + 1))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(1 <= INR n + 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR n + 1 < / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(1 <= INR (S n))%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR n + 1 < / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR n + 1 < / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR n + 1 < INR N + 1)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR N + 1 <= / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR n < INR N)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR N + 1 <= / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(INR N + 1 <= / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(IZR (up (/ l)) - 1 <= / l)%RP:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(IZR (up (/ l)) - 1 + (- / l + 1) <= / l + (- / l + 1))%Rapply archimed. Qed. End Arithmetical_dec.P:nat -> PropHP:forall n0 : nat, {P n0} + {~ P n0}Hi:forall n0 : nat, (0 < INR n0 + 1)%Ru:=fun n0 : nat => if HP n0 then 0%R else (/ (INR n0 + 1))%R:nat -> RBu:forall n0 : nat, (u n0 <= 1)%RE:=fun y : R => exists n0 : nat, y = u n0:R -> Propl:Rub:is_upper_bound E llub:forall b : R, is_upper_bound E b -> (l <= b)%RHnp:forall n0 : nat, ~ P n0 -> (/ (INR n0 + 1) <= l)%RHl:(0 < l)%RN:=Z.abs_nat (up (/ l) - 2):natH1l:(1 <= / l)%RHN:(INR N + 1)%R = (IZR (up (/ l)) - 1)%RHl':(/ (INR (S N) + 1) < l)%RH:P Nn:natHp:~ P nHn:n <= NHn':n < N(IZR (up (/ l)) - / l <= 1)%R
This is a standard proof (it has been taken from PlanetMath). It is
formulated negatively so as to avoid the need for classical
logic. Using a proof of {n | ¬P n}+{∀ n, P n}, we can in
principle also derive up and its specification. The proof above
cannot be used for that purpose, since it relies on the archimed axiom.
forall r : R, ~ (forall n : nat, (INR n <= r)%R)forall r : R, ~ (forall n : nat, (INR n <= r)%R)r:RH:forall n : nat, (INR n <= r)%RFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:R~ is_upper_bound E M'r:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%RFalser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M' < M)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M + -1 < M)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(fun r0 : R => (M + -1 < r0)%R) Mr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M + -1 < 0 + M)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(fun r0 : R => (M + -1 < r0)%R) (0 + M)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M + -1 < M + 0)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M + -1 < M + (1 + - (1)))%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(-1 < 1 + - (1))%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(-1 < - (1) + 1)%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH5:is_upper_bound E M'H2:(M <= M')%R(M <= M')%Rr:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'Falser:RH:forall n : nat, (INR n <= r)%RE:=fun r0 : R => exists n : nat, r0 = INR n:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'is_upper_bound E M'r:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR n(N <= M')%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR n(INR n <= M')%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR n(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR (S n) <= M)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%R(INR n + 1 + -1 <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n + 1 + -1 <= M + -1)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%R(INR n + 1 <= M)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n + 1 + -1 <= M + -1)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n + 1 + -1 <= M + -1)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n + (1 + -1) <= M + -1)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n + 0 <= M + -1)%R(INR n <= M + -1)%Rr:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(0 + INR n <= M + -1)%R(INR n <= M + -1)%Rassumption. Qed.r:RH:forall n0 : nat, (INR n0 <= r)%RE:=fun r0 : R => exists n0 : nat, r0 = INR n0:R -> PropH0:exists x : R, E xH1:bound EM:RH3:is_upper_bound E MH4:forall b : R, is_upper_bound E b -> (M <= b)%RM':=(M + -1)%R:RH2:~ is_upper_bound E M'N:Rn:natH7:N = INR nH5:(INR n + 1 <= M)%RH6:(INR n <= M + -1)%R(INR n <= M + -1)%R
forall P : Prop, {~ ~ P} + {~ P}forall P : Prop, {~ ~ P} + {~ P}P:Prop{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Prop{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propbound EP:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propexists x : R, E xP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propis_upper_bound E R1P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propexists x : R, E xP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Prop(R0 <= R1)%RP:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Prop(R1 <= R1)%RP:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propexists x : R, E xP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Prop(R1 <= R1)%RP:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propexists x : R, E xP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> Propexists x : R, E xP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x : R => x = R0 \/ x = R1 /\ P:R -> PropE R0P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E x{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%R{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%R{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%R{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%R~ ~ PP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ PFalseP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ P(x < 1)%RP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ P(x <= 0)%RP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ Pis_upper_bound E 0P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ P(R0 <= 0)%RP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ Py:RHy:P(y <= 0)%Rnow elim HP.P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(1 <= x)%RHP:~ Py:RHy:P(y <= 0)%RP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%R{~ ~ P} + {~ P}P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%R~ PP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%RHP:PFalseP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%RHP:P(1 <= x)%RP:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%RHP:PE 1%Rnow split. Qed.P:PropE:=fun x0 : R => x0 = R0 \/ x0 = R1 /\ P:R -> Propx:RH:is_lub E xH':(x < 1)%RHP:P1%R = R1 /\ P