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 Rfunctions SeqSeries Rtrigo_fun Max. Local Open Scope R_scope. (********************************)
(********************************) Definition exp_in (x l:R) : Prop := infinite_sum (fun i:nat => / INR (fact i) * x ^ i) l.forall n : nat, / INR (fact n) <> 0forall n : nat, / INR (fact n) <> 0n:nat/ INR (fact n) <> 0apply INR_fact_neq_0. Qed.n:natINR (fact n) <> 0forall x : R, {l : R | exp_in x l}forall x : R, {l : R | exp_in x l}x:R{l : R | Pser (fun n : nat => / INR (fact n)) x l} -> {l : R | exp_in x l}trivial. Defined. Definition exp (x:R) : R := proj1_sig (exist_exp x).x:R{l : R | infinite_sum (fun n : nat => / INR (fact n) * x ^ n) l} -> {l : R | infinite_sum (fun i : nat => / INR (fact i) * x ^ i) l}forall i : nat, (0 < i)%nat -> 0 ^ i = 0forall i : nat, (0 < i)%nat -> 0 ^ i = 0red; intro; rewrite H0 in H; elim (lt_irrefl _ H). Qed.i:natH:(0 < i)%nati <> 0%nat{l : R | exp_in 0 l}{l : R | exp_in 0 l}exp_in 0 1eps:RH:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n) 1 < epseps:RH:eps > 0forall n : nat, (n >= 0)%nat -> R_dist (sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n) 1 < epseps:RH:eps > 0n:natH0:(n >= 0)%natR_dist 1 1 < epseps:RH:eps > 0n:natH0:(n >= 0)%nat1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) neps:RH:eps > 0n:natH0:(n >= 0)%nat1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) neps:RH:eps > 0H0:(0 >= 0)%nat1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) 0eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) (S n)eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) (S n)eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n + / INR (fact (S n)) * 0 ^ S neps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n1 = 1 + / INR (fact (S n)) * 0 ^ S neps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n(n >= 0)%nateps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n1 = 1 + / INR (fact n + n * fact n) * (0 * 0 ^ n)eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n(n >= 0)%natunfold ge; apply le_O_n. Defined. (* Value of [exp 0] *)eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> 1 = sum_f_R0 (fun i : nat => / INR (fact i) * 0 ^ i) n(n >= 0)%natexp 0 = 1exp 0 = 1exp_in 0 (exp 0) -> exp 0 = 1exp_in 0 (exp 0)exp_in 0 1 -> exp_in 0 (exp 0) -> exp 0 = 1exp_in 0 1exp_in 0 (exp 0)H:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) 1H0:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) (exp 0)infinite_sum ?An (exp 0)H:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) 1H0:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) (exp 0)infinite_sum ?An 1exp_in 0 1exp_in 0 (exp 0)H:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) 1H0:infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) (exp 0)infinite_sum (fun i : nat => / INR (fact i) * 0 ^ i) 1exp_in 0 1exp_in 0 (exp 0)exp_in 0 1exp_in 0 (exp 0)exact (proj2_sig (exist_exp 0)). Qed. (*****************************************)exp_in 0 (exp 0)
(*****************************************) Definition cosh (x:R) : R := (exp x + exp (- x)) / 2. Definition sinh (x:R) : R := (exp x - exp (- x)) / 2. Definition tanh (x:R) : R := sinh x / cosh x.cosh 0 = 1cosh 0 = 1unfold Rdiv; rewrite <- Rinv_r_sym; [ reflexivity | discrR ]. Qed.(1 + 1) / 2 = 1sinh 0 = 0sinh 0 = 0unfold Rminus, Rdiv; rewrite Rplus_opp_r; apply Rmult_0_l. Qed. Definition cos_n (n:nat) : R := (-1) ^ n / INR (fact (2 * n)).(1 - 1) / 2 = 0forall n : nat, cos_n (S n) / cos_n n = - / INR (2 * S n * (2 * n + 1))forall n : nat, cos_n (S n) / cos_n n = - / INR (2 * S n * (2 * n + 1))n:nat(-1) ^ (n + 1) / INR (fact (2 * (n + 1))) / ((-1) ^ n / INR (fact (2 * n))) = - / INR (2 * (n + 1) * (2 * n + 1))n:nat(-1) ^ n * (-1) ^ 1 * / INR (fact (2 * (n + 1))) * (/ (-1) ^ n * / / INR (fact (2 * n))) = - / INR (2 * (n + 1) * (2 * n + 1))n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat(-1) ^ n * (-1) ^ 1 * / INR (fact (2 * (n + 1))) * (/ (-1) ^ n * INR (fact (2 * n))) = - / INR (2 * (n + 1) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat(-1) ^ n * / (-1) ^ n * / INR (fact (2 * (n + 1))) * INR (fact (2 * n)) * (-1) ^ 1 = - / INR (2 * (n + 1) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat1 * / INR (fact (2 * (n + 1))) * INR (fact (2 * n)) * (-1) ^ 1 = - / INR (2 * (n + 1) * (2 * n + 1))n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat/ INR (fact (2 * (n + 1))) * INR (fact (2 * n)) * -1 = - / INR (2 * (n + 1) * (2 * n + 1))n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat/ INR (fact (S (S (2 * n)))) * INR (fact (2 * n)) * -1 = - / INR (S (S (2 * n)) * (2 * n + 1))n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat/ INR (S (S (2 * n))) * (/ INR (S (2 * n)) * / INR (fact (2 * n))) * INR (fact (2 * n)) * -1 = - / INR (S (S (2 * n)) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat-1 * (/ INR (S (S (2 * n))) * (/ INR (S (2 * n)) * / INR (fact (2 * n))) * INR (fact (2 * n))) = - / INR (S (S (2 * n)) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat-1 * (/ INR (S (S (2 * n))) * (/ INR (S (2 * n)) * 1)) = - / INR (S (S (2 * n)) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat-1 * (/ INR (S (S (2 * n))) * / INR (S (2 * n))) = - / INR (S (S (2 * n)) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat-1 * (/ INR (S (2 * n + 1)) * / INR (2 * n + 1)) = - / INR (S (2 * n + 1) * (2 * n + 1))n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat-1 * (/ INR (S (2 * n + 1)) * / INR (2 * n + 1)) = - (/ INR (S (2 * n + 1)) * / INR (2 * n + 1))n:natINR (S (2 * n + 1)) <> 0n:natINR (2 * n + 1) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (2 * n + 1) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (2 * n + 1) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (S (2 * n)) * INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:natINR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0apply Rinv_neq_0_compat; apply INR_fact_neq_0. Qed.n:nat/ INR (fact (2 * n)) <> 0forall eps : R, 0 < eps -> exists N : nat, / INR N < eps /\ (0 < N)%natforall eps : R, 0 < eps -> exists N : nat, / INR N < eps /\ (0 < N)%nateps:RH:0 < eps/ eps < IZR (up (/ eps)) -> exists N : nat, / INR N < eps /\ (0 < N)%nateps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Z -> exists N : nat, / INR N < eps /\ (0 < N)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x/ INR (Nat.max x 1) < eps /\ (0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x/ INR (Nat.max x 1) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x) -> / INR (Nat.max x 1) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat (Nat.max x 1)) <= / IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1)) <= IZR (Z.of_nat x) * / IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1)) <= IZR (Z.of_nat x) * / IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1)) <= 1eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)0 < IZR (Z.of_nat (Nat.max x 1))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) * (IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1))) <= IZR (Z.of_nat (Nat.max x 1)) * 1eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) <= IZR (Z.of_nat (Nat.max x 1))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) * (IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1))) <= IZR (Z.of_nat (Nat.max x 1)) * 1eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) <= IZR (Z.of_nat (Nat.max x 1))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) * (IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1))) <= IZR (Z.of_nat (Nat.max x 1)) * 1eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) * (IZR (Z.of_nat x) * / IZR (Z.of_nat (Nat.max x 1))) <= IZR (Z.of_nat (Nat.max x 1)) * 1eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat x) * 1 <= IZR (Z.of_nat (Nat.max x 1))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)IZR (Z.of_nat (Nat.max x 1)) <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)Nat.max x 1 <> 0%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ IZR (Z.of_nat x) < / / epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)eps <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)0 < / eps * IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ eps < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)eps <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)/ eps < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)eps <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat xH4:0 < IZR (Z.of_nat x)eps <> 0eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x0 < / epseps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x/ eps < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x/ eps < IZR (Z.of_nat x)eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))H1:(0 <= up (/ eps))%ZH2:exists m : nat, up (/ eps) = Z.of_nat mx:natH3:up (/ eps) = Z.of_nat x(0 < Nat.max x 1)%nateps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < epsH0:/ eps < IZR (up (/ eps))(0 <= up (/ eps))%Zeps:RH:0 < eps/ eps < IZR (up (/ eps))eps:RH:0 < eps/ eps < IZR (up (/ eps))elim H0; intros; assumption. Qed.eps:RH:0 < epsH0:IZR (up (/ eps)) > / eps /\ IZR (up (/ eps)) - / eps <= 1/ eps < IZR (up (/ eps))Un_cv (fun n : nat => Rabs (cos_n (S n) / cos_n n)) 0Un_cv (fun n : nat => Rabs (cos_n (S n) / cos_n n)) 0eps:RH:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (cos_n (S n) / cos_n n)) 0 < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natexists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (cos_n (S n) / cos_n n)) 0 < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natforall n : nat, (n >= x)%nat -> R_dist (Rabs (cos_n (S n) / cos_n n)) 0 < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) * / INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1 -> / INR (2 * S n) * / INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < eps -> / INR (2 * S n) * / INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps/ INR (2 * S n) * / INR (2 * n + 1) < 1 * epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps/ INR (2 * n + 1) > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps1 > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps(0 < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps1 > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * n + 1) < eps1 > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nat -> / INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR (2 * n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR (2 * n + 1) < / INR xeps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)0 < INR x * INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)INR x < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)0 < INR xeps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)0 < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)INR x < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)(0 < x)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)0 < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)INR x < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)0 < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)INR x < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)INR x < INR (2 * n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * n + 1)%natH5:INR x < INR (2 * n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= 2 * n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= S (2 * n))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat0 < INR (2 * S n)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(0 < S (S (2 * n)))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * (n + 1))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat1 < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat1 < INR (2 * S n)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(1 < 2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(1 < S (S (2 * n)))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n * (2 * n + 1)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat0 < INR (2 * S n * (2 * n + 1))eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(0 < 2 * S n * (2 * n + 1))%natapply lt_O_Sn. Qed.eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(0 < 2 + (4 * (n * n) + 6 * n))%natforall n : nat, cos_n n <> 0forall n : nat, cos_n n <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n)) <> 0n:nat/ INR (fact (2 * n)) <> 0apply INR_fact_neq_0. Qed. (**********) Definition cos_in (x l:R) : Prop := infinite_sum (fun i:nat => cos_n i * x ^ i) l. (**********)n:natINR (fact (2 * n)) <> 0forall x : R, {l : R | cos_in x l}forall x : R, {l : R | cos_in x l}unfold Pser, cos_in; trivial. Qed.x:R{l : R | Pser cos_n x l} -> {l : R | cos_in x l}
Definition of cosinus
Definition cos (x:R) : R := let (a,_) := exist_cos (Rsqr x) in a. Definition sin_n (n:nat) : R := (-1) ^ n / INR (fact (2 * n + 1)).forall n : nat, sin_n (S n) / sin_n n = - / INR ((2 * S n + 1) * (2 * S n))forall n : nat, sin_n (S n) / sin_n n = - / INR ((2 * S n + 1) * (2 * S n))n:nat(-1) ^ (n + 1) / INR (fact (2 * (n + 1) + 1)) / ((-1) ^ n / INR (fact (2 * n + 1))) = - / INR ((2 * (n + 1) + 1) * (2 * (n + 1)))n:nat(-1) ^ n * (-1) ^ 1 * / INR (fact (2 * (n + 1) + 1)) * (/ (-1) ^ n * / / INR (fact (2 * n + 1))) = - / INR ((2 * (n + 1) + 1) * (2 * (n + 1)))n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n * (-1) ^ 1 * / INR (fact (2 * (n + 1) + 1)) * (/ (-1) ^ n * INR (fact (2 * n + 1))) = - / INR ((2 * (n + 1) + 1) * (2 * (n + 1)))n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n * / (-1) ^ n * / INR (fact (2 * (n + 1) + 1)) * INR (fact (2 * n + 1)) * (-1) ^ 1 = - / INR ((2 * (n + 1) + 1) * (2 * (n + 1)))n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat1 * / INR (fact (2 * (n + 1) + 1)) * INR (fact (2 * n + 1)) * (-1) ^ 1 = - / INR ((2 * (n + 1) + 1) * (2 * (n + 1)))n:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat/ INR (fact (S (S (2 * n + 1)))) * INR (fact (2 * n + 1)) * -1 = - / INR (S (S (2 * n + 1)) * (2 * (n + 1)))n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat/ INR (S (S (2 * n + 1))) * (/ INR (S (2 * n + 1)) * / INR (fact (2 * n + 1))) * INR (fact (2 * n + 1)) * -1 = - / INR (S (S (2 * n + 1)) * (2 * (n + 1)))n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat-1 * (/ INR (S (S (2 * n + 1))) * (/ INR (S (2 * n + 1)) * 1)) = - / INR (S (S (2 * n + 1)) * (2 * (n + 1)))n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat-1 * (/ INR (S (2 * (n + 1))) * / INR (2 * (n + 1))) = - / INR (S (2 * (n + 1)) * (2 * (n + 1)))n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat-1 * (/ INR (S (2 * (n + 1))) * (/ INR 2 * / INR (n + 1))) = - (/ INR (S (2 * (n + 1))) * (/ INR 2 * / INR (n + 1)))n:natINR 2 <> 0n:natINR (n + 1) <> 0n:natINR (S (2 * (n + 1))) <> 0n:natINR 2 * INR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:natINR (S (2 * (n + 1))) <> 0n:natINR 2 * INR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (n + 1) <> 0n:natINR (S (2 * (n + 1))) <> 0n:natINR 2 * INR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (S (2 * (n + 1))) <> 0n:natINR 2 * INR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR 2 * INR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (n + 1) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR 2 <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (n + 1) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(2 * (n + 1))%nat = S (2 * n + 1)n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(forall n0 : nat, S n0 = (n0 + 1)%nat) -> (2 * n + 2 * 1)%nat = S (2 * n + 1)n:natforall n0 : nat, S n0 = (n0 + 1)%natn:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natH:forall n0 : nat, S n0 = (n0 + 1)%nat(2 * n + 2 * 1)%nat = (2 * n + 1 + 1)%natn:natforall n0 : nat, S n0 = (n0 + 1)%natn:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natforall n0 : nat, S n0 = (n0 + 1)%natn:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (S (S (2 * n + 1))) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (S (2 * n + 1)) * INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natS (S (2 * n + 1)) = (2 * (n + 1) + 1)%natn:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:natINR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0apply Rinv_neq_0_compat; apply INR_fact_neq_0. Qed.n:nat/ INR (fact (2 * n + 1)) <> 0Un_cv (fun n : nat => Rabs (sin_n (S n) / sin_n n)) 0Un_cv (fun n : nat => Rabs (sin_n (S n) / sin_n n)) 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natexists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (sin_n (S n) / sin_n n)) 0 < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natforall n : nat, (n >= x)%nat -> R_dist (Rabs (sin_n (S n) / sin_n n)) 0 < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n + 1) * / INR (2 * S n) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1 -> / INR (2 * S n + 1) * / INR (2 * S n) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * S n + 1) < eps -> / INR (2 * S n + 1) * / INR (2 * S n) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * S n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * S n + 1) < eps/ INR (2 * S n + 1) > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * S n + 1) < eps1 > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * S n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:/ INR (2 * S n + 1) < eps1 > 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * S n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1/ INR (2 * S n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nat -> / INR (2 * S n + 1) < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR (2 * S n + 1) < / INR xeps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)0 < INR x * INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)INR x < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)0 < INR xeps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)0 < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)INR x < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)0 < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)INR x < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)INR x < INR (2 * S n + 1)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1H4:(x < 2 * S n + 1)%natH5:INR x < INR (2 * S n + 1)/ INR x < epseps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(x < S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= 2 * S n + 1)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natH3:/ INR (2 * S n) < 1(S n <= S (2 * S n))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR (2 * S n) < 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat0 < INR (2 * S n)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) * / INR (2 * S n) < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat1 < INR (2 * S n) * 1eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat1 < INR (2 * S n)eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(1 < 2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(1 < S (S (2 * n)))%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natS (S (2 * n)) = (2 * S n)%nateps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n + 1) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%natINR (2 * S n) <> 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat/ INR ((2 * S n + 1) * (2 * S n)) >= 0eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat0 < INR ((2 * S n + 1) * (2 * S n))eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(0 < (2 * S n + 1) * (2 * S n))%natapply lt_O_Sn. Qed.eps:RH:eps > 0H0:exists N : nat, / INR N < eps /\ (0 < N)%natx:natH1:/ INR x < eps /\ (0 < x)%natn:natH2:(n >= x)%nat(0 < 6 + (4 * (n * n) + 10 * n))%natforall n : nat, sin_n n <> 0forall n : nat, sin_n n <> 0n:nat(-1) ^ n <> 0n:nat/ INR (fact (2 * n + 1)) <> 0apply Rinv_neq_0_compat; apply INR_fact_neq_0. Qed. (**********) Definition sin_in (x l:R) : Prop := infinite_sum (fun i:nat => sin_n i * x ^ i) l. (**********)n:nat/ INR (fact (2 * n + 1)) <> 0forall x : R, {l : R | sin_in x l}forall x : R, {l : R | sin_in x l}unfold Pser, sin_n; trivial. Defined. (***********************) (* Definition of sinus *) Definition sin (x:R) : R := let (a,_) := exist_sin (Rsqr x) in x * a. (*********************************************)x:R{l : R | Pser sin_n x l} -> {l : R | sin_in x l}
(*********************************************)forall x : R, cos x = cos (- x)forall x : R, cos x = cos (- x)x:R(let (a, _) := exist_cos x² in a) = (let (a, _) := exist_cos x² in a)x:Rx² = (- x)²apply Rsqr_neg. Qed.x:Rx² = (- x)²forall x : R, sin (- x) = - sin xforall x : R, sin (- x) = - sin xcase (exist_sin (Rsqr x)); intros; ring. Qed.x:R(let (a, _) := exist_sin x² in - x * a) = - (let (a, _) := exist_sin x² in x * a)sin 0 = 0sin 0 = 0intros; ring. Qed.forall x : R, sin_in 0² x -> 0 * x = 0{l : R | cos_in 0 l}{l : R | cos_in 0 l}cos_in 0 1eps:RH:eps > 0forall n : nat, (n >= 0)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n) 1 < epseps:RH:eps > 0n:natH0:(n >= 0)%natR_dist (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n) 1 < epseps:RH:eps > 0n:natH0:(n >= 0)%natRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epseps:RH:eps > 0H0:(0 >= 0)%natRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) 0 - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) (S n) - 1) < epseps:RH:eps > 0H0:(0 >= 0)%natRabs (1 / 1 * 1 - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) (S n) - 1) < epseps:RH:eps > 0H0:(0 >= 0)%natRabs (1 * 1 * 1 - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) (S n) - 1) < epseps:RH:eps > 0H0:(0 >= 0)%natRabs (1 - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) (S n) - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) (S n) - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n + cos_n (S n) * 0 ^ S n - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n + 0 - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < eps0 = cos_n (S n) * 0 ^ S neps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epsRabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < epseps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < eps0 = cos_n (S n) * 0 ^ S nsimpl; ring. Defined. (* Value of [cos 0] *)eps:RH:eps > 0n:natH0:(S n >= 0)%natHrecn:(n >= 0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * 0 ^ i) n - 1) < eps0 = cos_n (S n) * 0 ^ S ncos 0 = 1cos 0 = 1cos_in 0 (cos 0) -> cos 0 = 1cos_in 0 (cos 0)cos_in 0 1 -> cos_in 0 (cos 0) -> cos 0 = 1cos_in 0 1cos_in 0 (cos 0)H:infinite_sum (fun i : nat => cos_n i * 0 ^ i) 1H0:infinite_sum (fun i : nat => cos_n i * 0 ^ i) (cos 0)infinite_sum ?An (cos 0)H:infinite_sum (fun i : nat => cos_n i * 0 ^ i) 1H0:infinite_sum (fun i : nat => cos_n i * 0 ^ i) (cos 0)infinite_sum ?An 1cos_in 0 1cos_in 0 (cos 0)H:infinite_sum (fun i : nat => cos_n i * 0 ^ i) 1H0:infinite_sum (fun i : nat => cos_n i * 0 ^ i) (cos 0)infinite_sum (fun i : nat => cos_n i * 0 ^ i) 1cos_in 0 1cos_in 0 (cos 0)cos_in 0 1cos_in 0 (cos 0)assert (H := proj2_sig (exist_cos (Rsqr 0))); unfold cos; pattern 0 at 1; replace 0 with (Rsqr 0); [ exact H | apply Rsqr_0 ]. Qed.cos_in 0 (cos 0)