(** ** Convergence criteria *)
(** D'Alembert criterion for power series *)

(* Specifications: *)
Lemma CV_disk_DAlembert_aux (a : nat -> R) (x k : R) :
x <> 0 -> (forall n, a n <> 0) ->
(is_lim_seq (fun n => Rabs (a (S n) / a n)) k
<-> is_lim_seq (fun n => Rabs ((a (S n) * x^(S n)) / (a n * x ^ n))) (Rabs x * k)).
Lemma CV_disk_DAlembert (a : nat -> R) (x:R) l :
(forall n:nat, a n <> 0) ->
is_lim_seq (fun n:nat => Rabs (a (S n) / a n)) (Finite l) ->
(l = 0 \/ (l <> 0 /\ Rabs x < / l))
-> CV_disk a x.
Lemma CV_radius_finite_DAlembert (a : nat -> R) (l : R) :
(forall n:nat, a n <> 0) -> 0 < l ->
is_lim_seq (fun n:nat => Rabs (a (S n) / a n)) l ->
CV_radius a = Finite (/l).
Lemma CV_radius_infinite_DAlembert (a : nat -> R) :
(forall n:nat, a n <> 0) ->
is_lim_seq (fun n:nat => Rabs (a (S n) / a n)) 0 ->
CV_radius a = p_infty.