Local Infix "│" := divides (at level 70, no associativity).
Section Pell.
Variable (b_nat : nat) (Hb_nat : 2 <= b_nat).
Fixpoint alpha_nat n :=
match n with
| 0   => 0
| S p => match p with
| 0   => 1
| S r => b_nat * alpha_nat p - alpha_nat r
end
end.
Fact alpha_nat_fix_0 : alpha_nat 0 = 0.    Proof. auto. Qed.
Fact alpha_nat_fix_1 : alpha_nat 1 = 1.    Proof. auto. Qed.
Fact alpha_nat_fix_2 n : alpha_nat (S (S n)) = b_nat *alpha_nat (S n) - alpha_nat n.
Fact alpha_nat_inc n : alpha_nat n < alpha_nat (S n).

(* Specifications: *)
Corollary alpha_nat_mono i j : i <= j -> alpha_nat i <= alpha_nat j.
Corollary alpha_nat_smono i j : i < j -> alpha_nat i < alpha_nat j.
Fact alpha_nat_ge_n n : n <= alpha_nat n.