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. Require Import OmegaTactic. Local Open Scope R_scope. Definition A1 (x:R) (N:nat) : R := sum_f_R0 (fun k:nat => (-1) ^ k / INR (fact (2 * k)) * x ^ (2 * k)) N. Definition B1 (x:R) (N:nat) : R := sum_f_R0 (fun k:nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) N. Definition C1 (x y:R) (N:nat) : R := sum_f_R0 (fun k:nat => (-1) ^ k / INR (fact (2 * k)) * (x + y) ^ (2 * k)) N. Definition Reste1 (x y:R) (N:nat) : R := sum_f_R0 (fun k:nat => sum_f_R0 (fun l:nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (N - l) / INR (fact (2 * (N - l)))) * y ^ (2 * (N - l))) (pred (N - k))) (pred N). Definition Reste2 (x y:R) (N:nat) : R := sum_f_R0 (fun k:nat => sum_f_R0 (fun l:nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (N - l) / INR (fact (2 * (N - l) + 1))) * y ^ (2 * (N - l) + 1)) (pred (N - k))) ( pred N). Definition Reste (x y:R) (N:nat) : R := Reste2 x y N - Reste1 x y (S N). (* Here is the main result that will be used to prove that (cos (x+y))=(cos x)(cos y)-(sin x)(sin y) *)forall (x y : R) (n : nat), (0 < n)%nat -> A1 x (S n) * A1 y (S n) - B1 x n * B1 y n + Reste x y n = C1 x y (S n)forall (x y : R) (n : nat), (0 < n)%nat -> A1 x (S n) * A1 y (S n) - B1 x n * B1 y n + Reste x y n = C1 x y (S n)x, y:Rn:natH:(0 < n)%natA1 x (S n) * A1 y (S n) - B1 x n * B1 y n + Reste x y n = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * x ^ (2 * k)) (S n) * sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * y ^ (2 * k)) (S n) - sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) n * sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * y ^ (2 * k + 1)) n + Reste x y n = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n) + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n)) - sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) n * sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * y ^ (2 * k + 1)) n + Reste x y n = C1 x y (S n)x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n) + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n)) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)) + Reste x y n = C1 x y (S n)x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n) + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n)) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)) + (Reste2 x y n - Reste1 x y (S n)) = C1 x y (S n)x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n) + Reste1 x y (S n) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)) + (Reste2 x y n - Reste1 x y (S n)) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n) + Reste1 x y (S n) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + Reste2 x y n) + (Reste2 x y n - Reste1 x y (S n)) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) + Reste1 x y (S n) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + Reste2 x y n) + (Reste2 x y n - Reste1 x y (S n)) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) + Reste1 x y (S n) - (sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n + Reste2 x y n) + (Reste2 x y n - Reste1 x y (S n)) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) + - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) n = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) + sum_f_R0 sin_nnn (S n) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun l : nat => (-1) ^ l / INR (fact (2 * l)) * sum_f_R0 (fun l0 : nat => C (2 * l) (2 * l0) * x ^ (2 * l0) * y ^ (2 * (l - l0))) l + sin_nnn l) (S n) = C1 x y (S n)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun l : nat => (-1) ^ l / INR (fact (2 * l)) * sum_f_R0 (fun l0 : nat => C (2 * l) (2 * l0) * x ^ (2 * l0) * y ^ (2 * (l - l0))) l + sin_nnn l) (S n) = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * (x + y) ^ (2 * k)) (S n)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= S n)%nat(-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> RH0:(0 <= S n)%nat(-1) ^ 0 / INR (fact (2 * 0)) * sum_f_R0 (fun l : nat => C (2 * 0) (2 * l) * x ^ (2 * l) * y ^ (2 * (0 - l))) 0 + sin_nnn 0%nat = (-1) ^ 0 / INR (fact (2 * 0)) * (x + y) ^ (2 * 0)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sin_nnn (S i) = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> RH0:(0 <= S n)%nat1 / 1 * (C 0 0 * 1 * 1) + 0 = 1 / 1 * 1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sin_nnn (S i) = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> RH0:(0 <= S n)%nat1 / 1 * (1 / (1 * 1) * 1 * 1) + 0 = 1 / 1 * 1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sin_nnn (S i) = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sin_nnn (S i) = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + (-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)(-1) ^ S i / INR (fact (2 * S i)) * (sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i) = (-1) ^ S i / INR (fact (2 * S i)) * (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = (x + y) ^ (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = sum_f_R0 (fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0)) (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i) + sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = sum_f_R0 (fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0)) (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) + sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = sum_f_R0 (fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0)) (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) + sum_f_R0 (fun l : nat => Wn (S (2 * l))) i = sum_f_R0 (fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0)) (2 * S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (S (2 * l))) i = sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (S (2 * l))) i = sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%natWn (S (2 * i0)) = C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%natC (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ (2 * S i - S (2 * i0)) = C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%naty ^ (2 * S i - S (2 * i0)) = y ^ S (2 * (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%naty ^ S (2 * (i - i0)) = y ^ S (2 * (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%natS (2 * (i - i0)) = (2 * S i - S (2 * i0))%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= i)%natS (2 * (i - i0)) = (2 * S i - S (2 * i0))%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i0 : nat => C (2 * S i) i0 * x ^ i0 * y ^ (2 * S i - i0):nat -> Rsum_f_R0 (fun l : nat => Wn (2 * l)%nat) (S i) = sum_f_R0 (fun l : nat => C (2 * S i) (2 * l) * x ^ (2 * l) * y ^ (2 * (S i - l))) (S i)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%natWn (2 * i0)%nat = C (2 * S i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (S i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%natC (2 * S i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * S i - 2 * i0) = C (2 * S i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (S i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%naty ^ (2 * S i - 2 * i0) = y ^ (2 * (S i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%naty ^ (2 * (S i - i0)) = y ^ (2 * (S i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%nat(2 * (S i - i0))%nat = (2 * S i - 2 * i0)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(S i <= S n)%natHreci:(i <= S n)%nat -> (-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i + sin_nnn i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)Wn:=fun i1 : nat => C (2 * S i) i1 * x ^ i1 * y ^ (2 * S i - i1):nat -> Ri0:natH1:(i0 <= S i)%nat(2 * (S i - i0))%nat = (2 * S i - 2 * i0)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = - sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = -1 * sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (k - p) / INR (fact (2 * (k - p) + 1)) * y ^ (2 * (k - p) + 1))) k) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 sin_nnn (S n) = sum_f_R0 (fun i : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1) nx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsin_nnn 0%nat + sum_f_R0 (fun i : nat => sin_nnn (S i)) (Init.Nat.pred (S n)) = sum_f_R0 (fun i : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1) nx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 + sum_f_R0 (fun i : nat => sin_nnn (S i)) (Init.Nat.pred (S n)) = sum_f_R0 (fun i : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1) nx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun i : nat => sin_nnn (S i)) (Init.Nat.pred (S n)) = sum_f_R0 (fun i : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1) nx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%nat(* replace (pred (S n)) with n; [ idtac | reflexivity ]. *)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Rsum_f_R0 (fun i : nat => sin_nnn (S i)) n = sum_f_R0 (fun i : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1) nx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%natsin_nnn (S i) = sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) i * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%natsin_nnn (S i) = -1 * sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nat(-1) ^ S i / INR (fact (2 * S i)) * sum_f_R0 (fun l : nat => C (2 * S i) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (i - l))) i = -1 * sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%natsum_f_R0 (fun i0 : nat => C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * ((-1) ^ S i / INR (fact (2 * S i)))) i = -1 * sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p + 1)) * x ^ (2 * p + 1) * ((-1) ^ (i - p) / INR (fact (2 * (i - p) + 1)) * y ^ (2 * (i - p) + 1))) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%natsum_f_R0 (fun i0 : nat => C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * ((-1) ^ S i / INR (fact (2 * S i)))) i = sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * ((-1) ^ (i - i0) / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1)) * -1) ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natC (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * ((-1) ^ S i / INR (fact (2 * S i))) = (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * ((-1) ^ (i - i0) / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1)) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%nat(*repeat rewrite Rmult_assoc.*) (* rewrite (Rmult_comm (/ INR (fact (2 * S i)))). *)x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natC (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * ((-1) ^ S i * / INR (fact (2 * S i))) = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * ((-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1)) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natC (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * (-1) ^ S i * / INR (fact (2 * S i)) = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * S i)) * (C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * (-1) ^ S i) = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * (-1) ^ S i = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) * x ^ S (2 * i0) * y ^ S (2 * (i - i0)) * (-1) ^ S i = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) * x ^ (2 * i0 + 1) * y ^ S (2 * (i - i0)) * (-1) ^ S i = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) * x ^ (2 * i0 + 1) * y ^ (2 * (i - i0) + 1) * (-1) ^ S i = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) * x ^ (2 * i0 + 1) * y ^ (2 * (i - i0) + 1) * (-1 * (-1) ^ i0 * (-1) ^ (i - i0)) = (-1) ^ i0 * / INR (fact (2 * i0 + 1)) * x ^ (2 * i0 + 1) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0) + 1)) * y ^ (2 * (i - i0) + 1) * -1x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat-1 * (-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ S ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat-1 * (-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ S ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat-1 * (-1) ^ i0 * (-1) ^ (i - i0) = -1 * (-1) ^ ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat-1 * (-1) ^ i0 * (-1) ^ (i - i0) = -1 * (-1) ^ (i0 + (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat-1 * (-1) ^ i0 * (-1) ^ (i - i0) = -1 * ((-1) ^ i0 * (-1) ^ (i - i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * C (2 * S i) (S (2 * i0))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * (INR (fact (2 * S i)) / (INR (fact (S (2 * i0))) * INR (fact (2 * S i - S (2 * i0)))))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i)) * INR (fact (2 * S i)) * / (INR (fact (S (2 * i0))) * INR (fact (2 * S i - S (2 * i0))))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = 1 * / (INR (fact (S (2 * i0))) * INR (fact (2 * S i - S (2 * i0))))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / (INR (fact (S (2 * i0))) * INR (fact (2 * S i - S (2 * i0))))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0 + 1)) * / INR (fact (2 * (i - i0) + 1)) = / INR (fact (S (2 * i0))) * / INR (fact (2 * S i - S (2 * i0)))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * S i - (2 * i0 + 1)))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * (i - i0) + 1)) = / INR (fact (2 * (i - i0) + 1))x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat(2 * (i - i0) + 1)%nat = (2 * S i - (2 * i0 + 1))%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%nat(2 * (i - i0) + 1)%nat = (2 * S i - (2 * i0 + 1))%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i - S (2 * i0))) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> Ri:natH0:(i <= n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * S i)) <> 0x, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R0 = sin_nnn 0%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natsin_nnn:=fun n0 : nat => match n0 with | 0%nat => 0 | S p => (-1) ^ S p / INR (fact (2 * S p)) * sum_f_R0 (fun l : nat => C (2 * S p) (S (2 * l)) * x ^ S (2 * l) * y ^ S (2 * (p - l))) p end:nat -> R(0 < S n)%natx, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%nat(* ring. *)x, y:Rn:natH:(0 < n)%natsum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * sum_f_R0 (fun l : nat => C (2 * k) (2 * l) * x ^ (2 * l) * y ^ (2 * (k - l))) k) (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (k - p) / INR (fact (2 * (k - p))) * y ^ (2 * (k - p)))) k) (S n)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nat(-1) ^ i / INR (fact (2 * i)) * sum_f_R0 (fun l : nat => C (2 * i) (2 * l) * x ^ (2 * l) * y ^ (2 * (i - l))) i = sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (i - p) / INR (fact (2 * (i - p))) * y ^ (2 * (i - p)))) ix, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%natsum_f_R0 (fun i0 : nat => C (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * ((-1) ^ i / INR (fact (2 * i)))) i = sum_f_R0 (fun p : nat => (-1) ^ p / INR (fact (2 * p)) * x ^ (2 * p) * ((-1) ^ (i - p) / INR (fact (2 * (i - p))) * y ^ (2 * (i - p)))) ix, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natC (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * ((-1) ^ i / INR (fact (2 * i))) = (-1) ^ i0 / INR (fact (2 * i0)) * x ^ (2 * i0) * ((-1) ^ (i - i0) / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0)))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natC (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * ((-1) ^ i * / INR (fact (2 * i))) = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * ((-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0)))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natC (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * (-1) ^ i * / INR (fact (2 * i)) = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i)) * (C (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * (-1) ^ i) = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i)) * C (2 * i) (2 * i0) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * (-1) ^ i = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * (-1) ^ i = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) * x ^ (2 * i0) * y ^ (2 * (i - i0)) * ((-1) ^ i0 * (-1) ^ (i - i0)) = (-1) ^ i0 * / INR (fact (2 * i0)) * x ^ (2 * i0) * (-1) ^ (i - i0) * / INR (fact (2 * (i - i0))) * y ^ (2 * (i - i0))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ ix, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ ix, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ (i0 + (i - i0))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(-1) ^ i0 * (-1) ^ (i - i0) = (-1) ^ i0 * (-1) ^ (i - i0)x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(i0 + (i - i0))%nat = ix, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * C (2 * i) (2 * i0)x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * (INR (fact (2 * i)) / (INR (fact (2 * i0)) * INR (fact (2 * i - 2 * i0))))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i)) * INR (fact (2 * i)) * / (INR (fact (2 * i0)) * INR (fact (2 * i - 2 * i0)))x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = 1 * / (INR (fact (2 * i0)) * INR (fact (2 * i - 2 * i0)))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / (INR (fact (2 * i0)) * INR (fact (2 * i - 2 * i0)))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i0)) * / INR (fact (2 * i - 2 * i0))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i - 2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat/ INR (fact (2 * i0)) * / INR (fact (2 * (i - i0))) = / INR (fact (2 * i0)) * / INR (fact (2 * (i - i0)))x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(2 * (i - i0))%nat = (2 * i - 2 * i0)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i - 2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%nat(2 * (i - i0))%nat = (2 * i - 2 * i0)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i - 2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i - 2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i - 2 * i0)) <> 0x, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= S n)%nati0:natH1:(i0 <= i)%natINR (fact (2 * i)) <> 0x, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natReste2 x y n = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k) + 1)) * x ^ (2 * S (l + k) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - k))) (Init.Nat.pred n)x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= Init.Nat.pred n)%natsum_f_R0 (fun l : nat => (-1) ^ S (l + i) / INR (fact (2 * S (l + i) + 1)) * x ^ (2 * S (l + i) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1))) * y ^ (2 * (n - l) + 1)) (Init.Nat.pred (n - i)) = sum_f_R0 (fun l : nat => (-1) ^ S (l + i) / INR (fact (2 * S (l + i) + 1)) * x ^ (2 * S (l + i) + 1) * ((-1) ^ (n - l) / INR (fact (2 * (n - l) + 1)) * y ^ (2 * (n - l) + 1))) (Init.Nat.pred (n - i))x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= Init.Nat.pred n)%nati0:natH1:(i0 <= Init.Nat.pred (n - i))%nat(-1) ^ S (i0 + i) / INR (fact (2 * S (i0 + i) + 1)) * x ^ (2 * S (i0 + i) + 1) * ((-1) ^ (n - i0) / INR (fact (2 * (n - i0) + 1))) * y ^ (2 * (n - i0) + 1) = (-1) ^ S (i0 + i) / INR (fact (2 * S (i0 + i) + 1)) * x ^ (2 * S (i0 + i) + 1) * ((-1) ^ (n - i0) / INR (fact (2 * (n - i0) + 1)) * y ^ (2 * (n - i0) + 1))x, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%natReste1 x y (S n) = sum_f_R0 (fun k : nat => sum_f_R0 (fun l : nat => (-1) ^ S (l + k) / INR (fact (2 * S (l + k))) * x ^ (2 * S (l + k)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - k))) (Init.Nat.pred (S n))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= Init.Nat.pred (S n))%natsum_f_R0 (fun l : nat => (-1) ^ S (l + i) / INR (fact (2 * S (l + i))) * x ^ (2 * S (l + i)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l)))) * y ^ (2 * (S n - l))) (Init.Nat.pred (S n - i)) = sum_f_R0 (fun l : nat => (-1) ^ S (l + i) / INR (fact (2 * S (l + i))) * x ^ (2 * S (l + i)) * ((-1) ^ (S n - l) / INR (fact (2 * (S n - l))) * y ^ (2 * (S n - l)))) (Init.Nat.pred (S n - i))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natx, y:Rn:natH:(0 < n)%nati:natH0:(i <= Init.Nat.pred (S n))%nati0:natH1:(i0 <= Init.Nat.pred (S n - i))%nat(-1) ^ S (i0 + i) / INR (fact (2 * S (i0 + i))) * x ^ (2 * S (i0 + i)) * ((-1) ^ (S n - i0) / INR (fact (2 * (S n - i0)))) * y ^ (2 * (S n - i0)) = (-1) ^ S (i0 + i) / INR (fact (2 * S (i0 + i))) * x ^ (2 * S (i0 + i)) * ((-1) ^ (S n - i0) / INR (fact (2 * (S n - i0))) * y ^ (2 * (S n - i0)))x, y:Rn:natH:(0 < n)%nat(0 < S n)%natapply lt_O_Sn. Qed.x, y:Rn:natH:(0 < n)%nat(0 < S n)%natforall (x : R) (i : nat), x ^ (2 * i) = (x * x) ^ iforall (x : R) (i : nat), x ^ (2 * i) = (x * x) ^ ix:Ri:natx ^ (2 * i) = (x * x) ^ iunfold Rsqr in H; exact H. Qed.x:Ri:natH:x ^ (2 * i) = x² ^ ix ^ (2 * i) = (x * x) ^ iforall x : R, Un_cv (A1 x) (cos x)forall x : R, Un_cv (A1 x) (cos x)x:RUn_cv (A1 x) (cos x)x, x0:Rp:cos_in x² x0Un_cv (A1 x) x0x, x0:Rp:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n - x0) < epsUn_cv (A1 x) x0x, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n - x0) < eps0eps:RH:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (A1 x n - x0) < epsx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n - x0) < eps0eps:RH:eps > 0x1:natH0:forall n : nat, (n >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n - x0) < epsexists N : nat, forall n : nat, (n >= N)%nat -> Rabs (A1 x n - x0) < epsx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (A1 x n - x0) < epsx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * x ^ (2 * k)) n - x0) < epsx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x * x) ^ i) n - x0) < epsx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natsum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * x ^ (2 * k)) nx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natsum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * x ^ (2 * k)) nx, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * x² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natforall i : nat, (i <= n)%nat -> (-1) ^ i / INR (fact (2 * i)) * (x * x) ^ i = (-1) ^ i / INR (fact (2 * i)) * x ^ (2 * i)x, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(-1) ^ i / INR (fact (2 * i)) * (x * x) ^ i = (-1) ^ i / INR (fact (2 * i)) * x ^ (2 * i)x, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(-1) ^ i / INR (fact (2 * i)) * x ^ (2 * i) = (-1) ^ i / INR (fact (2 * i)) * x ^ (2 * i)x, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%natx ^ (2 * i) = (x * x) ^ iapply pow_sqr. Qed.x, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * x² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%natx ^ (2 * i) = (x * x) ^ iforall x y : R, Un_cv (C1 x y) (cos (x + y))forall x y : R, Un_cv (C1 x y) (cos (x + y))x, y:RUn_cv (C1 x y) (cos (x + y))x, y:RUn_cv (C1 x y) (let (a, _) := exist_cos (x + y)² in a)x, y, x0:Rp:cos_in (x + y)² x0Un_cv (C1 x y) x0x, y, x0:Rp:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n - x0) < epsUn_cv (C1 x y) x0x, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n - x0) < eps0eps:RH:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (C1 x y n - x0) < epsx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n - x0) < eps0eps:RH:eps > 0x1:natH0:forall n : nat, (n >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n - x0) < epsexists N : nat, forall n : nat, (n >= N)%nat -> Rabs (C1 x y n - x0) < epsx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (C1 x y n - x0) < epsx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * (x + y) ^ (2 * k)) n - x0) < epsx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natRabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * ((x + y) * (x + y)) ^ i) n - x0) < epsx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natsum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * ((x + y) * (x + y)) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * (x + y) ^ (2 * k)) nx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natsum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * ((x + y) * (x + y)) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k)) * (x + y) ^ (2 * k)) nx, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i)) * (x + y)² ^ i) n0 - x0) < epsn:natH1:(n >= x1)%natforall i : nat, (i <= n)%nat -> (-1) ^ i / INR (fact (2 * i)) * ((x + y) * (x + y)) ^ i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)x, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(-1) ^ i / INR (fact (2 * i)) * ((x + y) * (x + y)) ^ i = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)x, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i) = (-1) ^ i / INR (fact (2 * i)) * (x + y) ^ (2 * i)x, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(x + y) ^ (2 * i) = ((x + y) * (x + y)) ^ iapply pow_sqr. Qed.x, y, x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < eps0eps:RH:eps > 0x1:natH0:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0)) * (x + y)² ^ i0) n0 - x0) < epsn:natH1:(n >= x1)%nati:natH2:(i <= n)%nat(x + y) ^ (2 * i) = ((x + y) * (x + y)) ^ iforall x : R, Un_cv (B1 x) (sin x)forall x : R, Un_cv (B1 x) (sin x)x:RUn_cv (B1 x) (sin x)x:RH:x = 0Un_cv (B1 x) (sin x)x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0Un_cv (B1 0) (sin 0)x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0Un_cv (B1 0) 0x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0Un_cv (fun N : nat => sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) N) 0x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(n >= 0)%natRabs (sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n - 0) < epsx:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(n >= 0)%natRabs (0 - 0) < epsx:RH:x = 0eps:RH0:eps > 0n:natH1:(n >= 0)%nat0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) nx:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(n >= 0)%nat0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) nx:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0H1:(0 >= 0)%nat0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) 0x:RH:x = 0eps:RH0:eps > 0n:natH1:(S n >= 0)%natHrecn:(n >= 0)%nat -> 0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) (S n)x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(S n >= 0)%natHrecn:(n >= 0)%nat -> 0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) (S n)x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(S n >= 0)%natHrecn:(n >= 0)%nat -> 0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n0 = 0 + (-1) ^ S n / INR (fact (2 * S n + 1)) * 0 ^ (2 * S n + 1)x:RH:x = 0eps:RH0:eps > 0n:natH1:(S n >= 0)%natHrecn:(n >= 0)%nat -> 0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n(n >= 0)%natx:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x = 0eps:RH0:eps > 0n:natH1:(S n >= 0)%natHrecn:(n >= 0)%nat -> 0 = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * 0 ^ (2 * k + 1)) n(n >= 0)%natx:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x <> 0Un_cv (B1 x) (sin x)x:RH:x <> 0Un_cv (B1 x) (let (a, _) := exist_sin x² in x * a)x:RH:x <> 0x0:Rp:sin_in x² x0Un_cv (B1 x) (x * x0)x:RH:x <> 0x0:Rp:forall eps : R, eps > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n - x0) < epsUn_cv (B1 x) (x * x0)x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n - x0) < eps0eps:RH0:eps > 0exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (B1 x n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xexists N : nat, forall n : nat, (n >= N)%nat -> Rabs (B1 x n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n : nat, (n >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n : nat, (n >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n - x0) < eps / Rabs xexists N : nat, forall n : nat, (n >= N)%nat -> Rabs (B1 x n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs (B1 x n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs (sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs (x * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x * x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs (x * (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x0)) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs x * Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x0) < epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nat0 < / Rabs xx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nat/ Rabs x * (Rabs x * Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x0)) < / Rabs x * epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nat/ Rabs x * (Rabs x * Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x0)) < / Rabs x * epsx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n - x0) < eps * / Rabs xx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs x <> 0x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natRabs x <> 0x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natx * sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natsum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i * x) n = sum_f_R0 (fun k : nat => (-1) ^ k / INR (fact (2 * k + 1)) * x ^ (2 * k + 1)) nx:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i : nat => (-1) ^ i / INR (fact (2 * i + 1)) * x² ^ i) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%natforall i : nat, (i <= n)%nat -> (-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i * x = (-1) ^ i / INR (fact (2 * i + 1)) * x ^ (2 * i + 1)x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nati:natH4:(i <= n)%nat(-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i * x = (-1) ^ i / INR (fact (2 * i + 1)) * x ^ (2 * i + 1)x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nati:natH4:(i <= n)%nat(-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i * x = (-1) ^ i / INR (fact (2 * i + 1)) * (x ^ (2 * i) * x ^ 1)x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nati:natH4:(i <= n)%nat(-1) ^ i / INR (fact (2 * i + 1)) * (x * x) ^ i * x = (-1) ^ i / INR (fact (2 * i + 1)) * ((x * x) ^ i * x ^ 1)ring. Qed.x:RH:x <> 0x0:Rp:forall eps0 : R, eps0 > 0 -> exists N : nat, forall n0 : nat, (n0 >= N)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps0eps:RH0:eps > 0H1:0 < eps / Rabs xx1:natH2:forall n0 : nat, (n0 >= x1)%nat -> Rabs (sum_f_R0 (fun i0 : nat => (-1) ^ i0 / INR (fact (2 * i0 + 1)) * x² ^ i0) n0 - x0) < eps / Rabs xn:natH3:(n >= x1)%nati:natH4:(i <= n)%nat(-1) ^ i / INR (fact (i + (i + 0) + 1)) * (x * x) ^ i * x = (-1) ^ i / INR (fact (i + (i + 0) + 1)) * ((x * x) ^ i * (x * 1))