Definition Bessel1 (n : nat) (x : R) :=
  (x/2)^n * PSeries (Bessel1_seq n) ((x/2)^2).

(* Specifications: *)
Lemma is_derive_Bessel1 (n : nat) (x : R) : is_derive (Bessel1 n) x ((x / 2) ^ S n * PSeries (PS_derive (Bessel1_seq n)) ((x / 2) ^ 2) + (INR n)/2 * (x / 2) ^ pred n * PSeries (Bessel1_seq n) ((x / 2) ^ 2)).
Lemma is_derive_2_Bessel1 (n : nat) (x : R) : is_derive_n (Bessel1 n) 2 x (((x/2)^(S (S n)) * PSeries (PS_derive (PS_derive (Bessel1_seq n))) ((x / 2) ^ 2)) + ((INR (2*n+1)/2) * (x/2)^n * PSeries (PS_derive (Bessel1_seq n)) ((x / 2) ^ 2)) + (INR (n * pred n) / 4 * (x / 2) ^ pred (pred n) * PSeries (Bessel1_seq n) ((x / 2) ^ 2))).
Lemma Bessel1_correct (n : nat) (x : R) : x^2 * Derive_n (Bessel1 n) 2 x + x * Derive (Bessel1 n) x + (x^2 - (INR n)^2) * Bessel1 n x = 0.
Lemma Bessel1_equality_1 (n : nat) (x : R) : x <> 0 -> Bessel1 (S n)%nat x = INR n * Bessel1 n x / x - Derive (Bessel1 n) x.
Lemma Bessel1_equality_2 (n : nat) (x : R) : (0 < n)%nat -> x<>0 -> Bessel1 (S n)%nat x + Bessel1 (pred n)%nat x = (2*INR n)/x * Bessel1 n x.
Lemma Bessel1_equality_3 (n : nat) (x : R) : (0 < n)%nat -> Bessel1 (S n)%nat x - Bessel1 (pred n)%nat x = - 2 * Derive (Bessel1 n) x.
Lemma Bessel1_uniqueness_aux_0 (a : nat -> R) (n : nat) : Rbar_lt 0 (CV_radius a) -> (forall x : R, Rbar_lt (Rabs x) (CV_radius a) -> x^2 * Derive_n (PSeries a) 2 x + x * Derive (PSeries a) x + (x^2 - (INR n)^2) * PSeries a x = 0) -> (a 0%nat = 0 \/ n = O) /\ (a 1%nat = 0 \/ n = 1%nat) /\ (forall k, (INR (S (S k)) ^ 2 - INR n ^ 2) * a (S (S k)) + a k = 0).
Lemma Bessel1_uniqueness_aux_1 (a : nat -> R) (n : nat) : (a 0%nat = 0 \/ n = O) -> (a 1%nat = 0 \/ n = 1%nat) -> (forall k, (INR (S (S k)) ^ 2 - INR n ^ 2) * a (S (S k)) + a k = 0) -> (forall k : nat, (k < n)%nat -> a k = 0) /\ (forall p : nat, a (n + 2 * p + 1)%nat = 0) /\ (forall p : nat, a (n + 2 * p)%nat = Bessel1_seq n p * / 2 ^ (2 * p) * INR (fact n) * a n).
Lemma Bessel1_uniqueness (a : nat -> R) (n : nat) : (Rbar_lt 0 (CV_radius a)) -> (forall x : R, x^2 * Derive_n (PSeries a) 2 x + x * Derive (PSeries a) x + (x^2 - (INR n)^2) * PSeries a x = 0) -> {b : R | forall x, PSeries a x = b * Bessel1 n x}.