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) *) (************************************************************************) Require Import Rbase. Require Import Rfunctions. Require Import Compare. Local Open Scope R_scope. Implicit Type r : R. (* classical is needed for [Un_cv_crit] *) (*********************************************************)
(* *) (*********************************************************) Section sequence. (*********) Variable Un : nat -> R. (*********) Fixpoint Rmax_N (N:nat) : R := match N with | O => Un 0 | S n => Rmax (Un (S n)) (Rmax_N n) end. (*********) Definition EUn r : Prop := exists i : nat, r = Un i. (*********) Definition Un_cv (l:R) : Prop := forall eps:R, eps > 0 -> exists N : nat, (forall n:nat, (n >= N)%nat -> R_dist (Un n) l < eps). (*********) Definition Cauchy_crit : Prop := forall eps:R, eps > 0 -> exists N : nat, (forall n m:nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (Un n) (Un m) < eps). (*********) Definition Un_growing : Prop := forall n:nat, Un n <= Un (S n). (*********)Un:nat -> Rexists r : R, EUn runfold EUn; split with (Un 0); split with 0%nat; trivial. Qed. (*********)Un:nat -> Rexists r : R, EUn rUn:nat -> Rforall n : nat, EUn (Un n)intro; unfold EUn; split with n; trivial. Qed. (*********)Un:nat -> Rforall n : nat, EUn (Un n)Un:nat -> Rforall x : R, (forall n : nat, Un n <= x) -> is_upper_bound EUn xintros; unfold is_upper_bound; intros; unfold EUn in H0; elim H0; clear H0; intros; generalize (H x1); intro; rewrite <- H0 in H1; trivial. Qed. (*********)Un:nat -> Rforall x : R, (forall n : nat, Un n <= x) -> is_upper_bound EUn xUn:nat -> Rforall n m : nat, Un_growing -> (n >= m)%nat -> Un n >= Un mUn:nat -> Rforall n m : nat, Un_growing -> (n >= m)%nat -> Un n >= Un mUn:nat -> Rn, m:natH:Un_growingH0:(0 >= 0)%natUn 0 >= Un 0Un:nat -> Rn, m, n0:natH:Un_growing -> (0 >= n0)%nat -> Un 0 >= Un n0H0:Un_growingH1:(0 >= S n0)%natUn 0 >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%natUn (S n0) >= Un 0Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:Un_growing -> (0 >= n0)%nat -> Un 0 >= Un n0H0:Un_growingH1:(0 >= S n0)%natUn 0 >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%natUn (S n0) >= Un 0Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%natUn (S n0) >= Un 0Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%nat(n0 >= 0)%nat -> Un (S n0) >= Un 0Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%nat(n0 >= 0)%natUn:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall m0 : nat, Un_growing -> (n0 >= m0)%nat -> Un n0 >= Un m0H0:Un_growingH1:(S n0 >= 0)%nat(n0 >= 0)%natUn:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:{(n1 < n0)%nat} + {n1 = n0}Un (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:(n0 < n1)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:(n1 < n0)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:n1 = n0Un (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:(n0 < n1)%natUn (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:n1 = n0Un (S n1) >= Un (S n0)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:(n0 < n1)%natUn (S n1) >= Un (S n0)unfold ge in H0; generalize (H0 (S n0) H1 (lt_le_S n0 n1 y)); intro; unfold Un_growing in H1; apply (Rge_trans (Un (S n1)) (Un n1) (Un (S n0)) (Rle_ge (Un n1) (Un (S n1)) (H1 n1)) H3). Qed. (*********)Un:nat -> Rn, m, n0:natH:forall n2 : nat, (forall m0 : nat, Un_growing -> (n2 >= m0)%nat -> Un n2 >= Un m0) -> Un_growing -> (S n2 >= n0)%nat -> Un (S n2) >= Un n0n1:natH0:forall m0 : nat, Un_growing -> (n1 >= m0)%nat -> Un n1 >= Un m0H1:Un_growingH2:(S n1 >= S n0)%naty:(n0 < n1)%natUn (S n1) >= Un (S n0)Un:nat -> RUn_growing -> forall l : R, is_lub EUn l -> Un_cv lUn:nat -> RUn_growing -> forall l : R, is_lub EUn l -> Un_cv lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Un n) l < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0(exists N : nat, Un N > l - eps) -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Un n) l < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsexists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (Un n) l < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsforall n : nat, (n >= N)%nat -> R_dist (Un n) l < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natR_dist (Un n) l < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natRabs (Un n - l) < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natl - Un n < epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - eps + (l - Un n) < Un n - eps + epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - eps + (l - Un n) < Un NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn N <= Un n - eps + epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn N <= Un n - eps + epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn N <= Un nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n >= Un NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n - l <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natUn n <= lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0N:natH3:Un N > l - epsn:natH4:(n >= N)%natEUn (Un n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0forall n : nat, 0 < (/ 2) ^ nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsforall n : nat, 0 < (/ 2) ^ nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsn:nat0 < (/ 2) ^ nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsn:nat0 < / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsn:nat0 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rforall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rforall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rforall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rm:natforall n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rm:natsum m <= sum (m + 0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + S n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + S n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rm:natsum m <= sum m <= sum m + (/ 2) ^ m - (/ 2) ^ mHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + S n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + S n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n : nat, 0 < (/ 2) ^ ntest:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> Rm:natsum m <= sum m <= sum mHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + S n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + S n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + S n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + S n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (S (m + n)) <= sum m + (/ 2) ^ m - (/ 2) ^ S (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + n)%nat + 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + 0 <= sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m <= sum (m + n)%natHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + 0 <= sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + 0 <= sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 < / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + (if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= sum (m + n)%nat + / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)(if test (m + n)%nat then / 2 * (/ 2) ^ (m + n) else 0) <= / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)/ 2 * (/ 2) ^ (m + n) <= / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 <= / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)0 < / 2 * (/ 2) ^ (m + n)Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat + / 2 * (/ 2) ^ (m + n) + - (/ 2 * (/ 2) ^ (m + n)) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n) + - (/ 2 * (/ 2) ^ (m + n))Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum (m + n)%nat <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n) + - (/ 2 * (/ 2) ^ (m + n))Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m + (/ 2) ^ m - (/ 2) ^ (m + n) <= sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n) + - (/ 2 * (/ 2) ^ (m + n))Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsHi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> Rm, n:natIHn:sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)sum m + (/ 2) ^ m - (/ 2) ^ (m + n) = sum m + (/ 2) ^ m - / 2 * (/ 2) ^ (m + n) + - (/ 2 * (/ 2) ^ (m + n))Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)N:nat0 <= sum N <= 1 - (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)N:natsum 0%nat <= sum (0 + N)%nat <= sum 0%nat + (/ 2) ^ 0 - (/ 2) ^ (0 + N) -> 0 <= sum N <= 1 - (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)N:nat0 <= sum N <= 0 + 1 - (/ 2) ^ N -> 0 <= sum N <= 1 - (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nbound (fun x : R => exists n : nat, x = sum n)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nis_upper_bound (fun x : R => exists n : nat, x = sum n) 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m n0 : nat, sum m <= sum (m + n0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0x:Rn:natH1:x = sum nx <= 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m n0 : nat, sum m <= sum (m + n0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0x:Rn:natH1:x = sum nsum n <= 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m n0 : nat, sum m <= sum (m + n0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0x:Rn:natH1:x = sum n1 - (/ 2) ^ n <= 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m n0 : nat, sum m <= sum (m + n0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0x:Rn:natH1:x = sum n1 - (/ 2) ^ n < 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m n0 : nat, sum m <= sum (m + n0)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0x:Rn:natH1:x = sum n(/ 2) ^ n - 1 + (1 - (/ 2) ^ n) < (/ 2) ^ n - 1 + 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists (x : R) (n : nat), x = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m n : nat, sum m <= sum (m + n)%nat <= sum m + (/ 2) ^ m - (/ 2) ^ (m + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nexists n : nat, 0 = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m < 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m < 00 <= mUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m < 0exists n : nat, 0 = sum nUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0forall n : nat, sum n = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0n:natsum n = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:Rn:natHm1:sum n <= mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0sum n = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:Rn:natHm1:sum n <= mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0sum n <= 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0forall n : nat, Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natUn n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natsum (S n) = sum (S n) -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natsum n + (if test n then / 2 * (/ 2) ^ n else 0) = sum (S n) -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:nat(if test n then / 2 * (/ 2) ^ n else 0) = 0 -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:nat(if if Rle_lt_dec (Un n) (l - eps) then false else true then / 2 * (/ 2) ^ n else 0) = 0 -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natr:Un n <= l - eps0 = 0 -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natr:l - eps < Un n/ 2 * (/ 2) ^ n = 0 -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natr:l - eps < Un n/ 2 * (/ 2) ^ n = 0 -> Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natr:l - eps < Un nH':/ 2 * (/ 2) ^ n = 0Un n <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:m = 0Hs0:forall n0 : nat, sum n0 = 0n:natr:l - eps < Un nH':/ 2 * (/ 2) ^ n = 0/ 2 * (/ 2) ^ n > 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:m = 0Hs0:forall n : nat, sum n = 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:is_lub EUn leps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsis_upper_bound EUn (l - eps)Un:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsl - eps < lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n0 : nat, Un n0 <= l - epsx:Rn:natH1:x = Un nx <= l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsl - eps < lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epsl - eps < lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> Rl:RH:forall b : R, is_upper_bound EUn b -> l <= beps:RHeps:eps > 0Hub:forall n : nat, Un n <= l - epseps - l + (l - eps) < eps - l + lUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mexists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mRabs (/ 2) < 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m/ 2 < 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m/ 2 < / 1Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 < 1 * 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m1 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m1 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m1 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 <= / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 < / 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < m0 < 2Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1exists N : nat, Un N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mexists N0 : nat, Un N0 > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mUn N > l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < m~ Un N <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - epsFalseUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - epsm <= Rabs ((/ 2) ^ N)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - epsm <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - eps0 <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - epsm <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n : nat, 0 < (/ 2) ^ ntest:=fun n : nat => if Rle_lt_dec (Un n) (l - eps) then false else true:nat -> boolsum:=let fix aux (n : nat) : R := match n with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n else 0) end in aux:nat -> RHsum':forall m0 n : nat, sum m0 <= sum (m0 + n)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n)Hsum:forall n : nat, 0 <= sum n <= 1 - (/ 2) ^ nm:RHm1:is_upper_bound (fun x : R => exists n : nat, x = sum n) mHm2:forall b : R, is_upper_bound (fun x : R => exists n : nat, x = sum n) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n : nat, (n >= N)%nat -> Rabs ((/ 2) ^ n) < mH5:Un N <= l - epsis_upper_bound (fun x : R => exists n : nat, x = sum n) ((/ 2) ^ N)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x0 : R => exists n0 : nat, x0 = sum n0) mHm2:forall b : R, is_upper_bound (fun x0 : R => exists n0 : nat, x0 = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsx:Rn:natH6:x = sum nx <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x0 : R => exists n0 : nat, x0 = sum n0) mHm2:forall b : R, is_upper_bound (fun x0 : R => exists n0 : nat, x0 = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsx:Rn:natH6:x = sum nsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natsum N = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un N <= l - epsn:natsum N = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1H5:Un 0 <= l - epsn:natsum 0%nat = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0sum (S N) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0sum (S N) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0sum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0Un N <= l - epsUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epssum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0Un N <= Un (S N)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epssum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0Un (S N) >= Un NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epssum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0(S N >= N)%natUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epssum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epssum N + (if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - eps(if test N then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - eps(if if Rle_lt_dec (Un N) (l - eps) then false else true then / 2 * (/ 2) ^ N else 0) = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6, Hle:Un N <= l - eps0 = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epsHlt:l - eps < Un N/ 2 * (/ 2) ^ N = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH5:Un (S N) <= l - epsn:natIHN:Un N <= l - eps -> sum N = 0H6:Un N <= l - epsHlt:l - eps < Un N/ 2 * (/ 2) ^ N = 0Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0sum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natsum (N + (n - N))%nat <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natsum N + (/ 2) ^ N - (/ 2) ^ (N + (n - N)) <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%nat(/ 2) ^ N - (/ 2) ^ (N + (n - N)) <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natk:=(N + (n - N))%nat:nat(/ 2) ^ N - (/ 2) ^ k <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natk:=(N + (n - N))%nat:nat(/ 2) ^ N - (/ 2) ^ k < (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(N <= n)%natk:=(N + (n - N))%nat:nat(/ 2) ^ k - (/ 2) ^ N + ((/ 2) ^ N - (/ 2) ^ k) < (/ 2) ^ k - (/ 2) ^ N + (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= sum NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum N <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= sum (S n + (N - S n))%natUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum N <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum n <= sum (n + S (N - S n))%natUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum N <= (/ 2) ^ NUn:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%natsum N <= (/ 2) ^ Nnow apply Rlt_le. Qed. (*********)Un:nat -> RHug:Un_growingl:RH:is_lub EUn leps:RHeps:eps > 0Hi2pn:forall n0 : nat, 0 < (/ 2) ^ n0test:=fun n0 : nat => if Rle_lt_dec (Un n0) (l - eps) then false else true:nat -> boolsum:=let fix aux (n0 : nat) : R := match n0 with | 0%nat => 0 | S n' => aux n' + (if test n' then (/ 2) ^ n0 else 0) end in aux:nat -> RHsum':forall m0 n0 : nat, sum m0 <= sum (m0 + n0)%nat <= sum m0 + (/ 2) ^ m0 - (/ 2) ^ (m0 + n0)Hsum:forall n0 : nat, 0 <= sum n0 <= 1 - (/ 2) ^ n0m:RHm1:is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) mHm2:forall b : R, is_upper_bound (fun x : R => exists n0 : nat, x = sum n0) b -> m <= bHm:0 < mH0:Rabs (/ 2) < 1N:natH4:forall n0 : nat, (n0 >= N)%nat -> Rabs ((/ 2) ^ n0) < mH5:Un N <= l - epsn:natHs:sum N = 0Hn:(n < N)%nat0 <= (/ 2) ^ NUn:nat -> RUn_growing -> bound EUn -> exists l : R, Un_cv lUn:nat -> RUn_growing -> bound EUn -> exists l : R, Un_cv lUn:nat -> RHug:Un_growingHeub:bound EUnexists l : R, Un_cv lUn:nat -> RHug:Un_growingHeub:bound EUnUn_cv (proj1_sig (completeness EUn Heub EUn_noempty))now apply Un_cv_crit_lub. Qed. (*********)Un:nat -> RHug:Un_growingHeub:bound EUnl:RH:is_lub EUn lUn_cv (proj1_sig (exist (fun m : R => is_lub EUn m) l H))Un:nat -> Rforall N : nat, exists M : R, forall n : nat, (n <= N)%nat -> Un n <= MUn:nat -> Rforall N : nat, exists M : R, forall n : nat, (n <= N)%nat -> Un n <= MUn:nat -> Rexists M : R, forall n : nat, (n <= 0)%nat -> Un n <= MUn:nat -> RN:natHrecN:exists M : R, forall n : nat, (n <= N)%nat -> Un n <= Mexists M : R, forall n : nat, (n <= S N)%nat -> Un n <= MUn:nat -> RN:natHrecN:exists M : R, forall n : nat, (n <= N)%nat -> Un n <= Mexists M : R, forall n : nat, (n <= S N)%nat -> Un n <= MUn:nat -> RN:natx:RH:forall n0 : nat, (n0 <= N)%nat -> Un n0 <= xn:natH0:(n <= S N)%natH2:Un n <= Un (S N) \/ Un n <= x -> Un n <= Rmax (Un (S N)) xH1:n = S NUn (S N) <= Rmax (Un (S N)) xUn:nat -> RN:natx:RH:forall n0 : nat, (n0 <= N)%nat -> Un n0 <= xn:natH0:(n <= S N)%natH2:Un n <= Un (S N) \/ Un n <= x -> Un n <= Rmax (Un (S N)) xm:natH3:(n <= N)%natH1:m = NUn n <= Rmax (Un (S N)) xapply (H2 (or_intror (Un n <= Un (S N)) (H n H3))). Qed. (*********)Un:nat -> RN:natx:RH:forall n0 : nat, (n0 <= N)%nat -> Un n0 <= xn:natH0:(n <= S N)%natH2:Un n <= Un (S N) \/ Un n <= x -> Un n <= Rmax (Un (S N)) xm:natH3:(n <= N)%natH1:m = NUn n <= Rmax (Un (S N)) xUn:nat -> RCauchy_crit -> bound EUnUn:nat -> RCauchy_crit -> bound EUnUn:nat -> Rx:natH0:forall m : nat, (x >= x)%nat -> (m >= x)%nat -> R_dist (Un x) (Un m) < 1x0:RH2:forall n : nat, (n <= x)%nat -> Un n <= x0x1:Rx2:natH:x1 = Un x2y:(x <= x2)%natx1 <= Rmax x0 (Un x + 1)Un:nat -> Rx:natH0:forall m : nat, (x >= x)%nat -> (m >= x)%nat -> R_dist (Un x) (Un m) < 1x0:RH2:forall n : nat, (n <= x)%nat -> Un n <= x0x1:Rx2:natH:x1 = Un x2y:(x2 <= x)%natx1 <= Rmax x0 (Un x + 1)generalize (H2 x2 y); clear H2 H0; intro; rewrite <- H in H0; elim (Rmax_Rle x0 (Un x + 1) x1); intros; clear H1; apply H2; left; assumption. Qed. End sequence. (*****************************************************************)Un:nat -> Rx:natH0:forall m : nat, (x >= x)%nat -> (m >= x)%nat -> R_dist (Un x) (Un m) < 1x0:RH2:forall n : nat, (n <= x)%nat -> Un n <= x0x1:Rx2:natH:x1 = Un x2y:(x2 <= x)%natx1 <= Rmax x0 (Un x + 1)
(* *) (*****************************************************************) Section Isequence. (*********) Variable An : nat -> R. (*********) Definition Pser (x l:R) : Prop := infinite_sum (fun n:nat => An n * x ^ n) l. End Isequence.forall x : R, Rabs x < 1 -> Pser (fun _ : nat => 1) x (/ (1 - x))forall x : R, Rabs x < 1 -> Pser (fun _ : nat => 1) x (/ (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0x = 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%natsum_f_R0 (fun n0 : nat => 1 * 0 ^ n0) n = 1 -> R_dist (sum_f_R0 (fun n0 : nat => 1 * 0 ^ n0) n) 1 < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%natsum_f_R0 (fun n0 : nat => 1 * 0 ^ n0) n = 1x:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%natsum_f_R0 (fun n0 : nat => 1 * 0 ^ n0) n = 1x:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%nat1 * 1 = 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%natforall n0 : nat, sum_f_R0 (fun n1 : nat => 1 * 0 ^ n1) n0 = 1 -> sum_f_R0 (fun n1 : nat => 1 * 0 ^ n1) n0 + 1 * (0 * 0 ^ n0) = 1x:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x = 0n:natH2:(n >= 0)%natforall n0 : nat, sum_f_R0 (fun n1 : nat => 1 * 0 ^ n1) n0 = 1 -> sum_f_R0 (fun n1 : nat => 1 * 0 ^ n1) n0 + 1 * (0 * 0 ^ n0) = 1x:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0x <> 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x)) -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n -> R_dist (sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n) (/ (1 - x)) < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n0 < Rabs (1 - x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n1 <> xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n1 < x \/ 1 > xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx <= Rabs xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs (1 - x) * R_dist (sum_f_R0 (fun n0 : nat => x ^ n0) n) (/ (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs ((1 - x) * (sum_f_R0 (fun n0 : nat => x ^ n0) n - / (1 - x))) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nRabs ((1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n - (1 - x) * / (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1)) -> Rabs ((1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n - (1 - x) * / (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))Rabs (- (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1)) - (1 - x) * / (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))Rabs (- (x ^ (n + 1) - 1) - (1 - x) * / (1 - x)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))Rabs (- (x ^ (n + 1) - 1) - 1) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1) -> Rabs (- (x ^ (n + 1) - 1) - 1) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)Rabs (- x ^ (n + 1)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S n -> Rabs (x ^ (n + 1)) < Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * Rabs (x ^ n) < Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x)))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S n0 < Rabs xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs (x ^ n) < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nx <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs (x ^ n) < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs (x ^ n) < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x)) -> Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))Rabs 1 * (eps * Rabs (1 - x)) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))1 * (eps * Rabs (1 - x)) = Rabs (1 - x) * eps -> 1 * (eps * Rabs (1 - x)) <= Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))1 * (eps * Rabs (1 - x)) = Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))1 * (eps * Rabs (1 - x)) = Rabs (1 - x) * epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:Rabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)H8:(n + 1)%nat = S nRabs x * (eps * (Rabs (1 - x) * Rabs (/ x))) = Rabs x * Rabs (/ x) * (eps * Rabs (1 - x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))H7:- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)(n + 1)%nat = S nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))- (x ^ (n + 1) - 1) - 1 = - x ^ (n + 1)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 <> xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))1 < x \/ 1 > xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x <= Rabs xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))Rabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nH6:(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))Rabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natH5:sum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) n(1 - x) * sum_f_R0 (fun n0 : nat => x ^ n0) n = - (sum_f_R0 (fun n0 : nat => x ^ n0) n * (x - 1))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natsum_f_R0 (fun n0 : nat => 1 * x ^ n0) n = sum_f_R0 (fun n0 : nat => x ^ n0) nx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%nat1 * 1 = 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natforall n0 : nat, sum_f_R0 (fun n1 : nat => 1 * x ^ n1) n0 = sum_f_R0 (fun n1 : nat => x ^ n1) n0 -> sum_f_R0 (fun n1 : nat => 1 * x ^ n1) n0 + 1 * (x * x ^ n0) = sum_f_R0 (fun n1 : nat => x ^ n1) n0 + x * x ^ n0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n0 : nat, (n0 >= N)%nat -> Rabs (x ^ n0) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natforall n0 : nat, sum_f_R0 (fun n1 : nat => 1 * x ^ n1) n0 = sum_f_R0 (fun n1 : nat => x ^ n1) n0 -> sum_f_R0 (fun n1 : nat => 1 * x ^ n1) n0 + 1 * (x * x ^ n0) = sum_f_R0 (fun n1 : nat => x ^ n1) n0 + x * x ^ n0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0H2:0 < eps * (Rabs (1 - x) * Rabs (/ x))N:natH3:forall n1 : nat, (n1 >= N)%nat -> Rabs (x ^ n1) < eps * (Rabs (1 - x) * Rabs (/ x))n:natH4:(n >= N)%natn0:natH5:sum_f_R0 (fun n1 : nat => 1 * x ^ n1) n0 = sum_f_R0 (fun n1 : nat => x ^ n1) n0sum_f_R0 (fun n1 : nat => x ^ n1) n0 + 1 * (x * x ^ n0) = sum_f_R0 (fun n1 : nat => x ^ n1) n0 + x * x ^ n0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < eps * (Rabs (1 - x) * Rabs (/ x))x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < epsx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (1 - x) * Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (1 - x) * Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (1 - x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 01 - x <> 0x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 01 <> xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 01 < x \/ 1 > xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0x <= Rabs xx:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0Rabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0Rabs x < 1x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 00 < Rabs (/ x)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0/ x <> 0assumption. Qed. (* Convergence is preserved after shifting the indices. *)x:RH:Rabs x < 1eps:RH0:eps > 0H1:x <> 0x <> 0forall (f : nat -> R) (k : nat) (l : R), Un_cv (fun n : nat => f (n + k)%nat) l -> Un_cv f lf':nat -> Rk:natl:Rcvfk:Un_cv (fun n : nat => f' (n + k)%nat) leps:Rep:eps > 0N:natPn:forall n : nat, (n >= N)%nat -> R_dist (f' (n + k)%nat) l < epsexists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (f' n) l < epsf':nat -> Rk:natl:Rcvfk:Un_cv (fun n0 : nat => f' (n0 + k)%nat) leps:Rep:eps > 0N:natPn:forall n0 : nat, (n0 >= N)%nat -> R_dist (f' (n0 + k)%nat) l < epsn:natnN:(n >= N + k)%natn = (n - k + k)%natf':nat -> Rk:natl:Rcvfk:Un_cv (fun n0 : nat => f' (n0 + k)%nat) leps:Rep:eps > 0N:natPn:forall n0 : nat, (n0 >= N)%nat -> R_dist (f' (n0 + k)%nat) l < epsn:natnN:(n >= N + k)%nattmp:n = (n - k + k)%natR_dist (f' n) l < epsrewrite tmp; apply Pn; apply Nat.le_add_le_sub_r; assumption. Qed.f':nat -> Rk:natl:Rcvfk:Un_cv (fun n0 : nat => f' (n0 + k)%nat) leps:Rep:eps > 0N:natPn:forall n0 : nat, (n0 >= N)%nat -> R_dist (f' (n0 + k)%nat) l < epsn:natnN:(n >= N + k)%nattmp:n = (n - k + k)%natR_dist (f' n) l < epsforall (f : nat -> R) (k : nat) (l : R), Un_cv f l -> Un_cv (fun n : nat => f (n + k)%nat) lexists N; intros n nN; apply Pn; auto with arith. Qed. (* Growing property is preserved after shifting the indices (one way only) *)f':nat -> Rk:natl:Rcvf:Un_cv f' leps:Rep:eps > 0N:natPn:forall n : nat, (n >= N)%nat -> R_dist (f' n) l < epsexists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (f' (n + k)%nat) l < epsforall (k : nat) (un : nat -> R), Un_growing un -> Un_growing (fun n : nat => un (n + k)%nat)intros k un P n; apply P. Qed.forall (k : nat) (un : nat -> R), Un_growing un -> Un_growing (fun n : nat => un (n + k)%nat)