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 Import Rtrigo_def.
Local Open Scope R_scope.

(***************************************************************)
Using series definitions of cos and sin
(***************************************************************)

Definition sin_term (a:R) (i:nat) : R :=
  (-1) ^ i * (a ^ (2 * i + 1) / INR (fact (2 * i + 1))).

Definition cos_term (a:R) (i:nat) : R :=
  (-1) ^ i * (a ^ (2 * i) / INR (fact (2 * i))).

Definition sin_approx (a:R) (n:nat) : R := sum_f_R0 (sin_term a) n.

Definition cos_approx (a:R) (n:nat) : R := sum_f_R0 (cos_term a) n.

(**********)
(*
Lemma Alt_PI_4 : Alt_PI <= 4.
Proof.
  assert (H0 := PI_ineq 0).
  elim H0; clear H0; intros _ H0.
  unfold tg_alt, PI_tg in H0; simpl in H0.
  rewrite Rinv_1 in H0; rewrite Rmult_1_r in H0; unfold Rdiv in H0.
  apply Rmult_le_reg_l with (/ 4).
  apply Rinv_0_lt_compat; prove_sup0.
  rewrite <- Rinv_l_sym; [ rewrite Rmult_comm; assumption | discrR ].
Qed.
*)
(**********)

forall (a : R) (n : nat), 0 <= a -> a <= 4 -> sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))

forall (a : R) (n : nat), 0 <= a -> a <= 4 -> sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a = 0

sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0

sin_approx a (2 * n + 1) <= sin a <= sin_approx a (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0

0 < a -> sum_f_R0 (sin_term a) (2 * n + 1) <= sin a <= sum_f_R0 (sin_term a) (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

sum_f_R0 (sin_term a) (2 * n + 1) <= sin a <= sum_f_R0 (sin_term a) (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

sin_term a 0 + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= sum_f_R0 (sin_term a) (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

sin_term a 0 + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= sin_term a 0 + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

(sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

(sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))

sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))

Un_decreasing Un
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat

(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1)) -> a ^ (2 * S (S n0) + 1) / INR (fact (2 * S (S n0) + 1)) <= a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a ^ S (S (2 * S n0 + 1)) / INR (fact (S (S (2 * S n0 + 1)))) <= a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a ^ (2 * S n0 + 1) * (a * a) / INR (fact (S (S (2 * S n0 + 1)))) <= a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= a ^ (2 * S n0 + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a * a * / INR (fact (S (S (2 * S n0 + 1)))) <= / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a * / INR (fact (S (S (2 * S n0 + 1)))) <= / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 < INR (fact (S (S (2 * S n0 + 1))))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (S (S (2 * S n0 + 1)))) * (a * a * / INR (fact (S (S (2 * S n0 + 1))))) <= INR (fact (S (S (2 * S n0 + 1)))) * / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

INR (fact (S (S (2 * S n0 + 1)))) * (a * a * / INR (fact (S (S (2 * S n0 + 1))))) <= INR (fact (S (S (2 * S n0 + 1)))) * / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a * 1 <= INR (fact (2 * S (S n0) + 1)) * / INR (fact (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= INR (S (S (2 * S n0 + 1))) * (INR (S (2 * S n0 + 1)) * 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= INR (S (S (2 * S n0 + 1))) * INR (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= 16
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a * a <= 4²
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a <= 4
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 4
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 4
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 4
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

16 <= 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

20 <= 4 * INR n0 * INR n0 + 18 * INR n0 + 20
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 4 * INR n0 * INR n0 + 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 4 * INR n0 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 4 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 4
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 18 * INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= 18
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

0 <= INR n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

INR (fact (2 * S n0 + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

INR (fact (2 * S (S n0) + 1)) <> 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
H3:(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))

a ^ (2 * S n0 + 1) * (a * a) = a ^ S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat
(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
n0:nat

(2 * S (S n0) + 1)%nat = S (S (2 * S n0 + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))

Un_cv Un 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n0 : nat, (n0 >= N0)%nat -> Rabs (a ^ n0 / INR (fact n0) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n0 : nat, (n0 >= N)%nat -> Rabs (a ^ n0 / INR (fact n0) - 0) < eps

exists N0 : nat, forall n0 : nat, (n0 >= N0)%nat -> Rabs (a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)) - 0) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(2 * S n0 + 1 >= N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(S (2 * S n0) >= N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(N <= 2 * S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(N <= 2 * S N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S N <= 2 * S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(N <= 2 * N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * N <= 2 * S N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S N <= 2 * S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(2 * N <= 2 * S N)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S N <= 2 * S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(2 * S N <= 2 * S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

(2 * S n0 <= S (2 * S n0))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat
S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
H3:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps0
eps:R
H4:eps > 0
N:nat
H5:forall n1 : nat, (n1 >= N)%nat -> Rabs (a ^ n1 / INR (fact n1) - 0) < eps
n0:nat
H6:(n0 >= N)%nat

S (2 * S n0) = (2 * S n0 + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - sin a)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - (let (a0, _) := exist_sin a² in a * a0))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:sin_in a² x

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (a - a * x)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0

exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (tg_alt Un) n0 - (a - a * x)) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0

0 < eps / Rabs a -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (tg_alt Un) n0 - (a - a * x)) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps / Rabs a

exists N0 : nat, forall n0 : nat, (n0 >= N0)%nat -> Rabs (sum_f_R0 (tg_alt Un) n0 - (a - a * x)) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

Rabs (sum_f_R0 (tg_alt Un) n0 - (a - a * x)) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

Rabs (a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) - (a - a * x)) < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

0 < / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
/ Rabs a * Rabs (a * - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0) + a * x) < / Rabs a * eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

/ Rabs a * Rabs (a * - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0) + a * x) < / Rabs a * eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

Rabs (/ a) * Rabs (a * - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0) + a * x) < / Rabs a * eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0) + - x) < eps * / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 + - x) < eps * / Rabs a
n0:nat
H5:(n0 >= N)%nat

Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0) + - x) < eps * / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

a * (1 - sum_f_R0 (fun i : nat => sin_n i * a² ^ i) (S n0)) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

a * (1 - (sin_n 0 * a² ^ 0 + sum_f_R0 (fun i : nat => sin_n (S i) * a² ^ S i) (Init.Nat.pred (S n0)))) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

a * (1 - (1 * a² ^ 0 + sum_f_R0 (fun i : nat => sin_n (S i) * a² ^ S i) (Init.Nat.pred (S n0)))) = sum_f_R0 (tg_alt Un) n0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

forall i : nat, (i <= n0)%nat -> sin_n (S i) * (a² * a² ^ i) * - a = tg_alt Un i
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat

- (-1) ^ i / INR (fact (2 * S i + 1)) * (a² * a² ^ i) * - a = (-1) ^ i * (a ^ (2 * S i + 1) / INR (fact (2 * S i + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat
- (-1) ^ i = (-1) ^ S i
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat

- (-1) ^ i / INR (fact (2 * S i + 1)) * (a² * a² ^ i) * - a = (-1) ^ i * (a² * a² ^ i * a / INR (fact (2 * S i + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat
a² * a² ^ i * a = a ^ (2 * S i + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat
- (-1) ^ i = (-1) ^ S i
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat

a² * a² ^ i * a = a ^ (2 * S i + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat
- (-1) ^ i = (-1) ^ S i
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => sin_n i0 * a² ^ i0) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
i:nat
H7:(i <= n0)%nat

- (-1) ^ i = (-1) ^ S i
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

1 = sin_n 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat
(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n1 : nat => a ^ (2 * S n1 + 1) / INR (fact (2 * S n1 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps0
eps:R
H3:eps > 0
H4:0 < eps / Rabs a
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n1 - x) < eps / Rabs a
n0:nat
H5:(n0 >= N)%nat

(0 < S n0)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0

0 < eps / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0

0 < eps
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0
0 < / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => sin_n i * a² ^ i) n0 - x) < eps0
eps:R
H3:eps > 0

0 < / Rabs a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n) -> - sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n)
H3:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a
H4:a - sin a <= sum_f_R0 (tg_alt Un) (2 * n)

- sum_f_R0 (tg_alt Un) (2 * n) <= sin a - a <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
H2:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a <= sum_f_R0 (tg_alt Un) (2 * n)
H3:sum_f_R0 (tg_alt Un) (S (2 * n)) <= a - sin a
H4:a - sin a <= sum_f_R0 (tg_alt Un) (2 * n)

- sum_f_R0 (tg_alt Un) (2 * n) <= - (a - sin a) <= - sum_f_R0 (tg_alt Un) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

- sum_f_R0 (tg_alt Un) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (fun i : nat => tg_alt Un i * -1) (S (2 * n)) = sum_f_R0 (fun i : nat => sin_term a (S i)) (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
i:nat
H2:(i <= S (2 * n))%nat

(-1) ^ i * (a ^ (2 * S i + 1) / INR (fact (2 * S i + 1))) * -1 = -1 * (-1) ^ i * (a ^ (2 * S i + 1) / INR (fact (2 * S i + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

sum_f_R0 (fun i : nat => tg_alt Un i * -1) (2 * n) = sum_f_R0 (fun i : nat => sin_term a (S i)) (2 * n)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
i:nat
H2:(i <= 2 * n)%nat

tg_alt Un i * -1 = sin_term a (S i)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i0 : nat => sin_term a (S i0)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
i:nat
H2:(i <= 2 * n)%nat

(-1) ^ i * (a ^ (2 * S i + 1) / INR (fact (2 * S i + 1))) * -1 = -1 * (-1) ^ i * (a ^ (2 * S i + 1) / INR (fact (2 * S i + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

S (2 * n) = Init.Nat.pred (2 * (n + 1))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

S (2 * n) = Init.Nat.pred (S (S (2 * n)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (S (2 * n)) = (2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

S (S (2 * n)) = (2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

(2 * n)%nat = Init.Nat.pred (2 * n + 1)
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

(2 * n)%nat = Init.Nat.pred (S (2 * n))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R
S (2 * n) = (2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
Un:=fun n0 : nat => a ^ (2 * S n0 + 1) / INR (fact (2 * S n0 + 1)):nat -> R

S (2 * n) = (2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))) -> a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

- a + (a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1))) <= - a + sin a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

sin a <= a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
H1:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))
H2:sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * n + 1)) <= sin a - a
H3:sin a - a <= sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1)))

- a + sin a <= - a + (a + sum_f_R0 (fun i : nat => sin_term a (S i)) (Init.Nat.pred (2 * (n + 1))))
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

a = sin_term a 0
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

(0 < 2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

(0 < S (S (2 * n)))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
S (S (2 * n)) = (2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

S (S (2 * n)) = (2 * (n + 1))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

(0 < 2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

(0 < S (2 * n))%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a
S (2 * n) = (2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
Hyp_a_pos:0 < a

S (2 * n) = (2 * n + 1)%nat
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0
0 < a
a:R
n:nat
H:0 <= a
H0:a <= 4
Hyp_a:a <> 0

0 < a
inversion H; [ assumption | elim Hyp_a; symmetry ; assumption ]. Qed. (**********)

forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))

forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))

((forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))) -> forall (a0 : R) (n0 : nat), -2 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat

forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

sum_f_R0 (cos_term a0) (2 * n0 + 1) <= cos a0 <= sum_f_R0 (cos_term a0) (2 * (n0 + 1))

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

cos_term a0 0 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= sum_f_R0 (cos_term a0) (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

cos_term a0 0 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= cos_term a0 0 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

(sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))

sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

(sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))

sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))

Un_decreasing Un
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat

a0 ^ (2 * S (S n1)) / INR (fact (2 * S (S n1))) <= a0 ^ (2 * S n1) / INR (fact (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat

(2 * S (S n1))%nat = S (S (2 * S n1)) -> a0 ^ (2 * S (S n1)) / INR (fact (2 * S (S n1))) <= a0 ^ (2 * S n1) / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 ^ (2 * S n1) * (a0 * a0) / INR (fact (S (S (2 * S n1)))) <= a0 ^ (2 * S n1) / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= a0 ^ (2 * S n1)
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 * a0 * / INR (fact (S (S (2 * S n1)))) <= / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 * / INR (fact (S (S (2 * S n1)))) <= / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 < INR (fact (S (S (2 * S n1))))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (S (S (2 * S n1)))) * (a0 * a0 * / INR (fact (S (S (2 * S n1))))) <= INR (fact (S (S (2 * S n1)))) * / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

INR (fact (S (S (2 * S n1)))) * (a0 * a0 * / INR (fact (S (S (2 * S n1))))) <= INR (fact (S (S (2 * S n1)))) * / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 * 1 <= INR (fact (2 * S (S n1))) * / INR (fact (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 <= INR (S (S (2 * S n1))) * (INR (S (2 * S n1)) * 1)
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 <= 4
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 * a0 <= 2²
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 <= 2
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= a0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 2
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= a0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 2
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 2
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

4 <= 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

12 <= 4 * INR n1 * INR n1 + 14 * INR n1 + 12
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 4 * INR n1 * INR n1 + 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 4 * INR n1 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 4 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 4
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 14 * INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= 14
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

0 <= INR n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

INR (fact (2 * S n1)) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

INR (fact (2 * S (S n1))) <> 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))
a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
H4:(2 * S (S n1))%nat = S (S (2 * S n1))

a0 ^ (2 * S n1) * (a0 * a0) = a0 ^ S (S (2 * S n1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat
(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
n1:nat

(2 * S (S n1))%nat = S (S (2 * S n1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))

Un_cv Un 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat

Rabs (a0 ^ (2 * S n1) / INR (fact (2 * S n1)) - 0) < eps
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat

(N <= 2 * S N)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat
(2 * S N <= 2 * S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat

(N <= 2 * N)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat
(2 * N <= 2 * S N)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat
(2 * S N <= 2 * S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat

(2 * N <= 2 * S N)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat
(2 * S N <= 2 * S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H4:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps0
eps:R
H5:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (a0 ^ n2 / INR (fact n2) - 0) < eps
n1:nat
H7:(n1 >= N)%nat

(2 * S N <= 2 * S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - cos a0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - (let (a1, _) := exist_cos a0² in a1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:cos_in a0² x

Un_cv (fun N : nat => sum_f_R0 (tg_alt Un) N) (1 - x)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n1 - x) < eps0
eps:R
H4:eps > 0

exists N : nat, forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (tg_alt Un) n1 - (1 - x)) < eps
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n1 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n1 : nat, (n1 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n1 - x) < eps

exists N0 : nat, forall n1 : nat, (n1 >= N0)%nat -> Rabs (sum_f_R0 (tg_alt Un) n1 - (1 - x)) < eps
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

Rabs (sum_f_R0 (tg_alt Un) n1 - (1 - x)) < eps
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

Rabs (1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) - (1 - x)) < eps
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 + - x) < eps
n1:nat
H5:(n1 >= N)%nat

(S n1 >= N)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 + - x) < eps
n1:nat
H5:(n1 >= N)%nat

(N <= n1)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 + - x) < eps
n1:nat
H5:(n1 >= N)%nat
(n1 <= S n1)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 + - x) < eps
n1:nat
H5:(n1 >= N)%nat

(n1 <= S n1)%nat
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

1 - sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) (S n1) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

1 - (cos_n 0 * a0² ^ 0 + sum_f_R0 (fun i : nat => cos_n (S i) * a0² ^ S i) (Init.Nat.pred (S n1))) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

1 - (1 * a0² ^ 0 + sum_f_R0 (fun i : nat => cos_n (S i) * a0² ^ S i) (Init.Nat.pred (S n1))) = sum_f_R0 (tg_alt Un) n1
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat

(-1) ^ S i / INR (fact (2 * S i)) * (a0² * a0² ^ i) * -1 = (-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i)))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat

- (-1) ^ i / INR (fact (2 * S i)) * (a0² * a0² ^ i) * -1 = (-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i)))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat
- (-1) ^ i = (-1) ^ S i
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat

- (-1) ^ i / INR (fact (2 * S i)) * (a0² * a0² ^ i) * -1 = (-1) ^ i * (a0² * a0² ^ i / INR (fact (2 * S i)))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat
a0² * a0² ^ i = a0 ^ (2 * S i)
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat
- (-1) ^ i = (-1) ^ S i
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat

a0² * a0² ^ i = a0 ^ (2 * S i)
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat
- (-1) ^ i = (-1) ^ S i
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => cos_n i0 * a0² ^ i0) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
i:nat
H7:(i <= n1)%nat

- (-1) ^ i = (-1) ^ S i
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

1 = cos_n 0
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat
(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n2 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))) -> forall (a1 : R) (n2 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n2 + 1) <= cos a1 <= cos_approx a1 (2 * (n2 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n2 : nat => a0 ^ (2 * S n2) / INR (fact (2 * S n2)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
x:R
p:forall eps0 : R, eps0 > 0 -> exists N0 : nat, forall n2 : nat, (n2 >= N0)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps0
eps:R
H4:eps > 0
N:nat
H6:forall n2 : nat, (n2 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => cos_n i * a0² ^ i) n2 - x) < eps
n1:nat
H5:(n1 >= N)%nat

(0 < S n1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0) -> - sum_f_R0 (tg_alt Un) (2 * n0) <= cos a0 - 1 <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
H3:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0)
H4:sum_f_R0 (tg_alt Un) (S (2 * n0)) <= 1 - cos a0
H5:1 - cos a0 <= sum_f_R0 (tg_alt Un) (2 * n0)

- sum_f_R0 (tg_alt Un) (2 * n0) <= - (1 - cos a0) <= - sum_f_R0 (tg_alt Un) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

- sum_f_R0 (tg_alt Un) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

sum_f_R0 (fun i : nat => tg_alt Un i * -1) (S (2 * n0)) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
i:nat
H3:(i <= S (2 * n0))%nat

(-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i))) * -1 = -1 * (-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

- sum_f_R0 (tg_alt Un) (2 * n0) = sum_f_R0 (fun i : nat => cos_term a0 (S i)) (2 * n0)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i0 : nat => cos_term a0 (S i0)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
i:nat
H3:(i <= 2 * n0)%nat

(-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i))) * -1 = -1 * (-1) ^ i * (a0 ^ (2 * S i) / INR (fact (2 * S i)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

S (2 * n0) = Init.Nat.pred (2 * (n0 + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

S (2 * n0) = Init.Nat.pred (S (S (2 * n0)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (S (2 * n0)) = (2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

S (S (2 * n0)) = (2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

(2 * n0)%nat = Init.Nat.pred (2 * n0 + 1)
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

(2 * n0)%nat = Init.Nat.pred (S (2 * n0))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R
S (2 * n0) = (2 * n0 + 1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
Un:=fun n1 : nat => a0 ^ (2 * S n1) / INR (fact (2 * S n1)):nat -> R

S (2 * n0) = (2 * n0 + 1)%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))) -> 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))

1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))

- (1) + (1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1))) <= - (1) + cos a0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))

cos a0 <= 1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
H2:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))
H3:sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * n0 + 1)) <= cos a0 - 1
H4:cos a0 - 1 <= sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1)))

- (1) + cos a0 <= - (1) + (1 + sum_f_R0 (fun i : nat => cos_term a0 (S i)) (Init.Nat.pred (2 * (n0 + 1))))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

1 = cos_term a0 0
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

(0 < 2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

(0 < S (S (2 * n0)))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
S (S (2 * n0)) = (2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

S (S (2 * n0)) = (2 * (n0 + 1))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

(0 < 2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

(0 < S (2 * n0))%nat
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2
S (2 * n0) = (2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:(forall (a1 : R) (n1 : nat), 0 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))) -> forall (a1 : R) (n1 : nat), -2 <= a1 -> a1 <= 2 -> cos_approx a1 (2 * n1 + 1) <= cos a1 <= cos_approx a1 (2 * (n1 + 1))
a:R
n:nat
a0:R
n0:nat
H0:0 <= a0
H1:a0 <= 2

S (2 * n0) = (2 * n0 + 1)%nat

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))

(forall (a : R) (n : nat), 0 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))) -> forall (a : R) (n : nat), -2 <= a -> a <= 2 -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hlt:0 < a

cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Heq:0 = a
cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Heq:0 = a

cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a

cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a

0 < - a -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
0 < - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a

(forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0) -> cos_approx a (2 * n + 1) <= cos a <= cos_approx a (2 * (n + 1))
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
0 < - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
H3:forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0

0 <= - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
H3:forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0
- a <= 2
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
0 < - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
H3:forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0

- a <= 2
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a
forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
0 < - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
H2:0 < - a

forall (x : R) (n0 : nat), cos_approx x n0 = cos_approx (- x) n0
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a
0 < - a
H:forall (a0 : R) (n0 : nat), 0 <= a0 -> a0 <= 2 -> cos_approx a0 (2 * n0 + 1) <= cos a0 <= cos_approx a0 (2 * (n0 + 1))
a:R
n:nat
H0:-2 <= a
H1:a <= 2
Hgt:0 > a

0 < - a
apply Ropp_0_gt_lt_contravar; assumption. Qed.