(** ** Differentiability *)

Definition PS_derive (a : nat -> R) (n : nat) :=
  INR (S n) * a (S n).

(* Specifications: *)
Lemma CV_radius_derive (a : nat -> R) : CV_radius (PS_derive a) = CV_radius a.
Lemma is_derive_PSeries (a : nat -> R) (x : R) : Rbar_lt (Finite (Rabs x)) (CV_radius a) -> is_derive (PSeries a) x (PSeries (PS_derive a) x).
Lemma ex_derive_PSeries (a : nat -> R) (x : R) : Rbar_lt (Finite (Rabs x)) (CV_radius a) -> ex_derive (PSeries a) x.
Lemma Derive_PSeries (a : nat -> R) (x : R) : Rbar_lt (Finite (Rabs x)) (CV_radius a) -> Derive (PSeries a) x = PSeries (PS_derive a) x.
Lemma is_pseries_derive (a : nat -> R) x : Rbar_lt (Rabs x) (CV_radius a) -> is_pseries (PS_derive a) x (Derive (PSeries a) x).
Lemma ex_pseries_derive (a : nat -> R) (x : R) : Rbar_lt (Finite (Rabs x)) (CV_radius a) -> ex_pseries (PS_derive a) x.