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 Rseries.
Require Import Rcomplete.
Require Import Max.
Local Open Scope R_scope.


forall (An : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N

forall (An : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N
An:nat -> R
H:forall n : nat, (n <= 0)%nat -> 0 < An n

0 < sum_f_R0 An 0
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> 0 < An n
HrecN:(forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N
0 < sum_f_R0 An (S N)
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> 0 < An n
HrecN:(forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N

0 < sum_f_R0 An (S N)
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> 0 < An n
HrecN:(forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N

0 < sum_f_R0 An N
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> 0 < An n
HrecN:(forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N
0 < An (S N)
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> 0 < An n
HrecN:(forall n : nat, (n <= N)%nat -> 0 < An n) -> 0 < sum_f_R0 An N

0 < An (S N)
apply H; apply le_n. Qed. (* Chasles' relation *)

forall (An : nat -> R) (m n : nat), (m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)

forall (An : nat -> R) (m n : nat), (m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
An:nat -> R
m:nat
H:(m < 0)%nat

sum_f_R0 An 0 = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (0 - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)

sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)

(m < n)%nat \/ m = n -> sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An n + An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An n + An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S (n - S m))
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An n + An (S n) = sum_f_R0 An m + (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + An (S m + S (n - S m))%nat)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An n + An (S n) = sum_f_R0 An m + (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + An (S n))
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S n = (S m + S (n - S m))%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + An (S n) = sum_f_R0 An m + (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + An (S n))
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S n = (S m + S (n - S m))%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

S n = (S m + S (n - S m))%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

INR n + 1 = INR m + 1 + (INR n - INR (S m) + 1)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
(S m <= n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

(S m <= n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

S (n - S m) = (S n - S m)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

INR n - INR (S m) + 1 = INR (S n) - INR (S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
(S m <= S n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
(S m <= n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

(S m <= S n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat
(S m <= n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:(m < n)%nat

(S m <= n)%nat
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n
sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n

sum_f_R0 An (S n) = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (S n - S m)
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H0:(m < n)%nat \/ m = n
H1:m = n

sum_f_R0 An n + An (S n) = sum_f_R0 An n + An (S (n + 0))
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)

(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
H1:m = n

(n < n)%nat \/ n = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
m0:nat
H1:(S m <= n)%nat
H0:m0 = n
(m < n)%nat \/ m = n
An:nat -> R
m, n:nat
H:(m < S n)%nat
Hrecn:(m < n)%nat -> sum_f_R0 An n = sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)
m0:nat
H1:(S m <= n)%nat
H0:m0 = n

(m < n)%nat \/ m = n
left; apply lt_le_trans with (S m); [ apply lt_n_Sn | assumption ]. Qed. (* Sum of geometric sequences *)

forall (k : R) (N : nat), k <> 1 -> sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

forall (k : R) (N : nat), k <> 1 -> sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
k:R
N:nat
H:k <> 1

1 - k <> 0 -> sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
H:k <> 1
H0:1 - k <> 0

sum_f_R0 (fun i : nat => k ^ i) 0 = (1 - k ^ 1) / (1 - k)
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
sum_f_R0 (fun i : nat => k ^ i) (S N) = (1 - k ^ S (S N)) / (1 - k)
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
H:k <> 1
H0:1 - k <> 0

1 = 1
k:R
H:k <> 1
H0:1 - k <> 0
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
sum_f_R0 (fun i : nat => k ^ i) (S N) = (1 - k ^ S (S N)) / (1 - k)
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
H:k <> 1
H0:1 - k <> 0

1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
sum_f_R0 (fun i : nat => k ^ i) (S N) = (1 - k ^ S (S N)) / (1 - k)
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

sum_f_R0 (fun i : nat => k ^ i) (S N) = (1 - k ^ S (S N)) / (1 - k)
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

(1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k) = (1 - k ^ S (S N)) / (1 - k)
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
(1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k) = (1 - k ^ S N) / (1 - k) + k ^ S N
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

(1 - k) * ((1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k)) = (1 - k) * ((1 - k ^ S (S N)) / (1 - k))
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
(1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k) = (1 - k ^ S N) / (1 - k) + k ^ S N
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
(1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k) = (1 - k ^ S N) / (1 - k) + k ^ S N
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

(1 - k ^ S N + (1 - k) * k ^ S N) / (1 - k) = (1 - k ^ S N) / (1 - k) + k ^ S N
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

(1 - k ^ S N) * / (1 - k) + k ^ S N * 1 = (1 - k ^ S N) * / (1 - k) + k ^ S N
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)
1 - k <> 0
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1
H0:1 - k <> 0
HrecN:sum_f_R0 (fun i : nat => k ^ i) N = (1 - k ^ S N) / (1 - k)

1 - k <> 0
k:R
N:nat
H:k <> 1
1 - k <> 0
k:R
N:nat
H:k <> 1

1 - k <> 0
apply Rminus_eq_contra; red; intro; elim H; symmetry ; assumption. Qed.

forall (An : nat -> R) (k : R) (N : nat), 0 <= k -> (forall i : nat, An (S i) < k * An i) -> An N <= An 0%nat * k ^ N

forall (An : nat -> R) (k : R) (N : nat), 0 <= k -> (forall i : nat, An (S i) < k * An i) -> An N <= An 0%nat * k ^ N
An:nat -> R
k:R
H:0 <= k
H0:forall i : nat, An (S i) < k * An i

An 0%nat <= An 0%nat * k ^ 0
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N
An (S N) <= An 0%nat * k ^ S N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

An (S N) <= An 0%nat * k ^ S N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

An (S N) <= k * An N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N
k * An N <= An 0%nat * k ^ S N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

k * An N <= An 0%nat * k ^ S N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

k * An N <= An 0%nat * k ^ (N + 1)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

0 <= k
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N
An N <= An 0%nat * k ^ N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:An N <= An 0%nat * k ^ N

An N <= An 0%nat * k ^ N
apply HrecN. Qed.

forall (An : nat -> R) (N : nat), sum_f_R0 An (S N) = sum_f_R0 An N + An (S N)

forall (An : nat -> R) (N : nat), sum_f_R0 An (S N) = sum_f_R0 An N + An (S N)
intros; reflexivity. Qed.

forall (An : nat -> R) (k : R) (N : nat), 0 <= k -> (forall i : nat, An (S i) < k * An i) -> sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

forall (An : nat -> R) (k : R) (N : nat), 0 <= k -> (forall i : nat, An (S i) < k * An i) -> sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N
An:nat -> R
k:R
H:0 <= k
H0:forall i : nat, An (S i) < k * An i

sum_f_R0 An 0 <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) 0
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N
sum_f_R0 An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

sum_f_R0 An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

sum_f_R0 An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N + An (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N
An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N + An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N
An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N + An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N + An (S N) <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) (S N)
An:nat -> R
k:R
N:nat
H:0 <= k
H0:forall i : nat, An (S i) < k * An i
HrecN:sum_f_R0 An N <= An 0%nat * sum_f_R0 (fun i : nat => k ^ i) N

An (S N) <= An 0%nat * k ^ S N
apply tech4; assumption. Qed.

forall r1 r2 : R, r1 <> 0 -> r2 <> 0 -> r1 <> r2 -> / r1 <> / r2

forall r1 r2 : R, r1 <> 0 -> r2 <> 0 -> r1 <> r2 -> / r1 <> / r2
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2

False
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2
H3:r1 * / r1 = r1 * / r2

False
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2
H3:1 = r1 * / r2

False
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2
H3:1 = r1 * / r2
H4:r2 * 1 = r2 * (r1 * / r2)

False
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2
H3:1 = r1 * / r2
H4:r2 = r2 * r1 * / r2

False
r1, r2:R
H:r1 <> 0
H0:r2 <> 0
H1:r1 <> r2
H2:/ r1 = / r2
H3:1 = r1 * / r2
H4:r2 = r1

False
elim H1; symmetry ; assumption. Qed.

forall (An Bn Cn : nat -> R) (N : nat), (forall i : nat, An i = Bn i - Cn i) -> sum_f_R0 An N = sum_f_R0 Bn N - sum_f_R0 Cn N

forall (An Bn Cn : nat -> R) (N : nat), (forall i : nat, An i = Bn i - Cn i) -> sum_f_R0 An N = sum_f_R0 Bn N - sum_f_R0 Cn N
An, Bn, Cn:nat -> R
H:forall i : nat, An i = Bn i - Cn i

sum_f_R0 An 0 = sum_f_R0 Bn 0 - sum_f_R0 Cn 0
An, Bn, Cn:nat -> R
N:nat
H:forall i : nat, An i = Bn i - Cn i
HrecN:sum_f_R0 An N = sum_f_R0 Bn N - sum_f_R0 Cn N
sum_f_R0 An (S N) = sum_f_R0 Bn (S N) - sum_f_R0 Cn (S N)
An, Bn, Cn:nat -> R
N:nat
H:forall i : nat, An i = Bn i - Cn i
HrecN:sum_f_R0 An N = sum_f_R0 Bn N - sum_f_R0 Cn N

sum_f_R0 An (S N) = sum_f_R0 Bn (S N) - sum_f_R0 Cn (S N)
do 3 rewrite tech5; rewrite HrecN; rewrite (H (S N)); ring. Qed.

forall (An : nat -> R) (x l : R), Un_cv (fun N : nat => sum_f_R0 (fun i : nat => An i * x ^ i) N) l -> Pser An x l

forall (An : nat -> R) (x l : R), Un_cv (fun N : nat => sum_f_R0 (fun i : nat => An i * x ^ i) N) l -> Pser An x l
intros; unfold Pser; unfold infinite_sum; unfold Un_cv in H; assumption. Qed.

forall (An : nat -> R) (N : nat) (x : R), x * sum_f_R0 An N = sum_f_R0 (fun i : nat => An i * x) N

forall (An : nat -> R) (N : nat) (x : R), x * sum_f_R0 An N = sum_f_R0 (fun i : nat => An i * x) N
An:nat -> R
x:R

x * sum_f_R0 An 0 = sum_f_R0 (fun i : nat => An i * x) 0
An:nat -> R
N:nat
x:R
HrecN:x * sum_f_R0 An N = sum_f_R0 (fun i : nat => An i * x) N
x * sum_f_R0 An (S N) = sum_f_R0 (fun i : nat => An i * x) (S N)
An:nat -> R
N:nat
x:R
HrecN:x * sum_f_R0 An N = sum_f_R0 (fun i : nat => An i * x) N

x * sum_f_R0 An (S N) = sum_f_R0 (fun i : nat => An i * x) (S N)
An:nat -> R
N:nat
x:R
HrecN:x * sum_f_R0 An N = sum_f_R0 (fun i : nat => An i * x) N

x * (sum_f_R0 An N + An (S N)) = sum_f_R0 (fun i : nat => An i * x) N + An (S N) * x
rewrite Rmult_plus_distr_l; rewrite <- HrecN; ring. Qed.

forall (An : nat -> R) (N : nat), (0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)

forall (An : nat -> R) (N : nat), (0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
An:nat -> R
H:(0 < 0)%nat

sum_f_R0 An 0 = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred 0)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)

sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)

(0 < N)%nat \/ N = 0%nat -> sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat

sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat

S (Init.Nat.pred N) = Init.Nat.pred (S N) -> sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
H2:S (Init.Nat.pred N) = Init.Nat.pred (S N)

sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (S (Init.Nat.pred N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
H2:S (Init.Nat.pred N) = Init.Nat.pred (S N)

sum_f_R0 An N + An (S N) = An 0%nat + (sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N) + An (S (S (Init.Nat.pred N))))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
H2:S (Init.Nat.pred N) = Init.Nat.pred (S N)

sum_f_R0 An N + An (S N) = An 0%nat + (sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N) + An (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
H2:S (Init.Nat.pred N) = Init.Nat.pred (S N)
S N = S (S (Init.Nat.pred N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
H2:S (Init.Nat.pred N) = Init.Nat.pred (S N)

S N = S (S (Init.Nat.pred N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat
S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:(0 < N)%nat

S (Init.Nat.pred N) = Init.Nat.pred (S N)
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
m:nat
H1:(0 < S m)%nat
H0:(0 < S m)%nat \/ S m = 0%nat
HrecN:(0 < S m)%nat -> sum_f_R0 An (S m) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S m))
H:(0 < S (S m))%nat

S (Init.Nat.pred (S m)) = Init.Nat.pred (S (S m))
An:nat -> R
H1:(0 < 0)%nat
H0:(0 < 0)%nat \/ 0%nat = 0%nat
HrecN:(0 < 0)%nat -> sum_f_R0 An 0 = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred 0)
H:(0 < 1)%nat
S (Init.Nat.pred 0) = Init.Nat.pred 1
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
H1:(0 < 0)%nat
H0:(0 < 0)%nat \/ 0%nat = 0%nat
HrecN:(0 < 0)%nat -> sum_f_R0 An 0 = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred 0)
H:(0 < 1)%nat

S (Init.Nat.pred 0) = Init.Nat.pred 1
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat
sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H0:(0 < N)%nat \/ N = 0%nat
H1:N = 0%nat

sum_f_R0 An (S N) = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred (S N))
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)

(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
H1:0%nat = N

(0 < 0)%nat \/ 0%nat = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
m:nat
H1:(1 <= N)%nat
H0:m = N
(0 < N)%nat \/ N = 0%nat
An:nat -> R
N:nat
H:(0 < S N)%nat
HrecN:(0 < N)%nat -> sum_f_R0 An N = An 0%nat + sum_f_R0 (fun i : nat => An (S i)) (Init.Nat.pred N)
m:nat
H1:(1 <= N)%nat
H0:m = N

(0 < N)%nat \/ N = 0%nat
left; apply lt_le_trans with 1%nat; [ apply lt_O_Sn | assumption ]. Qed.

forall (An Bn : nat -> R) (N : nat), sum_f_R0 (fun i : nat => An i + Bn i) N = sum_f_R0 An N + sum_f_R0 Bn N

forall (An Bn : nat -> R) (N : nat), sum_f_R0 (fun i : nat => An i + Bn i) N = sum_f_R0 An N + sum_f_R0 Bn N
An, Bn:nat -> R

sum_f_R0 (fun i : nat => An i + Bn i) 0 = sum_f_R0 An 0 + sum_f_R0 Bn 0
An, Bn:nat -> R
N:nat
HrecN:sum_f_R0 (fun i : nat => An i + Bn i) N = sum_f_R0 An N + sum_f_R0 Bn N
sum_f_R0 (fun i : nat => An i + Bn i) (S N) = sum_f_R0 An (S N) + sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
HrecN:sum_f_R0 (fun i : nat => An i + Bn i) N = sum_f_R0 An N + sum_f_R0 Bn N

sum_f_R0 (fun i : nat => An i + Bn i) (S N) = sum_f_R0 An (S N) + sum_f_R0 Bn (S N)
do 3 rewrite tech5; rewrite HrecN; ring. Qed.

forall (An Bn : nat -> R) (N : nat), (forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N

forall (An Bn : nat -> R) (N : nat), (forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N
An, Bn:nat -> R
H:forall i : nat, (i <= 0)%nat -> An i = Bn i

sum_f_R0 An 0 = sum_f_R0 Bn 0
An, Bn:nat -> R
N:nat
H:forall i : nat, (i <= S N)%nat -> An i = Bn i
HrecN:(forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N
sum_f_R0 An (S N) = sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall i : nat, (i <= S N)%nat -> An i = Bn i
HrecN:(forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N

sum_f_R0 An (S N) = sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall i : nat, (i <= S N)%nat -> An i = Bn i
HrecN:(forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N

sum_f_R0 Bn N + An (S N) = sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall i : nat, (i <= S N)%nat -> An i = Bn i
HrecN:(forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N
forall i : nat, (i <= N)%nat -> An i = Bn i
An, Bn:nat -> R
N:nat
H:forall i : nat, (i <= S N)%nat -> An i = Bn i
HrecN:(forall i : nat, (i <= N)%nat -> An i = Bn i) -> sum_f_R0 An N = sum_f_R0 Bn N

forall i : nat, (i <= N)%nat -> An i = Bn i
intros; apply H; apply le_trans with N; [ assumption | apply le_n_Sn ]. Qed. (* Unicity of the limit defined by convergent series *)

forall (An : nat -> R) (l1 l2 : R), infinite_sum An l1 -> infinite_sum An l2 -> l1 = l2

forall (An : nat -> R) (l1 l2 : R), infinite_sum An l1 -> infinite_sum An l2 -> l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 = l2

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat

(N >= x0)%nat -> l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat

(N >= x)%nat -> (N >= x0)%nat -> l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)

Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 -> l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2) * Rabs (/ 2) + Rabs (l1 - l2) * Rabs (/ 2)

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2) * Rabs (/ 2) + Rabs (l1 - l2) * Rabs (/ 2)

Rabs (/ 2) = / 2 -> l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2) * Rabs (/ 2) + Rabs (l1 - l2) * Rabs (/ 2)
Rabs (/ 2) = / 2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2)
H12:Rabs (/ 2) = / 2
H13:forall r1 : R, r1 = r1 * / 2 + r1 * / 2

l1 = l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2) * Rabs (/ 2) + Rabs (l1 - l2) * Rabs (/ 2)
Rabs (/ 2) = / 2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
H9:Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
H10:R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2) + Rabs ((l1 - l2) / 2)
H11:Rabs (l1 - l2) < Rabs (l1 - l2) * Rabs (/ 2) + Rabs (l1 - l2) * Rabs (/ 2)

Rabs (/ 2) = / 2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)
Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)

Rabs (l1 - l2) <= R_dist (sum_f_R0 An N) l1 + R_dist (sum_f_R0 An N) l2
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)

Rabs (l1 - l2) <= Rabs (l1 - sum_f_R0 An N) + Rabs (sum_f_R0 An N - l2)
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
H5:(N >= x)%nat
H6:(N >= x0)%nat
H7:R_dist (sum_f_R0 An N) l1 < Rabs ((l1 - l2) / 2)
H8:R_dist (sum_f_R0 An N) l2 < Rabs ((l1 - l2) / 2)

Rabs (l1 - sum_f_R0 An N + (sum_f_R0 An N - l2)) <= Rabs (l1 - sum_f_R0 An N) + Rabs (sum_f_R0 An N - l2)
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat

(N >= x)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat
(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
H2:0 < Rabs ((l1 - l2) / 2)
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l1 < Rabs ((l1 - l2) / 2)
x0:nat
H4:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) l2 < Rabs ((l1 - l2) / 2)
N:=Nat.max x0 x:nat

(N >= x0)%nat
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2

(l1 - l2) / 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2

l1 - l2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2
/ 2 <> 0
An:nat -> R
l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:l1 <> l2

/ 2 <> 0
apply Rinv_neq_0_compat; discrR. Qed.

forall (An Bn : nat -> R) (N : nat), sum_f_R0 (fun i : nat => An i - Bn i) N = sum_f_R0 An N - sum_f_R0 Bn N

forall (An Bn : nat -> R) (N : nat), sum_f_R0 (fun i : nat => An i - Bn i) N = sum_f_R0 An N - sum_f_R0 Bn N
An, Bn:nat -> R

sum_f_R0 (fun i : nat => An i - Bn i) 0 = sum_f_R0 An 0 - sum_f_R0 Bn 0
An, Bn:nat -> R
N:nat
HrecN:sum_f_R0 (fun i : nat => An i - Bn i) N = sum_f_R0 An N - sum_f_R0 Bn N
sum_f_R0 (fun i : nat => An i - Bn i) (S N) = sum_f_R0 An (S N) - sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
HrecN:sum_f_R0 (fun i : nat => An i - Bn i) N = sum_f_R0 An N - sum_f_R0 Bn N

sum_f_R0 (fun i : nat => An i - Bn i) (S N) = sum_f_R0 An (S N) - sum_f_R0 Bn (S N)
do 3 rewrite tech5; rewrite HrecN; ring. Qed.

forall (An : nat -> R) (N : nat), sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

forall (An : nat -> R) (N : nat), sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
An:nat -> R
N:nat

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
An:nat -> R

sum_f_R0 (fun l : nat => An (2 * l)%nat) 1 + sum_f_R0 (fun l : nat => An (S (2 * l))) 0 = sum_f_R0 An (2 * 1)
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
sum_f_R0 (fun l : nat => An (2 * l)%nat) (S (S N)) + sum_f_R0 (fun l : nat => An (S (2 * l))) (S N) = sum_f_R0 An (2 * S (S N))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S (S N)) + sum_f_R0 (fun l : nat => An (S (2 * l))) (S N) = sum_f_R0 An (2 * S (S N))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (2 * S (S N))%nat + sum_f_R0 (fun l : nat => An (S (2 * l))) (S N) = sum_f_R0 An (2 * S (S N))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (2 * S (S N))%nat + (sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N))) = sum_f_R0 An (2 * S (S N))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (S (S (2 * S N))) + (sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N))) = sum_f_R0 An (S (S (2 * S N)))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
S (S (2 * S N)) = (2 * S (S N))%nat
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (S (S (2 * S N))) + (sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N))) = sum_f_R0 An (S (2 * S N)) + An (S (S (2 * S N)))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
S (S (2 * S N)) = (2 * S (S N))%nat
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (S (S (2 * S N))) + (sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N))) = sum_f_R0 An (2 * S N) + An (S (2 * S N)) + An (S (S (2 * S N)))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
S (S (2 * S N)) = (2 * S (S N))%nat
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + An (S (S (2 * S N))) + (sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N))) = sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N + An (S (2 * S N)) + An (S (S (2 * S N)))
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)
S (S (2 * S N)) = (2 * S (S N))%nat
An:nat -> R
N:nat
HrecN:sum_f_R0 (fun l : nat => An (2 * l)%nat) (S N) + sum_f_R0 (fun l : nat => An (S (2 * l))) N = sum_f_R0 An (2 * S N)

S (S (2 * S N)) = (2 * S (S N))%nat
ring. Qed.

forall (An Bn : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

forall (An Bn : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= N)%nat -> An n <= Bn n

sum_f_R0 An N <= sum_f_R0 Bn N
An, Bn:nat -> R
H:forall n : nat, (n <= 0)%nat -> An n <= Bn n

sum_f_R0 An 0 <= sum_f_R0 Bn 0
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An (S N) <= sum_f_R0 Bn (S N)
An, Bn:nat -> R
H:forall n : nat, (n <= 0)%nat -> An n <= Bn n

(0 <= 0)%nat
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An (S N) <= sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An (S N) <= sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + An (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + An (S N) <= sum_f_R0 An N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

An (S N) <= Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

(S N <= S N)%nat
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

Bn (S N) + sum_f_R0 An N <= Bn (S N) + sum_f_R0 Bn N
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N <= sum_f_R0 Bn N
An, Bn:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n <= Bn n
HrecN:(forall n : nat, (n <= N)%nat -> An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

forall n : nat, (n <= N)%nat -> An n <= Bn n
An, Bn:nat -> R
N:nat
H:forall n0 : nat, (n0 <= S N)%nat -> An n0 <= Bn n0
HrecN:(forall n0 : nat, (n0 <= N)%nat -> An n0 <= Bn n0) -> sum_f_R0 An N <= sum_f_R0 Bn N
n:nat
H0:(n <= N)%nat

(n <= S N)%nat
apply le_trans with N; [ assumption | apply le_n_Sn ]. Qed.

forall (An : nat -> R) (N : nat), Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

forall (An : nat -> R) (N : nat), Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
An:nat -> R
N:nat

Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
An:nat -> R

Rabs (sum_f_R0 An 0) <= sum_f_R0 (fun l : nat => Rabs (An l)) 0
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) (S N)
An:nat -> R

Rabs (An 0%nat) <= Rabs (An 0%nat)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) (S N)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) (S N)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (sum_f_R0 An N + An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (sum_f_R0 An N + An (S N)) <= Rabs (sum_f_R0 An N) + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
Rabs (sum_f_R0 An N) + Rabs (An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (sum_f_R0 An N) + Rabs (An (S N)) <= sum_f_R0 (fun l : nat => Rabs (An l)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (An (S N)) + Rabs (sum_f_R0 An N) <= Rabs (An (S N)) + sum_f_R0 (fun l : nat => Rabs (An l)) N
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N

Rabs (sum_f_R0 An N) <= sum_f_R0 (fun l : nat => Rabs (An l)) N
apply HrecN. Qed.

forall (x : R) (N : nat), sum_f_R0 (fun _ : nat => x) N = x * INR (S N)

forall (x : R) (N : nat), sum_f_R0 (fun _ : nat => x) N = x * INR (S N)
x:R
N:nat

sum_f_R0 (fun _ : nat => x) N = x * INR (S N)
x:R

sum_f_R0 (fun _ : nat => x) 0 = x * INR 1
x:R
N:nat
HrecN:sum_f_R0 (fun _ : nat => x) N = x * INR (S N)
sum_f_R0 (fun _ : nat => x) (S N) = x * INR (S (S N))
x:R
N:nat
HrecN:sum_f_R0 (fun _ : nat => x) N = x * INR (S N)

sum_f_R0 (fun _ : nat => x) (S N) = x * INR (S (S N))
x:R
N:nat
HrecN:sum_f_R0 (fun _ : nat => x) N = x * INR (S N)

sum_f_R0 (fun _ : nat => x) N + x = x * INR (S (S N))
rewrite HrecN; repeat rewrite S_INR; ring. Qed. (**********)

forall (An Bn : nat -> R) (N : nat), (forall n : nat, An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N

forall (An Bn : nat -> R) (N : nat), (forall n : nat, An n <= Bn n) -> sum_f_R0 An N <= sum_f_R0 Bn N
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n

sum_f_R0 An N <= sum_f_R0 Bn N
An, Bn:nat -> R
H:forall n : nat, An n <= Bn n

sum_f_R0 An 0 <= sum_f_R0 Bn 0
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An (S N) <= sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An (S N) <= sum_f_R0 Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + An (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + An (S N) <= sum_f_R0 An N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N
sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N

sum_f_R0 An N + Bn (S N) <= sum_f_R0 Bn N + Bn (S N)
An, Bn:nat -> R
N:nat
H:forall n : nat, An n <= Bn n
HrecN:sum_f_R0 An N <= sum_f_R0 Bn N

Bn (S N) + sum_f_R0 An N <= Bn (S N) + sum_f_R0 Bn N
apply Rplus_le_compat_l; apply HrecN. Qed. (**********)

forall (An : nat -> R) (N : nat), Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

forall (An : nat -> R) (N : nat), Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N
An:nat -> R
N:nat

Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N
An:nat -> R

Rabs (sum_f_R0 An 0) <= sum_f_R0 (fun i : nat => Rabs (An i)) 0
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N
Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) (S N)
An:nat -> R

Rabs (An 0%nat) <= Rabs (An 0%nat)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N
Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) (S N)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

Rabs (sum_f_R0 An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) (S N)
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

Rabs (sum_f_R0 An N + An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

Rabs (sum_f_R0 An N + An (S N)) <= Rabs (sum_f_R0 An N) + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N
Rabs (sum_f_R0 An N) + Rabs (An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

Rabs (sum_f_R0 An N) + Rabs (An (S N)) <= sum_f_R0 (fun i : nat => Rabs (An i)) N + Rabs (An (S N))
An:nat -> R
N:nat
HrecN:Rabs (sum_f_R0 An N) <= sum_f_R0 (fun i : nat => Rabs (An i)) N

Rabs (An (S N)) + Rabs (sum_f_R0 An N) <= Rabs (An (S N)) + sum_f_R0 (fun i : nat => Rabs (An i)) N
apply Rplus_le_compat_l; apply HrecN. Qed. (**********)

forall (An : nat -> R) (N : nat), (forall n : nat, 0 <= An n) -> 0 <= sum_f_R0 An N

forall (An : nat -> R) (N : nat), (forall n : nat, 0 <= An n) -> 0 <= sum_f_R0 An N
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n

0 <= sum_f_R0 An N
An:nat -> R
H:forall n : nat, 0 <= An n

0 <= sum_f_R0 An 0
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N
0 <= sum_f_R0 An (S N)
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N

0 <= sum_f_R0 An (S N)
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N

0 <= sum_f_R0 An N + An (S N)
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N

0 <= sum_f_R0 An N
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N
0 <= An (S N)
An:nat -> R
N:nat
H:forall n : nat, 0 <= An n
HrecN:0 <= sum_f_R0 An N

0 <= An (S N)
apply H. Qed. (* Cauchy's criterion for series *) Definition Cauchy_crit_series (An:nat -> R) : Prop := Cauchy_crit (fun N:nat => sum_f_R0 An N). (* If (|An|) satisfies the Cauchy's criterion for series, then (An) too *)

forall An : nat -> R, Cauchy_crit_series (fun i : nat => Rabs (An i)) -> Cauchy_crit_series An

forall An : nat -> R, Cauchy_crit_series (fun i : nat => Rabs (An i)) -> Cauchy_crit_series An

forall An : nat -> R, (forall eps : R, eps > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps) -> forall eps : R, eps > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps0
eps:R
H0:eps > 0

exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m : nat, (n >= x)%nat -> (m >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps

exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m : nat, (n >= x)%nat -> (m >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps

forall n m : nat, (n >= x)%nat -> (m >= x)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
H4:R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)

R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
H4:R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
H4:R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
H4:R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)

R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m) < eps
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An n + sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An n + sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) n + sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 An n - (sum_f_R0 An n + sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n))) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) n - (sum_f_R0 (fun i : nat => Rabs (An i)) n + sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 An n + - (sum_f_R0 An n + sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n))) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) n + - (sum_f_R0 (fun i : nat => Rabs (An i)) n + sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 An n + (- sum_f_R0 An n + - sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n))) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) n + (- sum_f_R0 (fun i : nat => Rabs (An i)) n + - sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 An n + - sum_f_R0 An n + - sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) n + - sum_f_R0 (fun i : nat => Rabs (An i)) n + - sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (0 + - sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= Rabs (0 + - sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (- sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= Rabs (- sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

Rabs (sum_f_R0 (fun i : nat => An (S n + i)%nat) (m - S n)) <= sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
Bn:=fun i : nat => An (S n + i)%nat:nat -> R

Rabs (sum_f_R0 Bn (m - S n)) <= sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
Bn:=fun i : nat => An (S n + i)%nat:nat -> R

Rabs (sum_f_R0 Bn (m - S n)) <= sum_f_R0 (fun i : nat => Rabs (Bn i)) (m - S n)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
Bn:=fun i : nat => An (S n + i)%nat:nat -> R
(fun i : nat => Rabs (Bn i)) = (fun i : nat => Rabs (An (S n + i)%nat))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
Bn:=fun i : nat => An (S n + i)%nat:nat -> R

(fun i : nat => Rabs (Bn i)) = (fun i : nat => Rabs (An (S n + i)%nat))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat
sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

0 <= sum_f_R0 (fun i : nat => Rabs (An (S n + i)%nat)) (m - S n)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(n < m)%nat

forall n0 : nat, 0 <= Rabs (An (S n + n0)%nat)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat
R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat

R_dist (sum_f_R0 An m) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat

Rabs (sum_f_R0 An m - sum_f_R0 An m) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) m - sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n m0 : nat, (n >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n m0 : nat, (n >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
m:nat
H2, H3:(m >= x)%nat

Rabs 0 <= Rabs 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

R_dist (sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

R_dist (sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)) (sum_f_R0 An m) <= R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) m + sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m)) (sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) - sum_f_R0 An m) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) m + sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) - sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 An m + sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + - sum_f_R0 An m) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) m + sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + - sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 An m + (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + - sum_f_R0 An m)) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) m + (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + - sum_f_R0 (fun i : nat => Rabs (An i)) m))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + - sum_f_R0 An m + sum_f_R0 An m) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An i)) m + (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + - sum_f_R0 (fun i : nat => Rabs (An i)) m))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + - sum_f_R0 An m + sum_f_R0 An m) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + - sum_f_R0 (fun i : nat => Rabs (An i)) m + sum_f_R0 (fun i : nat => Rabs (An i)) m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + (- sum_f_R0 An m + sum_f_R0 An m)) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + (- sum_f_R0 (fun i : nat => Rabs (An i)) m + sum_f_R0 (fun i : nat => Rabs (An i)) m))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m) + 0) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) + 0)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)) <= Rabs (sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

Rabs (sum_f_R0 (fun i : nat => An (S m + i)%nat) (n - S m)) <= sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
Bn:=fun i : nat => An (S m + i)%nat:nat -> R

Rabs (sum_f_R0 Bn (n - S m)) <= sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
Bn:=fun i : nat => An (S m + i)%nat:nat -> R

Rabs (sum_f_R0 Bn (n - S m)) <= sum_f_R0 (fun i : nat => Rabs (Bn i)) (n - S m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
Bn:=fun i : nat => An (S m + i)%nat:nat -> R
(fun i : nat => Rabs (Bn i)) = (fun i : nat => Rabs (An (S m + i)%nat))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
Bn:=fun i : nat => An (S m + i)%nat:nat -> R

(fun i : nat => Rabs (Bn i)) = (fun i : nat => Rabs (An (S m + i)%nat))
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat
sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m) >= 0
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

0 <= sum_f_R0 (fun i : nat => Rabs (An (S m + i)%nat)) (n - S m)
An:nat -> R
H:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 m0 : nat, (n0 >= N)%nat -> (m0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps0
eps:R
H0:eps > 0
x:nat
H1:forall n0 m0 : nat, (n0 >= x)%nat -> (m0 >= x)%nat -> R_dist (sum_f_R0 (fun i : nat => Rabs (An i)) n0) (sum_f_R0 (fun i : nat => Rabs (An i)) m0) < eps
n, m:nat
H2:(n >= x)%nat
H3:(m >= x)%nat
l:(m < n)%nat

forall n0 : nat, 0 <= Rabs (An (S m + n0)%nat)
intro; apply Rabs_pos. Qed. (**********)

forall An : nat -> R, {l : R | Un_cv (fun N : nat => sum_f_R0 An N) l} -> Cauchy_crit_series An

forall An : nat -> R, {l : R | Un_cv (fun N : nat => sum_f_R0 An N) l} -> Cauchy_crit_series An
An:nat -> R
x:R
p:Un_cv (fun N : nat => sum_f_R0 An N) x

Cauchy_crit_series An
An:nat -> R
x:R
p:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps

Cauchy_crit_series An
An:nat -> R
x:R
p:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps

forall eps : R, eps > 0 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0

exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0

0 < eps / 2 -> exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2

exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) x < eps / 2

exists N : nat, forall n m : nat, (n >= N)%nat -> (m >= N)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n : nat, (n >= x0)%nat -> R_dist (sum_f_R0 An n) x < eps / 2

forall n m : nat, (n >= x0)%nat -> (m >= x0)%nat -> R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An n) (sum_f_R0 An m) <= R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

Rabs (sum_f_R0 An n - sum_f_R0 An m) <= Rabs (sum_f_R0 An n - x) + Rabs (sum_f_R0 An m - x)
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

Rabs (sum_f_R0 An n - x + - (sum_f_R0 An m - x)) <= Rabs (sum_f_R0 An n - x) + Rabs (sum_f_R0 An m - x)
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

Rabs (sum_f_R0 An n - x + - (sum_f_R0 An m - x)) <= Rabs (sum_f_R0 An n - x) + Rabs (- (sum_f_R0 An m - x))
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An n) x + R_dist (sum_f_R0 An m) x < eps / 2 + eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
eps / 2 + eps / 2 <= eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An n) x < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
R_dist (sum_f_R0 An m) x < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
eps / 2 + eps / 2 <= eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

R_dist (sum_f_R0 An m) x < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat
eps / 2 + eps / 2 <= eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 An n0) x < eps0
eps:R
H:eps > 0
H0:0 < eps / 2
x0:nat
H1:forall n0 : nat, (n0 >= x0)%nat -> R_dist (sum_f_R0 An n0) x < eps / 2
n, m:nat
H2:(n >= x0)%nat
H3:(m >= x0)%nat

eps / 2 + eps / 2 <= eps
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0
0 < eps / 2
An:nat -> R
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) x < eps0
eps:R
H:eps > 0

0 < eps / 2
unfold Rdiv; apply Rmult_lt_0_compat; [ assumption | apply Rinv_0_lt_compat; prove_sup0 ]. Qed.

forall An : nat -> R, Cauchy_crit_series An -> {l : R | Un_cv (fun N : nat => sum_f_R0 An N) l}

forall An : nat -> R, Cauchy_crit_series An -> {l : R | Un_cv (fun N : nat => sum_f_R0 An N) l}
An:nat -> R
H:Cauchy_crit_series An

{l : R | Un_cv (fun N : nat => sum_f_R0 An N) l}
An:nat -> R
H:Cauchy_crit_series An

Cauchy_crit (fun N : nat => sum_f_R0 An N)
An:nat -> R
H:Cauchy_crit (fun N : nat => sum_f_R0 An N)

Cauchy_crit (fun N : nat => sum_f_R0 An N)
exact H. Qed. (**********)

forall (An : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> An n = 0) -> sum_f_R0 An N = 0

forall (An : nat -> R) (N : nat), (forall n : nat, (n <= N)%nat -> An n = 0) -> sum_f_R0 An N = 0
An:nat -> R
H:forall n : nat, (n <= 0)%nat -> An n = 0

sum_f_R0 An 0 = 0
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n = 0
HrecN:(forall n : nat, (n <= N)%nat -> An n = 0) -> sum_f_R0 An N = 0
sum_f_R0 An (S N) = 0
An:nat -> R
N:nat
H:forall n : nat, (n <= S N)%nat -> An n = 0
HrecN:(forall n : nat, (n <= N)%nat -> An n = 0) -> sum_f_R0 An N = 0

sum_f_R0 An (S N) = 0
rewrite tech5; rewrite HrecN; [ rewrite Rplus_0_l; apply H; apply le_n | intros; apply H; apply le_trans with N; [ assumption | apply le_n_Sn ] ]. Qed. Definition SP (fn:nat -> R -> R) (N:nat) (x:R) : R := sum_f_R0 (fun k:nat => fn k x) N. (**********)

forall (An : nat -> R) (N : nat) (l : R), Un_cv (fun n : nat => sum_f_R0 An n) l -> (forall n : nat, 0 <= An n) -> sum_f_R0 An N <= l

forall (An : nat -> R) (N : nat) (l : R), Un_cv (fun n : nat => sum_f_R0 An n) l -> (forall n : nat, 0 <= An n) -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hlt:sum_f_R0 An N < l

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Heq:sum_f_R0 An N = l
sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Heq:sum_f_R0 An N = l

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l

Un_growing (fun n : nat => sum_f_R0 An n) -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)

0 < l1 - l -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat

(N0 >= x)%nat -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l

l1 <= sum_f_R0 An N0 -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0

sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0

sum_f_R0 An N0 < l1 -> sum_f_R0 An N <= l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 < l1
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0

sum_f_R0 An N0 < l1
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0

- l + sum_f_R0 An N0 < - l + l1
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:sum_f_R0 An N0 - l < l1 - l
H6:l1 <= sum_f_R0 An N0

sum_f_R0 An N0 + - l < l1 + - l
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0

sum_f_R0 An N0 - l >= 0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0

l + 0 <= l + (sum_f_R0 An N0 - l)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0

l <= l1
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:Rabs (sum_f_R0 An N0 - l) < l1 - l
H6:l1 <= sum_f_R0 An N0

l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l

l1 <= sum_f_R0 An N0
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l

Un_growing (fun k : nat => sum_f_R0 An k)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l
(N0 >= N)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
H4:(N0 >= x)%nat
H5:R_dist (sum_f_R0 An N0) l < l1 - l

(N0 >= N)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat
(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N1 : nat, forall n : nat, (n >= N1)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
H2:0 < l1 - l
x:nat
H3:forall n : nat, (n >= x)%nat -> R_dist (sum_f_R0 An n) l < l1 - l
N0:=Nat.max x N:nat

(N0 >= x)%nat
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)
0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l < eps
H0:forall n : nat, 0 <= An n
l1:=sum_f_R0 An N:R
Hgt:l1 > l
H1:Un_growing (fun n : nat => sum_f_R0 An n)

0 < l1 - l
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l
Un_growing (fun n : nat => sum_f_R0 An n)
An:nat -> R
N:nat
l:R
H:Un_cv (fun n : nat => sum_f_R0 An n) l
H0:forall n : nat, 0 <= An n
Hgt:sum_f_R0 An N > l

Un_growing (fun n : nat => sum_f_R0 An n)
unfold Un_growing; intro; simpl; pattern (sum_f_R0 An n) at 1; rewrite <- Rplus_0_r; apply Rplus_le_compat_l; apply H0. Qed. (**********)

forall (An : nat -> R) (fn : nat -> R -> R) (x l1 l2 : R), Un_cv (fun n : nat => SP fn n x) l1 -> Un_cv (fun n : nat => sum_f_R0 An n) l2 -> (forall n : nat, Rabs (fn n x) <= An n) -> Rabs l1 <= l2

forall (An : nat -> R) (fn : nat -> R -> R) (x l1 l2 : R), Un_cv (fun n : nat => SP fn n x) l1 -> Un_cv (fun n : nat => sum_f_R0 An n) l2 -> (forall n : nat, Rabs (fn n x) <= An n) -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hlt:Rabs l1 < l2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Heq:Rabs l1 = l2
Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Heq:Rabs l1 = l2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2

(forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0) -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0

0 < (Rabs l1 - l2) / 2 -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> R_dist (SP fn n x) l1 < (Rabs l1 - l2) / 2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> R_dist (SP fn n x) l1 < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> R_dist (sum_f_R0 An n) l2 < (Rabs l1 - l2) / 2

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> R_dist (SP fn n x) l1 < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> R_dist (sum_f_R0 An n) l2 < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat

Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2 -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2

Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2 -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2

sum_f_R0 An N < (Rabs l1 + l2) / 2 -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2

(Rabs l1 + l2) / 2 < Rabs (SP fn N x) -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
H9:(Rabs l1 + l2) / 2 < Rabs (SP fn N x)

sum_f_R0 An N < Rabs (SP fn N x) -> Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
H9:(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
sum_f_R0 An N < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
H9:(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
H10:sum_f_R0 An N < Rabs (SP fn N x)
H11:Rabs (SP fn N x) <= sum_f_R0 An N

Rabs l1 <= l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
H9:(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
sum_f_R0 An N < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
H9:(Rabs l1 + l2) / 2 < Rabs (SP fn N x)

sum_f_R0 An N < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2

(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

(Rabs l1 + l2) / 2 < Rabs l1
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

0 < 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
2 * ((Rabs l1 + l2) / 2) < 2 * Rabs l1
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

2 * ((Rabs l1 + l2) / 2) < 2 * Rabs l1
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

(Rabs l1 + l2) * 1 < 2 * Rabs l1
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
2 <> 0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

2 <> 0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0
Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hlt:Rabs l1 - Rabs (SP fn N x) < 0

Rabs l1 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0

(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0

(Rabs l1 + l2) / 2 < Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0

(Rabs l1 - l2) / 2 - Rabs (SP fn N x) + (Rabs l1 + l2) / 2 < (Rabs l1 - l2) / 2 - Rabs (SP fn N x) + Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0

Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2 - Rabs (SP fn N x) + Rabs (SP fn N x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0
Rabs l1 - Rabs (SP fn N x) = (Rabs l1 - l2) / 2 - Rabs (SP fn N x) + (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs l1 - Rabs (SP fn N x) < (Rabs l1 - l2) / 2
H8:sum_f_R0 An N < (Rabs l1 + l2) / 2
Hge:Rabs l1 - Rabs (SP fn N x) >= 0

Rabs l1 - Rabs (SP fn N x) = (Rabs l1 - l2) / 2 - Rabs (SP fn N x) + (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2

sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

sum_f_R0 An N < l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0
l2 < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

l2 < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

0 < 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0
2 * l2 < 2 * ((Rabs l1 + l2) / 2)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

2 * l2 < 2 * ((Rabs l1 + l2) / 2)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

l2 + l2 < (Rabs l1 + l2) * 1
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0
2 <> 0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hlt:sum_f_R0 An N - l2 < 0

2 <> 0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0

sum_f_R0 An N < (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:sum_f_R0 An N - l2 < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0

- l2 + sum_f_R0 An N < - l2 + (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:sum_f_R0 An N - l2 < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0

- l2 + sum_f_R0 An N < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:sum_f_R0 An N - l2 < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0
(Rabs l1 - l2) / 2 = - l2 + (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:sum_f_R0 An N - l2 < (Rabs l1 - l2) / 2
H7:Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
Hge:sum_f_R0 An N - l2 >= 0

(Rabs l1 - l2) / 2 = - l2 + (Rabs l1 + l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2

Rabs (Rabs l1 - Rabs (SP fn N x)) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2

Rabs (Rabs l1 - Rabs (SP fn N x)) <= Rabs (SP fn N x - l1)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
Rabs (SP fn N x - l1) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
H6:Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2

Rabs (SP fn N x - l1) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat
Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (SP fn n x) l1 < eps
H0:forall eps : R, eps > 0 -> exists N0 : nat, forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 An n) l2 < eps
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
H3:0 < (Rabs l1 - l2) / 2
Na:nat
H4:forall n : nat, (n >= Na)%nat -> Rabs (SP fn n x - l1) < (Rabs l1 - l2) / 2
Nb:nat
H5:forall n : nat, (n >= Nb)%nat -> Rabs (sum_f_R0 An n - l2) < (Rabs l1 - l2) / 2
N:=Nat.max Na Nb:nat

Rabs (sum_f_R0 An N - l2) < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0

0 < (Rabs l1 - l2) / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0

0 < Rabs l1 - l2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0

l2 + 0 < l2 + (Rabs l1 - l2)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
0 < / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
H2:forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0

0 < / 2
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2

forall n0 : nat, Rabs (SP fn n0 x) <= sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2

Rabs (SP fn 0 x) <= sum_f_R0 An 0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0
Rabs (SP fn (S n0) x) <= sum_f_R0 An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (SP fn (S n0) x) <= sum_f_R0 An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (sum_f_R0 (fun k : nat => fn k x) n0 + fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (sum_f_R0 (fun k : nat => fn k x) n0 + fn (S n0) x) <= Rabs (sum_f_R0 (fun k : nat => fn k x) n0) + Rabs (fn (S n0) x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0
Rabs (sum_f_R0 (fun k : nat => fn k x) n0) + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (sum_f_R0 (fun k : nat => fn k x) n0) + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (sum_f_R0 (fun k : nat => fn k x) n0) + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + Rabs (fn (S n0) x)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0
sum_f_R0 An n0 + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

Rabs (fn (S n0) x) + Rabs (sum_f_R0 (fun k : nat => fn k x) n0) <= Rabs (fn (S n0) x) + sum_f_R0 An n0
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0
sum_f_R0 An n0 + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
An:nat -> R
fn:nat -> R -> R
x, l1, l2:R
H:Un_cv (fun n : nat => SP fn n x) l1
H0:Un_cv (fun n : nat => sum_f_R0 An n) l2
H1:forall n : nat, Rabs (fn n x) <= An n
Hgt:Rabs l1 > l2
n0:nat
Hrecn0:Rabs (SP fn n0 x) <= sum_f_R0 An n0

sum_f_R0 An n0 + Rabs (fn (S n0) x) <= sum_f_R0 An n0 + An (S n0)
apply Rplus_le_compat_l; apply H1. Qed.