Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
(************************************************************************) (* * The Coq Proof Assistant / The Coq Development Team *) (* v * INRIA, CNRS and contributors - Copyright 1999-2018 *) (* <O___,, * (see CREDITS file for the list of authors) *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) (* * (see LICENSE file for the text of the license) *) (************************************************************************) Require Import Rbase. Require Import Rfunctions. Require Import SeqSeries. Require Export Rtrigo_fun. Require Export Rtrigo_def. Require Export Rtrigo_alt. Require Export Cos_rel. Require Export Cos_plus. Require Import ZArith_base. Require Import Zcomplements. Require Import Lra. Require Import Ranalysis1. Require Import Rsqrt_def. Require Import PSeries_reg. Local Open Scope nat_scope. Local Open Scope R_scope.forall fn : nat -> R -> R, fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N)) -> CVN_R fnforall fn : nat -> R -> R, fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N)) -> CVN_R fnfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealCVN_r fn rfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0 -> CVN_r fn rfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{An : nat -> R & {l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (An k)) n) l /\ (forall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= An n)}}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l /\ (forall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n))}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l} -> {l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l /\ (forall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n))}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) x{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l /\ (forall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n))}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) xUn_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) x /\ (forall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) xUn_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) xfn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) xforall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) xforall (n : nat) (y : R), Boule 0 r y -> Rabs (fn n y) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yRabs ((-1) ^ n) * Rabs (/ INR (fact (2 * n))) * Rabs (y ^ (2 * n)) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yRabs (/ INR (fact (2 * n))) * Rabs (y ^ (2 * n)) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n)) -> Rabs (/ INR (fact (2 * n))) * Rabs (y ^ (2 * n)) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))/ INR (fact (2 * n)) * Rabs (y ^ (2 * n)) <= / INR (fact (2 * n)) * r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))0 <= / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))Rabs (y ^ (2 * n)) <= r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))Rabs (y ^ (2 * n)) <= r ^ (2 * n)fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))Rabs (Rabs y) <= rfn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r yH1:0 < / INR (fact (2 * n))Rabs y <= rfn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Rabs y < rH1:0 < / INR (fact (2 * n))Rabs y <= rfn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N))r:posrealhyp_r:(r : R) <> 0x:Rp:Un_cv (fun n0 : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n0) xn:naty:RH0:Boule 0 r y0 < / INR (fact (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0{l : R | Un_cv (fun n : nat => sum_f_R0 (fun k : nat => Rabs (/ INR (fact (2 * k)) * r ^ (2 * k))) n) l}fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0forall n : nat, Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:nat/ INR (fact (2 * n)) * r ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:nat/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:natr ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:natINR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:natr ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0n:natr ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:Un_cv (fun n : nat => Rabs (cos_n (S n) / cos_n n)) 0Un_cv (fun n : nat => Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0 < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r² -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0 < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n : nat, (n >= N0)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps / r²exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0 < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natR_dist (Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))) 0 < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps / r²Rabs (Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n))) - 0) < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²0 < / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ r² * Rabs (r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < / r² * epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ r² * Rabs (r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < / r² * epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ r²) * Rabs (r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < / r² * epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ r²) = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (1 * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < / r² * epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ r²) = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ r²) = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ r²) = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ Rabs r² = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ r² = / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² * Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) = Rabs (Rabs (/ INR (fact (2 * S n)) * r ^ (2 * S n)) / Rabs (/ INR (fact (2 * n)) * r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ ((-1) ^ n * / INR (fact (2 * n)))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ (Rabs (/ INR (fact (2 * n))) * Rabs (r ^ (2 * n))))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ Rabs ((-1) ^ n * / INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ (Rabs (/ INR (fact (2 * n))) * Rabs (r ^ (2 * n))))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ / INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ (Rabs (/ INR (fact (2 * n))) * Rabs (r ^ (2 * n))))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ (Rabs (/ INR (fact (2 * n))) * Rabs (r ^ (2 * n))))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ Rabs (/ INR (fact (2 * n))) * / Rabs (r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (/ / Rabs (INR (fact (2 * n))) * / Rabs (r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) * r² = Rabs (Rabs (r ^ (2 * S n))) * Rabs (Rabs (INR (fact (2 * n))) * / Rabs (r ^ (2 * n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² = Rabs (/ Rabs (r ^ (2 * n))) * Rabs (Rabs (r ^ (2 * S n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² = / Rabs (Rabs (r ^ (2 * n))) * Rabs (Rabs (r ^ (2 * S n)))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² = / r ^ (2 * n) * r ^ (2 * S n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² = / r ^ (2 * n) * (r ^ (2 * n) * r * r)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) * r * r = r ^ (2 * S n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r² = 1 * r * rfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) * r * r = r ^ (2 * S n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) * r * r = r ^ (2 * S n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) * r * r = r ^ (2 * S n)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) * r * r = r ^ S (S (2 * n))fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²S (S (2 * n)) = (2 * S n)%natfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²S (S (2 * n)) = (2 * S n)%natfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * S n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²r ^ (2 * n) >= 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (/ INR (fact (2 * n))) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²Rabs (r ^ (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n * / INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²(-1) ^ n <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps0eps:RH1:eps > 0H2:0 < eps / r²N0:natH3:forall n0 : nat, (n0 >= N0)%nat -> R_dist (Rabs ((-1) ^ S n0 / INR (fact (2 * S n0)) / ((-1) ^ n0 / INR (fact (2 * n0))))) 0 < eps / r²n:natH4:(n >= N0)%natH5:Rabs (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n)))) - 0) < eps / r²/ INR (fact (2 * n)) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < eps / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < epsfn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posrealhyp_r:(r : R) <> 0H0:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (Rabs ((-1) ^ S n / INR (fact (2 * S n)) / ((-1) ^ n / INR (fact (2 * n))))) 0 < eps0eps:RH1:eps > 00 < / r²fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0assert (H0 := cond_pos r); red in |- *; intro; rewrite H1 in H0; elim (Rlt_irrefl _ H0). Qed. (**********)fn:nat -> R -> RH:fn = (fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N))r:posreal(r : R) <> 0continuity coscontinuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> Rcontinuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fn -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fn(forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}(forall n : nat, continuity (fn n)) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)(forall x : R, cos x = SFL fn cv x) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)H0:forall x : R, cos x = SFL fn cv x(continuity (SFL fn cv) -> continuity cos) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)H0:forall x : R, cos x = SFL fn cv xcontinuity (SFL fn cv) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)H0:forall x : R, cos x = SFL fn cv xH1:continuity (SFL fn cv) -> continuity coscontinuity (SFL fn cv)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)H0:forall x : R, cos x = SFL fn cv xcontinuity (SFL fn cv) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)H0:forall x : R, cos x = SFL fn cv xcontinuity (SFL fn cv) -> continuity cosfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x0 : R, {l : R | Un_cv (fun N : nat => SP fn N x0) l}H:forall n : nat, continuity (fn n)H0:forall x0 : R, cos x0 = SFL fn cv x0H1:forall x0 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x1 : R, D_x no_cond x0 x1 /\ Rabs (x1 - x0) < alp -> Rabs (SFL fn cv x1 - SFL fn cv x0) < eps0)x, eps:RH2:eps > 0exists alp : R, alp > 0 /\ (forall x0 : R, D_x no_cond x x0 /\ Rabs (x0 - x) < alp -> Rabs (cos x0 - cos x) < eps)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)exists alp : R, alp > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < alp -> Rabs (cos x1 - cos x) < eps)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (cos x1 - cos x) < eps)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)H4:x0 > 0H5:forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < epsx0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (cos x1 - cos x) < eps)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)H4:x0 > 0H5:forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < epsx0 > 0fn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)H4:x0 > 0H5:forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < epsforall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (cos x1 - cos x) < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x1 : R) => (-1) ^ N / INR (fact (2 * N)) * x1 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x1 : R, {l : R | Un_cv (fun N : nat => SP fn N x1) l}H:forall n : nat, continuity (fn n)H0:forall x1 : R, cos x1 = SFL fn cv x1H1:forall x1 eps0 : R, eps0 > 0 -> exists alp : R, alp > 0 /\ (forall x2 : R, D_x no_cond x1 x2 /\ Rabs (x2 - x1) < alp -> Rabs (SFL fn cv x2 - SFL fn cv x1) < eps0)x, eps:RH2:eps > 0x0:RH3:x0 > 0 /\ (forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < eps)H4:x0 > 0H5:forall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (SFL fn cv x1 - SFL fn cv x) < epsforall x1 : R, D_x no_cond x x1 /\ Rabs (x1 - x) < x0 -> Rabs (cos x1 - cos x) < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}H:forall n : nat, continuity (fn n)forall x : R, cos x = SFL fn cv xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x0 : R) => (-1) ^ N / INR (fact (2 * N)) * x0 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x0 : R, {l : R | Un_cv (fun N : nat => SP fn N x0) l}H:forall n : nat, continuity (fn n)x:R(let (a, _) := exist_cos x² in a) = (let (a, _) := cv x in a)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:cos_in x² x0x0 = x1fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:cos_in x² x0Un_cv ?Un x1fn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:cos_in x² x0Un_cv ?Un x0fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:cos_in x² x0Un_cv (fun N : nat => SP fn N x) x0fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n) x0 < eps0eps:RH0:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (SP fn n x) x0 < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n : nat, continuity (fn n)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n : nat, (n >= N0)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n) x0 < epsexists N : nat, forall n : nat, (n >= N)%nat -> R_dist (SP fn n x) x0 < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < epsn:natH2:(n >= N0)%natR_dist (SP fn n x) x0 < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0 - x0) < epsn:natH2:(n >= N0)%natRabs (sum_f_R0 (fun k : nat => fn k x) n - x0) < epsfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0 - x0) < epsn:natH2:(n >= N0)%natRabs (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n - x0) < epsfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0 - x0) < epsn:natH2:(n >= N0)%natsum_f_R0 (fun i : nat => cos_n i * x² ^ i) n = sum_f_R0 (fun k : nat => fn k x) nfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * x² ^ i) n0 - x0) < epsn:natH2:(n >= N0)%natsum_f_R0 (fun i : nat => cos_n i * x² ^ i) n = sum_f_R0 (fun k : nat => fn k x) nfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i0 : nat => cos_n i0 * x² ^ i0) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * x² ^ i0) n0 - x0) < epsn:natH2:(n >= N0)%nati:natH3:(i <= n)%natcos_n i * x² ^ i = fn i xfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x2 : R) => (-1) ^ N / INR (fact (2 * N)) * x2 ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x2 : R, {l : R | Un_cv (fun N : nat => SP fn N x2) l}H:forall n0 : nat, continuity (fn n0)x, x1:RHUn:Un_cv (fun N : nat => SP fn N x) x1x0:RHcos:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> R_dist (sum_f_R0 (fun i0 : nat => cos_n i0 * x² ^ i0) n0) x0 < eps0eps:RH0:eps > 0N0:natH1:forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * x² ^ i0) n0 - x0) < epsn:natH2:(n >= N0)%nati:natH3:(i <= n)%natx² ^ i = x ^ (2 * i)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}forall n : nat, continuity (fn n)fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}n:natcontinuity (fct_cte ((-1) ^ n / INR (fact (2 * n))) * pow_fct (2 * n))fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}n:natcontinuity (fct_cte ((-1) ^ n / INR (fact (2 * n))))fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}n:natcontinuity (pow_fct (2 * n))fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fncv:forall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}n:natcontinuity (pow_fct (2 * n))fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnfn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RX:CVN_R fnforall x : R, {l : R | Un_cv (fun N : nat => SP fn N x) l}fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnapply CVN_R_cos; unfold fn in |- *; reflexivity. Qed.fn:=fun (N : nat) (x : R) => (-1) ^ N / INR (fact (2 * N)) * x ^ (2 * N):nat -> R -> RCVN_R fnsin (7 / 8) > cos (7 / 8)sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))sin (7 / 8) > cos (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))cos_approx (7 / 8) (2 * (0 + 1)) < sin (7 / 8)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))cos_approx (7 / 8) (2 * (0 + 1)) < sin_approx (7 / 8) (2 * 0 + 1)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))sum_f_R0 (cos_term (7 / 8)) (2 * (0 + 1)) < sum_f_R0 (sin_term (7 / 8)) (2 * 0 + 1)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))cos_term (7 / 8) 0 + cos_term (7 / 8) 1 + cos_term (7 / 8) 2 < sin_term (7 / 8) 0 + sin_term (7 / 8) 1lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))(-1) ^ 0 * ((7 / 8) ^ (2 * 0) / IZR (Z.of_nat 1)) + (-1) ^ 1 * ((7 / 8) ^ (2 * 1) / IZR (Z.of_nat 2)) + (-1) ^ 2 * ((7 / 8) ^ (2 * 2) / IZR (Z.of_nat 24)) < (-1) ^ 0 * ((7 / 8) ^ (2 * 0 + 1) / IZR (Z.of_nat 1)) + (-1) ^ 1 * ((7 / 8) ^ (2 * 1 + 1) / IZR (Z.of_nat 6))lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))(-1) ^ 0 * ((7 / 8) ^ 0 / 1) + (-1) ^ 1 * ((7 / 8) ^ 2 / 2) + (-1) ^ 2 * ((7 / 8) ^ 4 / 24) < (-1) ^ 0 * ((7 / 8) ^ 1 / 1) + (-1) ^ 1 * ((7 / 8) ^ 3 / 6)lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))8073344 / 12582912 < 18760 / 24576lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))24576 * (8073344 / 12582912) * 12582912 < 18760 * 12582912lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))24576 * 8073344 < 18760 * 12582912apply IZR_lt; reflexivity. Qed.lo1:0 <= 7 / 8up1:7 / 8 <= 4lo:-2 <= 7 / 8up:7 / 8 <= 2lower:sin_approx (7 / 8) (2 * 0 + 1) <= sin (7 / 8)upper:cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1))IZR (24576 * 8073344) < IZR (18760 * 12582912){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}continuity (fun r : R => - cos r)cc:continuity (fun r : R => - cos r){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)0 < cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)int78:-2 <= 7 / 8 <= 20 < cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)lower:-2 <= 7 / 8upper:7 / 8 <= 20 < cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)lower:-2 <= 7 / 8upper:7 / 8 <= 2cos_approx (7 / 8) (2 * 0 + 1) <= cos (7 / 8) -> cos (7 / 8) <= cos_approx (7 / 8) (2 * (0 + 1)) -> 0 < cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)lower:-2 <= 7 / 8upper:7 / 8 <= 2(-1) ^ 0 * ((7 / 8) ^ (2 * 0) / INR (fact (2 * 0))) + (-1) ^ 1 * ((7 / 8) ^ (2 * 1) / INR (fact (2 * 1))) <= cos (7 / 8) -> cos (7 / 8) <= (-1) ^ 0 * ((7 / 8) ^ (2 * 0) / INR (fact (2 * 0))) + (-1) ^ 1 * ((7 / 8) ^ (2 * 1) / INR (fact (2 * 1))) + (-1) ^ 2 * ((7 / 8) ^ (2 * 2) / INR (fact (2 * 2))) -> 0 < cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)lower:-2 <= 7 / 8upper:7 / 8 <= 2cl:(-1) ^ 0 * ((7 / 8) ^ (2 * 0) / INR (fact (2 * 0))) + (-1) ^ 1 * ((7 / 8) ^ (2 * 1) / INR (fact (2 * 1))) <= cos (7 / 8)0 < 1 * (1 / 1) + -1 * 1 * (7 / 8 * (7 / 8 * 1) / (1 + 1))cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8){z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cos (7 / 4) < 0cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cos (7 / 8 + 7 / 8) < 0cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cos (7 / 8) * cos (7 / 8) - sin (7 / 8) * sin (7 / 8) < 0cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cos (7 / 8) < sin (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)0 <= cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)0 <= sin (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)0 <= cos (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)0 <= sin (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)0 <= sin (7 / 8)cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}apply IVT; auto; lra. Qed. Definition PI2 := proj1_sig PI_2_aux. Definition PI := 2 * PI2.cc:continuity (fun r : R => - cos r)cvp:0 < cos (7 / 8)cun:cos (7 / 4) < 0{z : R | 7 / 8 <= z <= 7 / 4 /\ - cos z = 0}cos PI2 = 0intros x [_ q]; rewrite <- (Ropp_involutive (cos x)), q; apply Ropp_0. Qed.forall x : R, 7 / 8 <= x <= 7 / 4 /\ - cos x = 0 -> cos x = 0unfold PI2; case PI_2_aux; simpl; tauto. Qed. (**********)7 / 8 <= PI2 <= 7 / 4forall x y : R, cos (x - y) = cos x * cos y + sin x * sin yforall x y : R, cos (x - y) = cos x * cos y + sin x * sin yrewrite <- cos_sym; rewrite sin_antisym; ring. Qed. (**********)x, y:Rcos x * cos (- y) - sin x * sin (- y) = cos x * cos y + sin x * sin yforall x : R, (sin x)² + (cos x)² = 1intro; unfold Rsqr in |- *; rewrite Rplus_comm; rewrite <- (cos_minus x x); unfold Rminus in |- *; rewrite Rplus_opp_r; apply cos_0. Qed.forall x : R, (sin x)² + (cos x)² = 1forall x : R, (cos x)² = 1 - (sin x)²intros x; rewrite <- (sin2_cos2 x); ring. Qed.forall x : R, (cos x)² = 1 - (sin x)²forall x : R, (sin x)² = 1 - (cos x)²forall x : R, (sin x)² = 1 - (cos x)²unfold Rminus in |- *; rewrite Ropp_plus_distr; rewrite <- Rplus_assoc; rewrite Rplus_opp_r; rewrite Rplus_0_l; symmetry in |- *; apply Ropp_involutive. Qed. (**********)x:RH1:(cos x)² = 1 - (sin x)²(sin x)² = 1 - (1 - (sin x)²)cos (PI / 2) = 0unfold PI; generalize cos_pi2; replace ((2 * PI2)/2) with PI2 by field; tauto. Qed.cos (PI / 2) = 0forall x : R, 0 < x < 2 -> 0 < sin xx:Rint1:0 < xint2:x < 20 < sin xx:Rint1:0 < xint2:x < 2lo:0 <= x0 < sin xx:Rint1:0 < xint2:x < 2lo:0 <= xup:x <= 40 < sin xx:Rint1:0 < xint2:x < 2t:sin_approx x (2 * 0 + 1) <= sin x0 < sin xx:Rint1:0 < xint2:x < 20 < sin_approx x (2 * 0 + 1)x:Rint1:0 < xint2:x < 20 < 1 * (x * 1 / 1) + -1 * 1 * (x * (x * (x * 1)) / (1 + 1 + 1 + 1 + 1 + 1))x:Rint1:0 < xint2:x < 20 < x * (1 - x ^ 2 / 6)x:Rint1:0 < xint2:x < 2x ^ 2 <= 4x:Rint1:0 < xint2:x < 2t':x ^ 2 <= 40 < x * (1 - x ^ 2 / 6)x:Rint1:0 < xint2:x < 2x ^ 2 <= 2 ^ 2x:Rint1:0 < xint2:x < 2t':x ^ 2 <= 40 < x * (1 - x ^ 2 / 6)apply Rmult_lt_0_compat;[assumption | lra ]. Qed.x:Rint1:0 < xint2:x < 2t':x ^ 2 <= 40 < x * (1 - x ^ 2 / 6)sin (PI / 2) = 1sin PI2 = 10 < PI2 < 2int':0 < PI2 < 2sin PI2 = 1int':0 < PI2 < 2sin PI2 = 1int':0 < PI2 < 2lo2:0 < sin PI2sin PI2 = 1int':0 < PI2 < 2lo2:0 < sin PI2Rabs (sin PI2) = 1int':0 < PI2 < 2lo2:0 < sin PI2t2:Rabs (sin PI2) = 1sin PI2 = 1int':0 < PI2 < 2lo2:0 < sin PI2(sin PI2)² = 1²int':0 < PI2 < 2lo2:0 < sin PI2t2:Rabs (sin PI2) = 1sin PI2 = 1revert t2; rewrite Rabs_pos_eq;[| apply Rlt_le]; tauto. Qed.int':0 < PI2 < 2lo2:0 < sin PI2t2:Rabs (sin PI2) = 1sin PI2 = 1PI > 0unfold PI; destruct pi2_int; lra. Qed.PI > 0PI <= 4unfold PI; destruct pi2_int; lra. Qed. (**********)PI <= 4PI <> 0red in |- *; intro; assert (H0 := PI_RGT_0); rewrite H in H0; elim (Rlt_irrefl _ H0). Qed. (**********)PI <> 0cos PI = -1cos PI = -1cos (PI / 2 + PI / 2) = -1PI / 2 + PI / 2 = PIcos (PI / 2) * cos (PI / 2) - sin (PI / 2) * sin (PI / 2) = -1PI / 2 + PI / 2 = PI0 * 0 - 1 * 1 = -1PI / 2 + PI / 2 = PIsymmetry in |- *; apply double_var. Qed.PI / 2 + PI / 2 = PIsin PI = 0sin PI = 0H:(sin PI)² + (cos PI)² = 1sin PI = 0H:(sin PI)² + (-1)² = 1sin PI = 0H:(sin PI)² + (- (1))² = 1sin PI = 0H:(sin PI)² + 1² = 1sin PI = 0H:(sin PI)² + 1 = 1sin PI = 0H:(sin PI)² + 1 = 1(sin PI)² = 0 -> sin PI = 0H:(sin PI)² + 1 = 1(sin PI)² = 0H:(sin PI)² + 1 = 1(sin PI)² = 0rewrite Rplus_0_r; rewrite Rplus_comm; exact H. Qed.H:(sin PI)² + 1 = 11 + (sin PI)² = 1 + 0forall (a : R) (n : nat), 0 <= a -> a <= PI -> sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))forall (a : R) (n : nat), 0 <= a -> a <= PI -> sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))a:Rn:nata0:0 <= aapi:a <= PI0 <= aa:Rn:nata0:0 <= aapi:a <= PIa <= 4apply Rle_trans with (1:= api) (2 := PI_4). Qed.a:Rn:nata0:0 <= aapi:a <= PIa <= 4forall (a : R) (n : nat), - PI / 2 <= a -> a <= PI / 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))forall (a : R) (n : nat), - PI / 2 <= a -> a <= PI / 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2-2 <= aa:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2a <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2-2 <= - PI / 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2a <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2-2 * 2 <= - PI / 2 * 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2a <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2-2 * 2 <= - PIa:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2a <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2a <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2PI / 2 <= 2a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2PI / 2 * 2 <= 2 * 2generalize PI_4; intros; lra. Qed. (**********)a:Rn:natlower:- PI / 2 <= aupper:a <= PI / 2PI <= 2 * 2forall x : R, cos (x + PI) = - cos xintro x; rewrite cos_plus; rewrite sin_PI; rewrite cos_PI; ring. Qed. (**********)forall x : R, cos (x + PI) = - cos xforall x : R, sin x = - cos (PI / 2 + x)intro x; rewrite cos_plus; rewrite sin_PI2; rewrite cos_PI2; ring. Qed. (**********)forall x : R, sin x = - cos (PI / 2 + x)forall x y : R, sin (x + y) = sin x * cos y + cos x * sin yforall x y : R, sin (x + y) = sin x * cos y + cos x * sin yx, y:Rsin (x + y) = sin x * cos y + cos x * sin yx, y:R- cos (PI / 2 + (x + y)) = sin x * cos y + cos x * sin yx, y:R- (cos (PI / 2 + x) * cos y - sin (PI / 2 + x) * sin y) = sin x * cos y + cos x * sin yx, y:R- (cos (PI / 2 + x) * cos y - - cos (PI / 2 + (PI / 2 + x)) * sin y) = sin x * cos y + cos x * sin yx, y:R- (cos (PI / 2 + x) * cos y - - cos (x + PI) * sin y) = sin x * cos y + cos x * sin yx, y:Rx + PI = PI / 2 + (PI / 2 + x)x, y:R- (cos (PI / 2 + x) * cos y - - - cos x * sin y) = sin x * cos y + cos x * sin yx, y:Rx + PI = PI / 2 + (PI / 2 + x)x, y:R- (- sin x * cos y - - - cos x * sin y) = sin x * cos y + cos x * sin yx, y:R- sin x = cos (PI / 2 + x)x, y:Rx + PI = PI / 2 + (PI / 2 + x)x, y:R- sin x = cos (PI / 2 + x)x, y:Rx + PI = PI / 2 + (PI / 2 + x)pattern PI at 1 in |- *; rewrite (double_var PI); ring. Qed.x, y:Rx + PI = PI / 2 + (PI / 2 + x)forall x y : R, sin (x - y) = sin x * cos y - cos x * sin yforall x y : R, sin (x - y) = sin x * cos y - cos x * sin yrewrite <- cos_sym; rewrite sin_antisym; ring. Qed. (**********) Definition tan (x:R) : R := sin x / cos x.x, y:Rsin x * cos (- y) + cos x * sin (- y) = sin x * cos y + - (cos x * sin y)forall x y : R, cos x <> 0 -> cos y <> 0 -> cos (x + y) <> 0 -> 1 - tan x * tan y <> 0 -> tan (x + y) = (tan x + tan y) / (1 - tan x * tan y)forall x y : R, cos x <> 0 -> cos y <> 0 -> cos (x + y) <> 0 -> 1 - tan x * tan y <> 0 -> tan (x + y) = (tan x + tan y) / (1 - tan x * tan y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0(sin x * cos y + cos x * sin y) * / (cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y))) = (sin x * / cos x + sin y * / cos y) * / (1 - sin x * / cos x * (sin y * / cos y))x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0(sin x * cos y + cos x * sin y) * (/ (cos x * cos y) * / (1 - sin x * / cos x * (sin y * / cos y))) = (sin x * / cos x + sin y * / cos y) * / (1 - sin x * / cos x * (sin y * / cos y))x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0(sin x * / cos x + sin y * / cos y) * / (1 - sin x * / cos x * sin y * / cos y) = (sin x * / cos x + sin y * / cos y) * / (1 - sin x * / cos x * sin y * / cos y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0sin x * / cos x + sin y * / cos y = (sin x * cos y + cos x * sin y) * / (cos x * cos y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0sin x * / cos x + sin y * / cos y = (sin x * cos y + cos x * sin y) * / (cos x * cos y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0sin x * / cos x + sin y * / cos y = sin x * cos y * (/ cos x * / cos y) + cos x * sin y * (/ cos x * / cos y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0/ cos x * sin x + sin y * / cos y = cos y * / cos x * / cos y * sin x + cos x * sin y * / cos x * / cos yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 - sin x * / cos x * (sin y * / cos y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x * cos y * (1 - sin x * / cos x * (sin y * / cos y)) = cos x * cos y - sin x * sin yx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 01 * sin y * / cos y * - sin x * cos y = - (sin x * sin y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0- sin x * 1 = - sin xx, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos y <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0assumption. Qed. (*******************************************************)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x + y) <> 0H2:1 - tan x * tan y <> 0cos x <> 0
(*******************************************************)forall x : R, sin (2 * x) = 2 * sin x * cos xforall x : R, sin (2 * x) = 2 * sin x * cos xrewrite <- (Rmult_comm (sin x)); symmetry in |- *; rewrite Rmult_assoc; apply double. Qed.x:Rsin x * cos x + cos x * sin x = 2 * sin x * cos xforall x : R, cos (2 * x) = cos x * cos x - sin x * sin xintro x; rewrite double; apply cos_plus. Qed.forall x : R, cos (2 * x) = cos x * cos x - sin x * sin xforall x : R, cos (2 * x) = 2 * cos x * cos x - 1intro x; rewrite double; unfold Rminus in |- *; rewrite Rmult_assoc; rewrite cos_plus; generalize (sin2_cos2 x); rewrite double; intro H1; rewrite <- H1; ring_Rsqr. Qed.forall x : R, cos (2 * x) = 2 * cos x * cos x - 1forall x : R, cos (2 * x) = 1 - 2 * sin x * sin xforall x : R, cos (2 * x) = 1 - 2 * sin x * sin xgeneralize (sin2_cos2 x); intro H1; rewrite <- H1; rewrite cos_plus; ring_Rsqr. Qed.x:Rcos (x + x) = 1 + - (sin x * sin x + sin x * sin x)forall x : R, cos x <> 0 -> cos (2 * x) <> 0 -> 1 - tan x * tan x <> 0 -> tan (2 * x) = 2 * tan x / (1 - tan x * tan x)repeat rewrite double; intros; repeat rewrite double; rewrite double in H0; apply tan_plus; assumption. Qed.forall x : R, cos x <> 0 -> cos (2 * x) <> 0 -> 1 - tan x * tan x <> 0 -> tan (2 * x) = 2 * tan x / (1 - tan x * tan x)forall x : R, sin (- x) = - sin xapply sin_antisym. Qed.forall x : R, sin (- x) = - sin xforall x : R, cos (- x) = cos xintro; symmetry in |- *; apply cos_sym. Qed.forall x : R, cos (- x) = cos xtan 0 = 0tan 0 = 0unfold Rdiv in |- *; apply Rmult_0_l. Qed.0 / 1 = 0forall x : R, tan (- x) = - tan xforall x : R, tan (- x) = - tan xapply Ropp_mult_distr_l_reverse. Qed.x:R- sin x * / cos x = - (sin x * / cos x)forall x y : R, cos x <> 0 -> cos y <> 0 -> cos (x - y) <> 0 -> 1 + tan x * tan y <> 0 -> tan (x - y) = (tan x - tan y) / (1 + tan x * tan y)forall x y : R, cos x <> 0 -> cos y <> 0 -> cos (x - y) <> 0 -> 1 + tan x * tan y <> 0 -> tan (x - y) = (tan x - tan y) / (1 + tan x * tan y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0(tan x + tan (- y)) / (1 - tan x * tan (- y)) = (tan x + - tan y) / (1 + tan x * tan y)x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (x + - y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 01 - tan x * tan (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos x <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (x + - y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 01 - tan x * tan (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (x + - y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 01 - tan x * tan (- y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 0cos (x + - y) <> 0x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 01 - tan x * tan (- y) <> 0rewrite tan_neg; unfold Rminus in |- *; rewrite <- Ropp_mult_distr_l_reverse; rewrite Rmult_opp_opp; assumption. Qed.x, y:RH:cos x <> 0H0:cos y <> 0H1:cos (x - y) <> 0H2:1 + tan x * tan y <> 01 - tan x * tan (- y) <> 0cos (3 * (PI / 2)) = 0cos (3 * (PI / 2)) = 0cos (PI + PI / 2) = 0PI + PI / 2 = 3 * (PI / 2)PI + PI / 2 = 3 * (PI / 2)ring. Qed.PI / 2 + PI / 2 + PI / 2 = 3 * (PI / 2)sin (2 * PI) = 0rewrite sin_2a; rewrite sin_PI; ring. Qed.sin (2 * PI) = 0cos (2 * PI) = 1rewrite cos_2a; rewrite sin_PI; rewrite cos_PI; ring. Qed.cos (2 * PI) = 1forall x : R, sin (x + PI) = - sin xintro x; rewrite sin_plus; rewrite sin_PI; rewrite cos_PI; ring. Qed.forall x : R, sin (x + PI) = - sin xforall x : R, sin (PI - x) = sin xforall x : R, sin (PI - x) = sin xring. Qed.x:R0 * cos x - -1 * sin x = sin xforall (x : R) (k : nat), sin (x + 2 * INR k * PI) = sin xforall (x : R) (k : nat), sin (x + 2 * INR k * PI) = sin xx:Rsin (x + 2 * INR 0 * PI) = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xsin (x + 2 * INR (S k) * PI) = sin xx:Rsin x = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xsin (x + 2 * INR (S k) * PI) = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xsin (x + 2 * INR (S k) * PI) = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xsin (x + 2 * INR k * PI + 2 * PI) = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xsin (x + 2 * INR k * PI) * 1 + cos (x + 2 * INR k * PI) * 0 = sin xx:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIrewrite S_INR in |- *; ring. Qed.x:Rk:natHreck:sin (x + 2 * INR k * PI) = sin xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIforall (x : R) (k : nat), cos (x + 2 * INR k * PI) = cos xforall (x : R) (k : nat), cos (x + 2 * INR k * PI) = cos xx:Rcos (x + 2 * INR 0 * PI) = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xcos (x + 2 * INR (S k) * PI) = cos xx:Rcos x = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xcos (x + 2 * INR (S k) * PI) = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xcos (x + 2 * INR (S k) * PI) = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xcos (x + 2 * INR k * PI + 2 * PI) = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xcos (x + 2 * INR k * PI) * 1 - sin (x + 2 * INR k * PI) * 0 = cos xx:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIrewrite S_INR in |- *; ring. Qed.x:Rk:natHreck:cos (x + 2 * INR k * PI) = cos xx + 2 * INR k * PI + 2 * PI = x + 2 * INR (S k) * PIforall x : R, sin (PI / 2 - x) = cos xintro x; rewrite sin_minus; rewrite sin_PI2; rewrite cos_PI2; ring. Qed.forall x : R, sin (PI / 2 - x) = cos xforall x : R, cos (PI / 2 - x) = sin xintro x; rewrite cos_minus; rewrite sin_PI2; rewrite cos_PI2; ring. Qed.forall x : R, cos (PI / 2 - x) = sin xforall x : R, cos x = sin (PI / 2 + x)intro x; rewrite sin_plus; rewrite sin_PI2; rewrite cos_PI2; ring. Qed.forall x : R, cos x = sin (PI / 2 + x)0 < PI / 2unfold Rdiv in |- *; apply Rmult_lt_0_compat; [ apply PI_RGT_0 | apply Rinv_0_lt_compat; prove_sup ]. Qed.0 < PI / 2forall x : R, -1 <= sin x <= 1forall x : R, -1 <= sin x <= 1x:RHle:-1 <= sin x-1 <= sin x <= 1x:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHle:-1 <= sin xHle':sin x <= 1-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 1-1 <= sin x <= 1x:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 1-1 <= sin x <= 1x:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 11 < sin x -> -1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 11 < sin xx:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 1H:1 < sin xH0:1 < 1 + - (cos x)²-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 11 < sin xx:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHle:-1 <= sin xHnle':~ sin x <= 11 < sin xx:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHnle:~ -1 <= sin x-1 <= sin x <= 1x:RHnle:~ -1 <= sin xsin x < -1 -> -1 <= sin x <= 1x:RHnle:~ -1 <= sin xsin x < -1auto with real. Qed.x:RHnle:~ -1 <= sin xsin x < -1forall x : R, -1 <= cos x <= 1intro; rewrite <- sin_shift; apply SIN_bound. Qed.forall x : R, -1 <= cos x <= 1forall x : R, ~ (cos x = 0 /\ sin x = 0)intro; red in |- *; intro; elim H; intros; generalize (sin2_cos2 x); intro; rewrite H0 in H2; rewrite H1 in H2; repeat rewrite Rsqr_0 in H2; rewrite Rplus_0_r in H2; generalize Rlt_0_1; intro; rewrite <- H2 in H3; elim (Rlt_irrefl 0 H3). Qed.forall x : R, ~ (cos x = 0 /\ sin x = 0)forall x : R, cos x <> 0 \/ sin x <> 0forall x : R, cos x <> 0 \/ sin x <> 0x:Rcos x <> 0 \/ sin x <> 0x:RH:cos x = 0cos x <> 0 \/ sin x <> 0x:RH:cos x <> 0cos x <> 0 \/ sin x <> 0x:RH:cos x = 0cos x <> 0 \/ sin x <> 0x:RH:cos x = 0sin x <> 0x:RH:cos x = 0H':sin x = 0Falsenow split. Qed. (*****************************************************************)x:RH:cos x = 0H':sin x = 0cos x = 0 /\ sin x = 0
(*****************************************************************) Definition sin_lb (a:R) : R := sin_approx a 3. Definition sin_ub (a:R) : R := sin_approx a 4. Definition cos_lb (a:R) : R := cos_approx a 3. Definition cos_ub (a:R) : R := cos_approx a 4.forall a : R, 0 < a -> a <= PI / 2 -> 0 < sin_lb aforall a : R, 0 < a -> a <= PI / 2 -> 0 < sin_lb aa:RH:0 < aH0:a <= PI / 20 < sin_lb aa:RH:0 < aH0:a <= PI / 20 < sum_f_R0 (fun i : nat => (-1) ^ i * (a ^ (2 * i + 1) / INR (fact (2 * i + 1)))) 3a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> R0 < sum_f_R0 (fun i : nat => (-1) ^ i * (a ^ (2 * i + 1) / INR (fact (2 * i + 1)))) 3a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> R0 < sum_f_R0 (fun i : nat => (-1) ^ i * Un i) 3a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> R(forall n : nat, Un (S n) < Un n) -> 0 < sum_f_R0 (fun i : nat => (-1) ^ i * Un i) 3a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> RH1:forall n : nat, Un (S n) < Un n0 < 1 * Un 0%nat + -1 * 1 * Un 1%nat + -1 * (-1 * 1) * Un 2%nat + -1 * (-1 * (-1 * 1)) * Un 3%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> RH1:forall n : nat, Un (S n) < Un n0 < Un 0%nat - Un 1%nat + (Un 2%nat - Un 3%nat)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> RH1:forall n : nat, Un (S n) < Un n0 < Un 0%nat - Un 1%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> RH1:forall n : nat, Un (S n) < Un n0 < Un 2%nat - Un 3%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> RH1:forall n : nat, Un (S n) < Un n0 < Un 2%nat - Un 3%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rforall n : nat, Un (S n) < Un na:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nata ^ (2 * S n + 1) / INR (fact (2 * S n + 1)) < a ^ (2 * n + 1) / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat -> a ^ (2 * S n + 1) / INR (fact (2 * S n + 1)) < a ^ (2 * n + 1) / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata ^ (2 * n + 1 + 2) / INR (fact (2 * n + 1 + 2)) < a ^ (2 * n + 1) / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 < a ^ (2 * n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata ^ 2 * / INR (fact (2 * n + 1 + 2)) < / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata ^ 2 * / INR (fact (2 * n + 1 + 2)) < / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 < INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1))) < INR (fact (2 * n + 1)) * / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0%nat <> fact (2 * n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1))) < INR (fact (2 * n + 1)) * / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natH2:fact (2 * n + 1) <> 0%nat0%nat <> fact (2 * n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1))) < INR (fact (2 * n + 1)) * / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1))) < INR (fact (2 * n + 1)) * / INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1))) < 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) * (INR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1)))) < INR (fact (2 * S n + 1)) * 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0%nat <> fact (2 * S n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) * (INR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1)))) < INR (fact (2 * S n + 1)) * 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natH2:fact (2 * S n + 1) <> 0%nat0%nat <> fact (2 * S n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) * (INR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1)))) < INR (fact (2 * S n + 1)) * 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) * (INR (fact (2 * n + 1)) * (a ^ 2 * / INR (fact (2 * S n + 1)))) < INR (fact (2 * S n + 1)) * 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * (a ^ 2 * 1) < INR (fact (2 * S n + 1)) * 1a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * a ^ 2 <= INR (fact (2 * n + 1)) * 4a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata ^ 2 <= 4a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata ^ 2 <= 4a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata <= 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= aa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= aa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 <= 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * S n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (S (S (2 * n + 1))))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (S (S (2 * n + 1))) * (INR (S (2 * n + 1)) * INR (fact (2 * n + 1)))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (S (S (2 * n + 1))) * INR (S (2 * n + 1)) * INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) * 4 < INR (fact (2 * n + 1)) * (INR (S (S (2 * n + 1))) * INR (S (2 * n + 1)))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0 < INR (fact (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat4 < INR (S (S (2 * n + 1))) * INR (S (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat0%nat <> fact (2 * n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat4 < INR (S (S (2 * n + 1))) * INR (S (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natH2:fact (2 * n + 1) <> 0%nat0%nat <> fact (2 * n + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat4 < INR (S (S (2 * n + 1))) * INR (S (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%nat4 < INR (S (S (2 * n + 1))) * INR (S (2 * n + 1))a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R4 < ((1 + 1) * x + 1 + 1 + 1) * ((1 + 1) * x + 1 + 1)a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R4 < 4 * x * x + 10 * x + 6a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 < 4 * x * x + 10 * x + 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 <= 4 * x * x + 10 * xa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 < 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 <= x -> 0 <= 4 * x * x + 10 * xa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 <= xa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 < 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 <= xa:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 < 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natx:=INR n:R0 < 2a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natS (S (2 * n + 1)) = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * S n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%nata:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:natH1:(2 * S n + 1)%nat = (2 * n + 1 + 2)%natINR (fact (2 * n + 1)) <> 0a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%natring. Qed.a:RH:0 < aH0:a <= PI / 2Un:=fun i : nat => a ^ (2 * i + 1) / INR (fact (2 * i + 1)):nat -> Rn:nat(2 * S n + 1)%nat = (2 * n + 1 + 2)%natforall a : R, 0 <= a -> a <= PI -> sin_lb a <= sin a <= sin_ub aintros; unfold sin_lb, sin_ub in |- *; apply (sin_bound a 1 H H0). Qed.forall a : R, 0 <= a -> a <= PI -> sin_lb a <= sin a <= sin_ub aforall a : R, - PI / 2 <= a -> a <= PI / 2 -> cos_lb a <= cos a <= cos_ub aintros; unfold cos_lb, cos_ub in |- *; apply (cos_bound a 1 H H0). Qed. (**********)forall a : R, - PI / 2 <= a -> a <= PI / 2 -> cos_lb a <= cos a <= cos_ub a- (PI / 2) < 0- (PI / 2) < 0lra. Qed.H:PI > 0- (PI / 2) < 0PI / 4 < PI / 2PI / 4 < PI / 2lra. Qed.H:PI > 0PI / 4 < PI / 2PI / 2 < PIPI / 2 < PIlra. Qed. (***************************************************)H:PI > 0PI / 2 < PI
(***************************************************)forall x : R, 0 < x -> x < PI -> 0 < sin xforall x : R, 0 < x -> x < PI -> 0 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x < PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x < PI / 20 < sin_lb xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x < PI / 2sin_lb x <= sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x < PI / 2sin_lb x <= sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x = PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 20 < sin xx:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI + - x < PI + - (PI / 2) -> 0 < sin (PI - x)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI + - x < PI / 2 -> 0 < sin (PI - x)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI / 2 = PI + - (PI / 2)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)H5:PI + - x < PI / 2H6:- PI < - xPI + - PI < PI + - x -> 0 < sin (PI - x)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI / 2 = PI + - (PI / 2)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)H5:PI + - x < PI / 2H6:- PI < - x0 < PI + - x -> 0 < sin (PI - x)x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI / 2 = PI + - (PI / 2)field. Qed.x:RH:0 < xH0:x < PIH1:sin_lb x <= sin xH2:x = PI / 2 \/ x > PI / 2H3:x > PI / 2H4:- x < - (PI / 2)PI / 2 = PI + - (PI / 2)forall x : R, - (PI / 2) < x -> x < PI / 2 -> 0 < cos xforall x : R, - (PI / 2) < x -> x < PI / 2 -> 0 < cos xrewrite Rplus_opp_r; intro H1; generalize (Rplus_lt_compat_l (PI / 2) x (PI / 2) H0); rewrite <- double_var; intro H2; apply (sin_gt_0 (PI / 2 + x) H1 H2). Qed.x:RH:- (PI / 2) < xH0:x < PI / 2PI / 2 + - (PI / 2) < PI / 2 + x -> 0 < sin (PI / 2 + x)forall x : R, 0 <= x -> x <= PI -> 0 <= sin xintros x H1 H2; elim H1; intro H3; [ elim H2; intro H4; [ left; apply (sin_gt_0 x H3 H4) | rewrite H4; right; symmetry in |- *; apply sin_PI ] | rewrite <- H3; right; symmetry in |- *; apply sin_0 ]. Qed.forall x : R, 0 <= x -> x <= PI -> 0 <= sin xforall x : R, - (PI / 2) <= x -> x <= PI / 2 -> 0 <= cos xintros x H1 H2; elim H1; intro H3; [ elim H2; intro H4; [ left; apply (cos_gt_0 x H3 H4) | rewrite H4; right; symmetry in |- *; apply cos_PI2 ] | rewrite <- H3; rewrite cos_neg; right; symmetry in |- *; apply cos_PI2 ]. Qed.forall x : R, - (PI / 2) <= x -> x <= PI / 2 -> 0 <= cos xforall x : R, PI <= x -> x <= 2 * PI -> sin x <= 0intros x H1 H2; apply Rge_le; rewrite <- Ropp_0; rewrite <- (Ropp_involutive (sin x)); apply Ropp_le_ge_contravar; rewrite <- neg_sin; replace (x + PI) with (x - PI + 2 * INR 1 * PI); [ rewrite (sin_period (x - PI) 1); apply sin_ge_0; [ replace (x - PI) with (x + - PI); [ rewrite Rplus_comm; replace 0 with (- PI + PI); [ apply Rplus_le_compat_l; assumption | ring ] | ring ] | replace (x - PI) with (x + - PI); rewrite Rplus_comm; [ pattern PI at 2 in |- *; replace PI with (- PI + 2 * PI); [ apply Rplus_le_compat_l; assumption | ring ] | ring ] ] | unfold INR in |- *; ring ]. Qed.forall x : R, PI <= x -> x <= 2 * PI -> sin x <= 0forall x : R, PI / 2 <= x -> x <= 3 * (PI / 2) -> cos x <= 0forall x : R, PI / 2 <= x -> x <= 3 * (PI / 2) -> cos x <= 0x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)0 <= cos (x - PI + 2 * INR 1 * PI)x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)- (PI / 2) <= x - PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI <= PI / 2x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)- PI + PI / 2 <= x - PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI <= PI / 2x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI <= PI / 2x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)- PI + x <= - PI + 3 * (PI / 2)x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIunfold INR in |- *; ring. Qed.x:RH1:PI / 2 <= xH2:x <= 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIforall x : R, PI < x -> x < 2 * PI -> sin x < 0intros x H1 H2; rewrite <- Ropp_0; rewrite <- (Ropp_involutive (sin x)); apply Ropp_lt_gt_contravar; rewrite <- neg_sin; replace (x + PI) with (x - PI + 2 * INR 1 * PI); [ rewrite (sin_period (x - PI) 1); apply sin_gt_0; [ replace (x - PI) with (x + - PI); [ rewrite Rplus_comm; replace 0 with (- PI + PI); [ apply Rplus_lt_compat_l; assumption | ring ] | ring ] | replace (x - PI) with (x + - PI); rewrite Rplus_comm; [ pattern PI at 2 in |- *; replace PI with (- PI + 2 * PI); [ apply Rplus_lt_compat_l; assumption | ring ] | ring ] ] | unfold INR in |- *; ring ]. Qed.forall x : R, PI < x -> x < 2 * PI -> sin x < 0forall x : R, - PI < x -> x < 0 -> sin x < 0intros; generalize (Rplus_lt_compat_l (2 * PI) (- PI) x H); replace (2 * PI + - PI) with PI; [ intro H1; rewrite Rplus_comm in H1; generalize (Rplus_lt_compat_l (2 * PI) x 0 H0); intro H2; rewrite (Rplus_comm (2 * PI)) in H2; rewrite <- (Rplus_comm 0) in H2; rewrite Rplus_0_l in H2; rewrite <- (sin_period x 1); unfold INR in |- *; replace (2 * 1 * PI) with (2 * PI); [ apply (sin_lt_0 (x + 2 * PI) H1 H2) | ring ] | ring ]. Qed.forall x : R, - PI < x -> x < 0 -> sin x < 0forall x : R, PI / 2 < x -> x < 3 * (PI / 2) -> cos x < 0forall x : R, PI / 2 < x -> x < 3 * (PI / 2) -> cos x < 0x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)0 < cos (x - PI + 2 * INR 1 * PI)x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)- (PI / 2) < x - PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI < PI / 2x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)- PI + PI / 2 < x - PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI < PI / 2x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI < PI / 2x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIx:RH1:PI / 2 < xH2:x < 3 * (PI / 2)- PI + x < - PI + 3 * (PI / 2)x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIunfold INR in |- *; ring. Qed.x:RH1:PI / 2 < xH2:x < 3 * (PI / 2)x - PI + 2 * INR 1 * PI = x + PIforall x : R, 0 < x -> x < PI / 2 -> 0 < tan xforall x : R, 0 < x -> x < PI / 2 -> 0 < tan xx:RH1:0 < xH2:x < PI / 2H:0 < PI / 2H0:- (PI / 2) < 0H5:- (PI / 2) < xH7:x < PI0 < sin xx:RH1:0 < xH2:x < PI / 2H:0 < PI / 2H0:- (PI / 2) < 0H5:- (PI / 2) < xH7:x < PI0 < / cos xapply Rinv_0_lt_compat; apply cos_gt_0; assumption. Qed.x:RH1:0 < xH2:x < PI / 2H:0 < PI / 2H0:- (PI / 2) < 0H5:- (PI / 2) < xH7:x < PI0 < / cos xforall x : R, - (PI / 2) < x -> x < 0 -> tan x < 0forall x : R, - (PI / 2) < x -> x < 0 -> tan x < 0x:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) < - 0x:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < sin (- x)x:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < - xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- x < PIx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- x < PIx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- x < PI / 2x:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos xPI / 2 < PIx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos xPI / 2 < PIx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x0 < / cos xx:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xunfold Rdiv in |- *; ring. Qed.x:RH1:- (PI / 2) < xH2:x < 0H3:0 < cos x- (- sin x / cos x) = sin x / cos xforall x : R, 3 * (PI / 2) <= x -> x <= 2 * PI -> 0 <= cos xforall x : R, 3 * (PI / 2) <= x -> x <= 2 * PI -> 0 <= cos xx:RH:3 * (PI / 2) <= xH0:x <= 2 * PI0 <= cos (2 * PI - x)x:RH:3 * (PI / 2) <= xH0:x <= 2 * PIH1:- (2 * PI) <= - x2 * PI + - (2 * PI) <= 2 * PI + - x -> 0 <= cos (2 * PI - x)x:RH:3 * (PI / 2) <= xH0:x <= 2 * PIH1:- (2 * PI) <= - x0 <= 2 * PI + - x -> 0 <= cos (2 * PI - x)x:RH:3 * (PI / 2) <= xH0:x <= 2 * PIH1:- (2 * PI) <= - xH2:0 <= 2 * PI + - xH3:- x <= - (3 * (PI / 2))2 * PI + - x <= 2 * PI + - (3 * (PI / 2)) -> 0 <= cos (2 * PI - x)intro H4; apply (cos_ge_0 (2 * PI - x) (Rlt_le (- (PI / 2)) (2 * PI - x) (Rlt_le_trans (- (PI / 2)) 0 (2 * PI - x) _PI2_RLT_0 H2)) H4). Qed.x:RH:3 * (PI / 2) <= xH0:x <= 2 * PIH1:- (2 * PI) <= - xH2:0 <= 2 * PI + - xH3:- x <= - (3 * (PI / 2))2 * PI + - x <= PI / 2 -> 0 <= cos (2 * PI - x)forall p q : R, cos p + cos q = 2 * cos ((p - q) / 2) * cos ((p + q) / 2)forall p q : R, cos p + cos q = 2 * cos ((p - q) / 2) * cos ((p + q) / 2)p, q:Rcos ((p - q) / 2 + (p + q) / 2) + cos q = 2 * cos ((p - q) / 2) * cos ((p + q) / 2)rewrite cos_plus; rewrite cos_minus; ring. Qed.p, q:Rcos ((p - q) / 2 + (p + q) / 2) + cos ((p - q) / 2 - (p + q) / 2) = 2 * cos ((p - q) / 2) * cos ((p + q) / 2)forall p q : R, cos p - cos q = -2 * sin ((p - q) / 2) * sin ((p + q) / 2)forall p q : R, cos p - cos q = -2 * sin ((p - q) / 2) * sin ((p + q) / 2)p, q:Rcos ((p - q) / 2 + (p + q) / 2) - cos q = -2 * sin ((p - q) / 2) * sin ((p + q) / 2)rewrite cos_plus; rewrite cos_minus; ring. Qed.p, q:Rcos ((p - q) / 2 + (p + q) / 2) - cos ((p - q) / 2 - (p + q) / 2) = -2 * sin ((p - q) / 2) * sin ((p + q) / 2)forall p q : R, sin p + sin q = 2 * cos ((p - q) / 2) * sin ((p + q) / 2)forall p q : R, sin p + sin q = 2 * cos ((p - q) / 2) * sin ((p + q) / 2)p, q:Rsin ((p - q) / 2 + (p + q) / 2) + sin q = 2 * cos ((p - q) / 2) * sin ((p + q) / 2)p, q:R(p - q) / 2 + (p + q) / 2 = pp, q:Rsin ((p - q) / 2 + (p + q) / 2) + sin ((p + q) / 2 - (p - q) / 2) = 2 * cos ((p - q) / 2) * sin ((p + q) / 2)p, q:R(p + q) / 2 - (p - q) / 2 = qp, q:R(p - q) / 2 + (p + q) / 2 = pp, q:R(p + q) / 2 - (p - q) / 2 = qp, q:R(p - q) / 2 + (p + q) / 2 = ppattern p at 3 in |- *; rewrite double_var; unfold Rdiv in |- *; ring. Qed.p, q:R(p - q) / 2 + (p + q) / 2 = pforall p q : R, sin p - sin q = 2 * cos ((p + q) / 2) * sin ((p - q) / 2)forall p q : R, sin p - sin q = 2 * cos ((p + q) / 2) * sin ((p - q) / 2)p, q:Rsin ((p - q) / 2 + (p + q) / 2) - sin q = 2 * cos ((p + q) / 2) * sin ((p - q) / 2)rewrite sin_plus; rewrite sin_minus; ring. Qed.p, q:Rsin ((p - q) / 2 + (p + q) / 2) - sin ((p + q) / 2 - (p - q) / 2) = 2 * cos ((p + q) / 2) * sin ((p - q) / 2)forall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> sin x < sin y -> x < yforall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> sin x < sin y -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 00 < 2x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 2x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 2x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 * ((x - y) / 2) < 2 * 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 * ((x - y) * / 2) < 2 * 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 * (x - y) * / 2 < 2 * 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 2x - y < 2 * 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 <> 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 2x - y < 0 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 <> 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 < 0Hyp:0 < 22 <> 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:(x - y) / 2 = 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:(x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:(x - y) / 2 > 0x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2- - (PI / 2) >= - y -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2PI / 2 >= - y -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2x + - y <= PI / 2 + PI / 2 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2x + - y <= PI -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PIx < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PI0 < 2x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PIHyp:0 < 2x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PIHyp:0 < 2x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PIHyp:0 < 2/ 2 * (x - y) <= / 2 * PI -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin yH4:sin ((x - y) / 2) < 0H5:(x - y) / 2 = 0 \/ (x - y) / 2 > 0H6:0 < (x - y) / 2H7:- y <= PI / 2H8:x + - y <= PIHyp:0 < 2(x - y) * / 2 <= PI * / 2 -> x < yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:sin x < sin ysin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0x + y <= PI / 2 + PI / 2 -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0x + y <= PI -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 00 < 2x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2x + y <= PI -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2x + y <= PI -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:x + y <= PI/ 2 * (x + y) <= / 2 * PI -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:x + y <= PI(x + y) * / 2 <= PI * / 2 -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2- PI <= x + y -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- PI <= x + y/ 2 * - PI <= / 2 * (x + y) -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- PI <= x + y/ 2 * - PI <= (x + y) / 2 -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- PI <= x + y- (PI / 2) <= (x + y) / 2 -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2H6:0 < cos ((x + y) / 2)2 * 0 < 2 * cos ((x + y) / 2) -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2H6:0 < cos ((x + y) / 2)0 < 2 * cos ((x + y) / 2) -> sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2H6:0 < 2 * cos ((x + y) / 2)H7:sin ((x - y) / 2) < 0sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2H6:0 < 2 * cos ((x + y) / 2)H7:sin ((x - y) / 2) >= 0sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) < (x + y) / 2H6:0 < 2 * cos ((x + y) / 2)H7:sin ((x - y) / 2) >= 0sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 < PI * / 2H50:- (PI / 2) = (x + y) / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0rewrite H40 in H3; assert (H50 := cos_PI2); unfold Rdiv in H50; rewrite H50 in H3; rewrite Rmult_0_r in H3; rewrite Rmult_0_l in H3; elim (Rlt_irrefl 0 H3). Qed.x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:2 * cos ((x + y) * / 2) * sin ((x - y) * / 2) < 0Hyp:0 < 2H4:(x + y) * / 2 <= PI * / 2H5:- (PI / 2) <= (x + y) / 2H40:(x + y) * / 2 = PI * / 2sin ((x - y) / 2) < 0forall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> x < y -> sin x < sin yforall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> x < y -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + y- PI <= x + x -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + y0 < 2x, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + yHyp:0 < 2- PI <= x + x -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + yHyp:0 < 2- PI <= x + x -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + yHyp:0 < 2H5:- PI <= x + xH6:- PI < x + y- (PI / 2) < / 2 * (x + y) -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yH4:x + x < x + yHyp:0 < 2H5:- PI <= x + xH6:- PI < x + y- (PI / 2) < (x + y) / 2 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:x + y < y + yy + y <= PI / 2 + PI / 2 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:x + y < y + yy + y <= PI -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:x + y < y + yH6:y + y <= PIH7:x + y < PI/ 2 * (x + y) < PI / 2 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H1:- (PI / 2) <= yH2:y <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:x + y < y + yH6:y + y <= PIH7:x + y < PI(x + y) / 2 < PI / 2 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yx - y < - y + y -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yx - y < 0 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yH6:x - y < 0(x - y) / 2 < 0 -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yH6:(x - y) / 2 < 0- PI <= x + - y -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yH6:(x - y) / 2 < 0H7:- PI <= x + - y- (PI / 2) <= / 2 * (x - y) -> sin x < sin yx, y:RH:- (PI / 2) <= xH0:x <= PI / 2H3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H1:- y <= PI / 2H2:- (PI / 2) <= - yH6:(x - y) / 2 < 0H7:- PI <= x + - y- (PI / 2) <= (x - y) / 2 -> sin x < sin yx, y:RH3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H6:(x - y) / 2 < 0H7:- (PI / 2) <= (x - y) / 2H8:0 < 2 * cos ((x + y) / 2)- PI < - (PI / 2) -> 2 * cos ((x + y) / 2) * sin ((x - y) / 2) < 0x, y:RH3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H6:(x - y) / 2 < 0H7:- (PI / 2) <= (x - y) / 2H8:0 < 2 * cos ((x + y) / 2)- PI < - (PI / 2)apply Ropp_lt_gt_contravar; apply PI2_Rlt_PI. Qed.x, y:RH3:x < yHyp:0 < 2H4:- (PI / 2) < (x + y) / 2H5:(x + y) / 2 < PI / 2H6:(x - y) / 2 < 0H7:- (PI / 2) <= (x - y) / 2H8:0 < 2 * cos ((x + y) / 2)- PI < - (PI / 2)forall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> sin x < sin y -> y < xforall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> sin x < sin y -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- PI + PI / 2 <= - PI + y -> - PI + y <= - PI + 3 * (PI / 2) -> - PI + PI / 2 <= x - PI -> x - PI <= - PI + 3 * (PI / 2) -> sin (- (PI - x)) > sin (- (PI - y)) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- (PI / 2) <= - PI + y -> - PI + y <= - PI + 3 * (PI / 2) -> - (PI / 2) <= x - PI -> x - PI <= - PI + 3 * (PI / 2) -> sin (- (PI - x)) > sin (- (PI - y)) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- (PI / 2) <= y - PI -> y - PI <= - PI + 3 * (PI / 2) -> - (PI / 2) <= x - PI -> x - PI <= - PI + 3 * (PI / 2) -> sin (- (PI - x)) > sin (- (PI - y)) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- (PI / 2) <= y - PI -> y - PI <= PI / 2 -> - (PI / 2) <= x - PI -> x - PI <= PI / 2 -> sin (- (PI - x)) > sin (- (PI - y)) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- (PI / 2) <= y - PI -> y - PI <= PI / 2 -> - (PI / 2) <= x - PI -> x - PI <= PI / 2 -> sin (x - PI) > sin (- (PI - y)) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)- (PI / 2) <= y - PI -> y - PI <= PI / 2 -> - (PI / 2) <= x - PI -> x - PI <= PI / 2 -> sin (x - PI) > sin (y - PI) -> y < xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)H4:- (PI / 2) <= y - PIH5:y - PI <= PI / 2H6:- (PI / 2) <= x - PIH7:x - PI <= PI / 2H8:sin (y - PI) < sin (x - PI)y + - PI < - PI + xapply (sin_increasing_0 (y - PI) (x - PI) H4 H5 H6 H7 H8). Qed.x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:sin (PI - x) < sin (PI - y)H4:- (PI / 2) <= y - PIH5:y - PI <= PI / 2H6:- (PI / 2) <= x - PIH7:x - PI <= PI / 2H8:sin (y - PI) < sin (x - PI)y + - PI < x + - PIforall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> x < y -> sin y < sin xforall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> x < y -> sin y < sin xx, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < y- PI + x < - PI + y -> - (PI / 2) <= - PI + y -> - PI + y <= - PI + 3 * (PI / 2) -> - (PI / 2) <= - PI + x -> - PI + x <= - PI + 3 * (PI / 2) -> sin (PI - y) < sin (PI - x)x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < y- PI + x < y - PI -> - (PI / 2) <= y - PI -> y - PI <= - PI + 3 * (PI / 2) -> - (PI / 2) <= - PI + x -> - PI + x <= - PI + 3 * (PI / 2) -> sin (PI - y) < sin (PI - x)x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < y- PI + x < y - PI -> - (PI / 2) <= y - PI -> y - PI <= PI / 2 -> - (PI / 2) <= - PI + x -> - PI + x <= PI / 2 -> sin (PI - y) < sin (PI - x)x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < yx - PI < y - PI -> - (PI / 2) <= y - PI -> y - PI <= PI / 2 -> - (PI / 2) <= x - PI -> x - PI <= PI / 2 -> sin (PI - y) < sin (PI - x)x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < yH4:x - PI < y - PIH5:- (PI / 2) <= y - PIH6:y - PI <= PI / 2H7:- (PI / 2) <= x - PIH8:x - PI <= PI / 2sin (x - PI) < sin (- (PI - y))apply (sin_increasing_1 (x - PI) (y - PI) H7 H8 H5 H6 H4). Qed.x, y:RH:x <= 3 * (PI / 2)H0:PI / 2 <= xH1:y <= 3 * (PI / 2)H2:PI / 2 <= yH3:x < yH4:x - PI < y - PIH5:- (PI / 2) <= y - PIH6:y - PI <= PI / 2H7:- (PI / 2) <= x - PIH8:x - PI <= PI / 2sin (x - PI) < sin (y - PI)forall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> cos x < cos y -> x < yforall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> cos x < cos y -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIcos (PI / 2 - (x - 3 * (PI / 2))) < cos (- y + 2 * 1 * PI) -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIcos (PI / 2 - (x - 3 * (PI / 2))) < cos (PI / 2 - (y - 3 * (PI / 2))) -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))-3 * (PI / 2) + y <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= -3 * (PI / 2) + y -> -3 * (PI / 2) + x <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= -3 * (PI / 2) + x -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))y - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= y - 3 * (PI / 2) -> -3 * (PI / 2) + x <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= -3 * (PI / 2) + x -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))y - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= x - 3 * (PI / 2) -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))y - 3 * (PI / 2) <= PI / 2 -> -3 * (PI / 2) + PI <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= PI / 2 -> -3 * (PI / 2) + PI <= x - 3 * (PI / 2) -> x < yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))y - 3 * (PI / 2) <= PI / 2 -> - (PI / 2) <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= PI / 2 -> - (PI / 2) <= x - 3 * (PI / 2) -> x < yx, y:RH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))H1:y - 3 * (PI / 2) <= PI / 2H2:- (PI / 2) <= y - 3 * (PI / 2)H3:x - 3 * (PI / 2) <= PI / 2H4:- (PI / 2) <= x - 3 * (PI / 2)x - 3 * (PI / 2) < -3 * (PI / 2) + yapply (sin_increasing_0 (x - 3 * (PI / 2)) (y - 3 * (PI / 2)) H4 H3 H2 H1 H5). Qed.x, y:RH5:sin (x - 3 * (PI / 2)) < sin (y - 3 * (PI / 2))H1:y - 3 * (PI / 2) <= PI / 2H2:- (PI / 2) <= y - 3 * (PI / 2)H3:x - 3 * (PI / 2) <= PI / 2H4:- (PI / 2) <= x - 3 * (PI / 2)x - 3 * (PI / 2) < y - 3 * (PI / 2)forall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> x < y -> cos x < cos yforall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> x < y -> cos x < cos yx, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:x < yx - 3 * (PI / 2) < -3 * (PI / 2) + y -> -3 * (PI / 2) + y <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= -3 * (PI / 2) + y -> x - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= x - 3 * (PI / 2) -> cos (- x + 2 * 1 * PI) < cos (- y + 2 * 1 * PI)x, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:x < yx - 3 * (PI / 2) < y - 3 * (PI / 2) -> y - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> -3 * (PI / 2) + PI <= x - 3 * (PI / 2) -> cos (- x + 2 * 1 * PI) < cos (- y + 2 * 1 * PI)x, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:x < yx - 3 * (PI / 2) < y - 3 * (PI / 2) -> y - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> - (PI / 2) <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= -3 * (PI / 2) + 2 * PI -> - (PI / 2) <= x - 3 * (PI / 2) -> cos (- x + 2 * 1 * PI) < cos (- y + 2 * 1 * PI)x, y:RH1:PI <= xH2:x <= 2 * PIH3:PI <= yH4:y <= 2 * PIH5:x < yx - 3 * (PI / 2) < y - 3 * (PI / 2) -> y - 3 * (PI / 2) <= PI / 2 -> - (PI / 2) <= y - 3 * (PI / 2) -> x - 3 * (PI / 2) <= PI / 2 -> - (PI / 2) <= x - 3 * (PI / 2) -> cos (- x + 2 * 1 * PI) < cos (- y + 2 * 1 * PI)x, y:RH1:x - 3 * (PI / 2) < y - 3 * (PI / 2)H2:y - 3 * (PI / 2) <= PI / 2H3:- (PI / 2) <= y - 3 * (PI / 2)H4:x - 3 * (PI / 2) <= PI / 2H5:- (PI / 2) <= x - 3 * (PI / 2)cos (PI / 2 - (x - 3 * (PI / 2))) < cos (- y + 2 * 1 * PI)repeat rewrite cos_shift; apply (sin_increasing_1 (x - 3 * (PI / 2)) (y - 3 * (PI / 2)) H5 H4 H3 H2 H1). Qed.x, y:RH1:x - 3 * (PI / 2) < y - 3 * (PI / 2)H2:y - 3 * (PI / 2) <= PI / 2H3:- (PI / 2) <= y - 3 * (PI / 2)H4:x - 3 * (PI / 2) <= PI / 2H5:- (PI / 2) <= x - 3 * (PI / 2)cos (PI / 2 - (x - 3 * (PI / 2))) < cos (PI / 2 - (y - 3 * (PI / 2)))forall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> cos x < cos y -> y < xforall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> cos x < cos y -> y < xx, y:RH:0 <= xH0:x <= PIH1:0 <= yH2:y <= PIH3:cos x < cos yH4:cos (PI + y) < cos (PI + x)PI + y <= PI + PI -> PI <= PI + y -> PI + x <= PI + PI -> PI <= PI + x -> y < xclear H H0 H1 H2 H3; intros; apply Rplus_lt_reg_l with PI; apply (cos_increasing_0 (PI + y) (PI + x) H0 H H2 H1 H4). Qed.x, y:RH:0 <= xH0:x <= PIH1:0 <= yH2:y <= PIH3:cos x < cos yH4:cos (PI + y) < cos (PI + x)PI + y <= 2 * PI -> PI <= PI + y -> PI + x <= 2 * PI -> PI <= PI + x -> y < xforall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> x < y -> cos y < cos xforall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> x < y -> cos y < cos xx, y:RH:0 <= xH0:x <= PIH1:0 <= yH2:y <= PIH3:x < yPI + y <= PI + PI -> PI <= PI + y -> PI + x <= PI + PI -> PI <= PI + x -> cos (PI + x) < cos (PI + y)generalize (Rplus_lt_compat_l PI x y H3); clear H H0 H1 H2 H3; intros; apply (cos_increasing_1 (PI + x) (PI + y) H3 H2 H1 H0 H). Qed.x, y:RH:0 <= xH0:x <= PIH1:0 <= yH2:y <= PIH3:x < yPI + y <= 2 * PI -> PI <= PI + y -> PI + x <= 2 * PI -> PI <= PI + x -> cos (PI + x) < cos (PI + y)forall x y : R, cos x <> 0 -> cos y <> 0 -> tan x - tan y = sin (x - y) / (cos x * cos y)forall x y : R, cos x <> 0 -> cos y <> 0 -> tan x - tan y = sin (x - y) / (cos x * cos y)x, y:RH:cos x <> 0H0:cos y <> 0sin x / cos x - sin y / cos y = (sin x * cos y - cos x * sin y) / (cos x * cos y)now split. Qed.x, y:RH:cos x <> 0H0:cos y <> 0cos y <> 0 /\ cos x <> 0forall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> tan x < tan y -> x < yforall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> tan x < tan y -> x < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0 -> x < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yx + - y <= PI / 4 + PI / 4 -> - (PI / 4) + - (PI / 4) <= x + - y -> x < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yx + - y <= PI / 2 -> - (PI / 4) + - (PI / 4) <= x + - y -> x < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yx + - y <= PI / 2 -> - (PI / 2) <= x + - y -> x < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 < x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 = x - y \/ 0 > x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 = x - y \/ 0 > x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 = x - y \/ 0 > x - yH15:0 = x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 = x - y \/ 0 > x - yH15:0 > x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0H10:- y <= PI / 4H11:- (PI / 4) <= - yH12:x + - y <= PI / 2H13:- (PI / 2) <= x + - yH14:0 = x - y \/ 0 > x - yH15:0 > x - yx < yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) < 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) >= 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:sin (x - y) >= 0sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos y0 < / (cos x * cos y) -> sin (x - y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos ycos x <> 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos ycos y <> 0assumption. Qed.x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:tan x - tan y = sin (x - y) / (cos x * cos y)H3:sin (x - y) / (cos x * cos y) < 0H9:0 <= sin (x - y)H10:0 < / cos xH11:0 < / cos ycos y <> 0forall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> x < y -> tan x < tan yforall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> x < y -> tan x < tan yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H10:0 < / cos xH11:0 < / cos y0 < / (cos x * cos y) -> sin (x - y) / (cos x * cos y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:0 < / (cos x * cos y)H11:- (PI / 4) <= - y- (PI / 4) + - (PI / 4) <= x + - y -> sin (x - y) / (cos x * cos y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yx, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H8:0 < / (cos x * cos y)H11:- (PI / 4) <= - y- (PI / 2) <= x + - y -> sin (x - y) / (cos x * cos y) < 0x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yapply Rinv_mult_distr; assumption. Qed.x, y:RH:- (PI / 4) <= xH0:x <= PI / 4H1:- (PI / 4) <= yH2:y <= PI / 4H3:x < yH4:PI / 4 < PI / 2H5:- (PI / 2) < - (PI / 4)HP1:0 < cos xHP2:0 < cos yH6:cos x <> 0H7:cos y <> 0H10:0 < / cos xH11:0 < / cos y/ (cos x * cos y) = / cos x * / cos yforall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> sin x <= sin y -> x <= yintros; case (Rtotal_order (sin x) (sin y)); intro H4; [ left; apply (sin_increasing_0 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order x y); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (sin_increasing_1 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl (sin y) H8) ] ] | elim (Rlt_irrefl (sin x) (Rle_lt_trans (sin x) (sin y) (sin x) H3 H5)) ] ]. Qed.forall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> sin x <= sin y -> x <= yforall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> x <= y -> sin x <= sin yintros; case (Rtotal_order x y); intro H4; [ left; apply (sin_increasing_1 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order (sin x) (sin y)); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (sin_increasing_0 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl y H8) ] ] | elim (Rlt_irrefl x (Rle_lt_trans x y x H3 H5)) ] ]. Qed.forall x y : R, - (PI / 2) <= x -> x <= PI / 2 -> - (PI / 2) <= y -> y <= PI / 2 -> x <= y -> sin x <= sin yforall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> sin x <= sin y -> y <= xintros; case (Rtotal_order (sin x) (sin y)); intro H4; [ left; apply (sin_decreasing_0 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order x y); intro H6; [ generalize (sin_decreasing_1 x y H H0 H1 H2 H6); intro H8; rewrite H5 in H8; elim (Rlt_irrefl (sin y) H8) | elim H6; intro H7; [ right; symmetry in |- *; assumption | left; assumption ] ] | elim (Rlt_irrefl (sin x) (Rle_lt_trans (sin x) (sin y) (sin x) H3 H5)) ] ]. Qed.forall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> sin x <= sin y -> y <= xforall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> x <= y -> sin y <= sin xintros; case (Rtotal_order x y); intro H4; [ left; apply (sin_decreasing_1 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order (sin x) (sin y)); intro H6; [ generalize (sin_decreasing_0 x y H H0 H1 H2 H6); intro H8; rewrite H5 in H8; elim (Rlt_irrefl y H8) | elim H6; intro H7; [ right; symmetry in |- *; assumption | left; assumption ] ] | elim (Rlt_irrefl x (Rle_lt_trans x y x H3 H5)) ] ]. Qed.forall x y : R, x <= 3 * (PI / 2) -> PI / 2 <= x -> y <= 3 * (PI / 2) -> PI / 2 <= y -> x <= y -> sin y <= sin xforall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> cos x <= cos y -> x <= yintros; case (Rtotal_order (cos x) (cos y)); intro H4; [ left; apply (cos_increasing_0 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order x y); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (cos_increasing_1 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl (cos y) H8) ] ] | elim (Rlt_irrefl (cos x) (Rle_lt_trans (cos x) (cos y) (cos x) H3 H5)) ] ]. Qed.forall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> cos x <= cos y -> x <= yforall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> x <= y -> cos x <= cos yintros; case (Rtotal_order x y); intro H4; [ left; apply (cos_increasing_1 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order (cos x) (cos y)); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (cos_increasing_0 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl y H8) ] ] | elim (Rlt_irrefl x (Rle_lt_trans x y x H3 H5)) ] ]. Qed.forall x y : R, PI <= x -> x <= 2 * PI -> PI <= y -> y <= 2 * PI -> x <= y -> cos x <= cos yforall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> cos x <= cos y -> y <= xintros; case (Rtotal_order (cos x) (cos y)); intro H4; [ left; apply (cos_decreasing_0 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order x y); intro H6; [ generalize (cos_decreasing_1 x y H H0 H1 H2 H6); intro H8; rewrite H5 in H8; elim (Rlt_irrefl (cos y) H8) | elim H6; intro H7; [ right; symmetry in |- *; assumption | left; assumption ] ] | elim (Rlt_irrefl (cos x) (Rle_lt_trans (cos x) (cos y) (cos x) H3 H5)) ] ]. Qed.forall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> cos x <= cos y -> y <= xforall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> x <= y -> cos y <= cos xintros; case (Rtotal_order x y); intro H4; [ left; apply (cos_decreasing_1 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order (cos x) (cos y)); intro H6; [ generalize (cos_decreasing_0 x y H H0 H1 H2 H6); intro H8; rewrite H5 in H8; elim (Rlt_irrefl y H8) | elim H6; intro H7; [ right; symmetry in |- *; assumption | left; assumption ] ] | elim (Rlt_irrefl x (Rle_lt_trans x y x H3 H5)) ] ]. Qed.forall x y : R, 0 <= x -> x <= PI -> 0 <= y -> y <= PI -> x <= y -> cos y <= cos xforall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> tan x <= tan y -> x <= yintros; case (Rtotal_order (tan x) (tan y)); intro H4; [ left; apply (tan_increasing_0 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order x y); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (tan_increasing_1 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl (tan y) H8) ] ] | elim (Rlt_irrefl (tan x) (Rle_lt_trans (tan x) (tan y) (tan x) H3 H5)) ] ]. Qed.forall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> tan x <= tan y -> x <= yforall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> x <= y -> tan x <= tan yintros; case (Rtotal_order x y); intro H4; [ left; apply (tan_increasing_1 x y H H0 H1 H2 H4) | elim H4; intro H5; [ case (Rtotal_order (tan x) (tan y)); intro H6; [ left; assumption | elim H6; intro H7; [ right; assumption | generalize (tan_increasing_0 y x H1 H2 H H0 H7); intro H8; rewrite H5 in H8; elim (Rlt_irrefl y H8) ] ] | elim (Rlt_irrefl x (Rle_lt_trans x y x H3 H5)) ] ]. Qed. (**********)forall x y : R, - (PI / 4) <= x -> x <= PI / 4 -> - (PI / 4) <= y -> y <= PI / 4 -> x <= y -> tan x <= tan yforall x : R, (exists k : Z, x = IZR k * PI) -> sin x = 0forall x : R, (exists k : Z, x = IZR k * PI) -> sin x = 0x:RH:exists k : Z, x = IZR k * PIsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIx0 = 0%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 > 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:x0 = 0%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 > 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = 0 * PIH1:x0 = 0%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 > 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = 0 * PIH1:x0 = 0%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 > 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 > 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%Zx1:natH3:x0 = Z.of_nat x1sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = IZR (Z.of_nat x1) * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin (INR (2 * x2) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin (INR 2 * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin ((1 + 1) * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin (0 + (1 + 1) * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%natsin 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (INR (S (2 * x2)) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin ((INR 2 * INR x2 + 1) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (((1 + 1) * INR x2 + 1) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin ((1 + 1) * INR x2 * PI + 1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin ((1 + 1) * INR x2 * PI) * cos PI + cos ((1 + 1) * INR x2 * PI) * sin PI = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin ((1 + 1) * INR x2 * PI) * cos PI + cos ((1 + 1) * INR x2 * PI) * 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin ((1 + 1) * INR x2 * PI) * cos PI + 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin (0 + (1 + 1) * INR x2 * PI) * cos PI + 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:Zx1:natH0:x = INR x1 * PIH1:(x0 > 0)%ZH2:(0 <= x0)%ZH3:x0 = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)sin 0 * cos PI + 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 <= x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z0 <= IZR x0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%Z(0 < x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%ZH2:forall n m : Z, (n > m)%Z <-> (m < n)%Z(0 < x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 > 0)%ZH2:forall n m : Z, (n > m)%Z <-> (m < n)%ZH3:(x0 > 0)%Z -> (0 < x0)%ZH4:(0 < x0)%Z -> (x0 > 0)%Z(0 < x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PI(x0 < 0)%Z -> sin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Zsin x = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Zsin (IZR x0 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Z -> - sin (- IZR x0 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Z- sin (- IZR x0 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Z- sin (IZR (- x0) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1- sin (IZR (- x0) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1- sin (IZR (Z.of_nat x1) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin (INR (2 * x2) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin (INR 2 * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin ((1 + 1) * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin (0 + (1 + 1) * INR x2 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = (2 * x2)%nat- sin 0 = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR x1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (INR (S (2 * x2)) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin ((INR 2 * INR x2 + 1) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin (((1 + 1) * INR x2 + 1) * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- sin ((1 + 1) * INR x2 * PI + 1 * PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- (sin ((1 + 1) * INR x2 * PI) * cos PI + cos ((1 + 1) * INR x2 * PI) * sin PI) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- (sin ((1 + 1) * INR x2 * PI) * cos PI + cos ((1 + 1) * INR x2 * PI) * 0) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- (sin ((1 + 1) * INR x2 * PI) * cos PI + 0) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- (sin (0 + (1 + 1) * INR x2 * PI) * cos PI + 0) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZH2:(0 <= - x0)%Zx1:natH3:(- x0)%Z = Z.of_nat x1x2:natH4:x1 = (2 * x2)%nat \/ x1 = S (2 * x2)H5:x1 = S (2 * x2)- (sin 0 * cos PI + 0) = 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z(0 <= - x0)%Zx:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z0 <= IZR (- x0)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZIZR x0 + 0 <= IZR x0 + IZR (- x0)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZIZR x0 <= IZR x0 + IZR (- x0)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZIZR x0 <= IZR x0 + - IZR x0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%ZIZR x0 <= 0x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Z- sin (- IZR x0 * PI) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Zsin (- (- IZR x0 * PI)) = sin (IZR x0 * PI)x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Zsin (- - (IZR x0 * PI)) = sin (IZR x0 * PI)reflexivity. Qed.x:RH:exists k : Z, x = IZR k * PIx0:ZH0:x = IZR x0 * PIH1:(x0 < 0)%Zsin (IZR x0 * PI) = sin (IZR x0 * PI)x:Rsin x = 0 -> exists k : Z, x = IZR k * PIx:Rsin x = 0 -> exists k : Z, x = IZR k * PIx:RHx:sin x = 0exists k : Z, x = IZR k * PIx:RHx:sin x = 0q:Zr:REQ:x = IZR q * PI + rHr:0 <= rHr':r < Rabs PIexists k : Z, x = IZR k * PIx:RHx:sin x = 0q:Zr:REQ:x = IZR q * PI + rHr:0 <= rHr':r < Rabs PIx = IZR q * PIx:RHx:sin x = 0q:Zr:REQ:x = IZR q * PI + rHr:0 <= rHr':r < Rabs PIx = IZR q * PI + 0q:Zr:RHx:sin (IZR q * PI + r) = 0Hr:0 <= rHr':r < Rabs PIIZR q * PI + r = IZR q * PI + 0q:Zr:RHx:sin (IZR q * PI + r) = 0Hr:0 <= rHr':r < Rabs PIr = 0q:Zr:RHx:sin (IZR q * PI) * cos r + cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIr = 0q:Zr:RHx:sin (IZR q * PI) * cos r + cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':cos (IZR q * PI) = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':sin r = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':cos (IZR q * PI) = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':cos (IZR q * PI) = 0Falseq:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':cos (IZR q * PI) = 0(sin (IZR q * PI))² + (cos (IZR q * PI))² = 1 -> Falseintros; now apply R1_neq_R0.q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':cos (IZR q * PI) = 00 = 1 -> Falseq:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < Rabs PIH:sin (IZR q * PI) = 0H':sin r = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 <= rHr':r < PIH:sin (IZR q * PI) = 0H':sin r = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 < rHr':r < PIH:sin (IZR q * PI) = 0H':sin r = 0r = 0q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 < rHr':r < PIH:sin (IZR q * PI) = 0H':sin r = 0Falseq:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 < rHr':r < PIH:sin (IZR q * PI) = 0H':sin r = 00 < sin r -> Falseapply Rlt_irrefl. Qed.q:Zr:RHx:cos (IZR q * PI) * sin r = 0Hr:0 < rHr':r < PIH:sin (IZR q * PI) = 0H':sin r = 00 < 0 -> Falsex:Rcos x = 0 -> exists k : Z, x = IZR k * PI + PI / 2x:Rcos x = 0 -> exists k : Z, x = IZR k * PI + PI / 2x:Rsin (PI / 2 + x) = 0 -> exists k : Z, x = IZR k * PI + PI / 2x:RHx:sin (PI / 2 + x) = 0exists k : Z, x = IZR k * PI + PI / 2x:RHx:sin (PI / 2 + x) = 0k:ZHk:PI / 2 + x = IZR k * PIexists k0 : Z, x = IZR k0 * PI + PI / 2x:Rk:ZHk:PI / 2 + x = IZR k * PIexists k0 : Z, x = IZR k0 * PI + PI / 2x:Rk:ZHk:PI / 2 + x = IZR k * PIx = IZR (k - 1) * PI + PI / 2x:Rk:ZHk:PI / 2 + x = IZR k * PIx = (IZR k - 1) * PI + PI / 2x:Rk:ZHk:IZR k * PI = PI / 2 + xx = (IZR k - 1) * PI + PI / 2field. Qed.x:Rk:ZHk:IZR k * PI = PI / 2 + xx = (- PI + 2 * (PI / 2) + 2 * x) / 2x:R(exists k : Z, x = IZR k * PI + PI / 2) -> cos x = 0x:R(exists k : Z, x = IZR k * PI + PI / 2) -> cos x = 0x:R(exists k : Z, x = IZR k * PI + PI / 2) -> sin (PI / 2 + x) = 0k:Zsin (PI / 2 + (IZR k * PI + PI / 2)) = 0k:Zsin (IZR k * PI + PI) = 0k:Z- sin (IZR k * PI) = - 0k:Zsin (IZR k * PI) = 0now exists k. Qed.k:Zexists k0 : Z, IZR k * PI = IZR k0 * PIx:R0 <= x -> x <= 2 * PI -> sin x = 0 -> x = 0 \/ x = PI \/ x = 2 * PIx:R0 <= x -> x <= 2 * PI -> sin x = 0 -> x = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIHx:sin x = 0x = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIHx:sin x = 0k:ZHk:x = IZR k * PIx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI < xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI = xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI > xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI < xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI < xx = 2 * PIx:RHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI < xx = 2 * PIk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIIZR k * PI = 2 * PIk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIIZR k = 2k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIIZR k = IZR (- -2)k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIk = (- -2)%Zk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI(-2 + k)%Z = 0%Zk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-1 < IZR (-2 + k) < 1k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-1 < -2 + IZR k < 1k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-1 < -2 + IZR kk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-2 + IZR k < 1k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-1 < -2 + IZR kk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-2 + 1 < -2 + IZR kk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI1 < IZR know rewrite Rmult_1_l.k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI1 * PI < IZR k * PIk:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-2 + IZR k < 1k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-2 + IZR k <= 0k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PI-2 + IZR k <= -2 + 2k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIIZR k <= 2trivial.k:ZHi:IZR k * PI <= 2 * PIHx:PI < IZR k * PIIZR k * PI <= 2 * PIright; left; auto.x:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI = xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI > xx = 0 \/ x = PI \/ x = 2 * PIx:RLo:0 <= xHi:x <= 2 * PIk:ZHk:x = IZR k * PIHx:PI > xx = 0x:RLo:0 <= xk:ZHk:x = IZR k * PIHx:PI > xx = 0k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k * PI = 0k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k * PI = 0 * PIk:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k = 0k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIk = 0%Zk:ZLo:0 <= IZR k * PIHx:PI > IZR k * PI-1 < IZR k < 1k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PI-1 < IZR kk:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k < 1k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PI-1 < IZR kk:ZLo:0 <= IZR k * PIHx:PI > IZR k * PI0 <= IZR know rewrite Rmult_0_l.k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PI0 * PI <= IZR k * PIk:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k < 1now rewrite Rmult_1_l. Qed.k:ZLo:0 <= IZR k * PIHx:PI > IZR k * PIIZR k * PI < 1 * PIx:R0 <= x -> x <= 2 * PI -> x = 0 \/ x = PI \/ x = 2 * PI -> sin x = 0x:R0 <= x -> x <= 2 * PI -> x = 0 \/ x = PI \/ x = 2 * PI -> sin x = 0sin 0 = 0sin PI = 0sin (2 * PI) = 0now rewrite sin_0.sin 0 = 0now rewrite sin_PI.sin PI = 0now rewrite sin_2PI. Qed.sin (2 * PI) = 0x:R0 <= x -> x <= 2 * PI -> cos x = 0 -> x = PI / 2 \/ x = 3 * (PI / 2)x:R0 <= x -> x <= 2 * PI -> cos x = 0 -> x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0LT:x < 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0EQ:x = 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0GT:x > 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0LT:x < 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)0 <= PI / 2 + xx:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)0 <= PI / 2 + xx:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)0 <= PI / 2x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)0 <= xtrivial.x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)0 <= xx:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xPI / 2 + x <= 2 * PIx:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xPI / 2 + x <= 2 * PIx:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xPI / 2 + x < 2 * PInow apply Rplus_lt_compat_l.x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xPI / 2 + x < PI / 2 + 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 0x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 2 * PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 0x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 0Falsex:RLo:PI / 2 + 0 <= PI / 2 + xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 0Falseapply (Rlt_irrefl 0 (Rlt_le_trans 0 (PI / 2) 0 PI2_RGT_0 Lo)).x:RLo:PI / 2 <= 0Hi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 0Falsex:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = PIx = PI / 2x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:- (PI / 2) + (PI / 2 + x) = - (PI / 2) + PIx = PI / 2x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:x = - (PI / 2) + PIx = PI / 2field.x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:x = - (PI / 2) + PI- (PI / 2) + PI = PI / 2x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 2 * PIx = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:PI / 2 + x = 2 * PIx = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:- (PI / 2) + (PI / 2 + x) = - (PI / 2) + 2 * PIx = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:x = - (PI / 2) + 2 * PIx = 3 * (PI / 2)field.x:RLo:0 <= xHi:x <= 2 * PIHx:sin (PI / 2 + x) = 0LT:x < 3 * (PI / 2)Lo':0 <= PI / 2 + xHi':PI / 2 + x <= 2 * PIH:x = - (PI / 2) + 2 * PI- (PI / 2) + 2 * PI = 3 * (PI / 2)now right.x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0EQ:x = 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0GT:x > 3 * (PI / 2)x = PI / 2 \/ x = 3 * (PI / 2)x:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0GT:x > 3 * (PI / 2)Falsex:RLo:0 <= xHi:x <= 2 * PIHx:cos x = 0GT:x > 3 * (PI / 2)k:ZHk:x = IZR k * PI + PI / 2Falsex:RHi:x <= 2 * PIGT:x > 3 * (PI / 2)k:ZHk:x = IZR k * PI + PI / 2Falsek:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIFalsek:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PI(k < 2)%Zk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZFalsek:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PI(k < 2)%Zk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIIZR k < 2k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIIZR k < 2k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIIZR k * PI < 2 * PIk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIIZR k * PI < IZR k * PI + PI / 2k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PIIZR k * PI + 0 < IZR k * PI + PI / 2apply PI2_RGT_0.k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PI0 < PI / 2k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZFalsek:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%Z(1 < k)%Zk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZGT':(1 < k)%ZFalsek:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%Z(1 < k)%Zk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%Z1 < IZR kk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%Z1 < IZR kk:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZPI < IZR k * PIk:ZGT:IZR k * PI + PI / 2 > PI / 2 + PIHi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZPI < IZR k * PInow apply Rplus_lt_reg_l in GT.k:ZGT:PI / 2 + IZR k * PI > PI / 2 + PIHi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZPI < IZR k * PIomega. Qed.k:ZGT:IZR k * PI + PI / 2 > 3 * (PI / 2)Hi:IZR k * PI + PI / 2 <= 2 * PILT:(k < 2)%ZGT':(1 < k)%ZFalsex:R0 <= x -> x <= 2 * PI -> x = PI / 2 \/ x = 3 * (PI / 2) -> cos x = 0x:R0 <= x -> x <= 2 * PI -> x = PI / 2 \/ x = 3 * (PI / 2) -> cos x = 0Hi:PI / 2 <= 2 * PILo:0 <= PI / 2cos (PI / 2) = 0Hi:3 * (PI / 2) <= 2 * PILo:0 <= 3 * (PI / 2)cos (3 * (PI / 2)) = 0now rewrite cos_PI2.Hi:PI / 2 <= 2 * PILo:0 <= PI / 2cos (PI / 2) = 0now rewrite cos_3PI2. Qed.Hi:3 * (PI / 2) <= 2 * PILo:0 <= 3 * (PI / 2)cos (3 * (PI / 2)) = 0