unfold after in |- *; intros; generalize H4; clear H4;
case (exist_after_M (frac_part_n_alpha n) (P1 n) (P2 n) N);
intro.
elim s; intros x y H4; clear s; elim y; intros; clear y; unfold Rgt in H6;
cut (0 <= k).
elim H6; intros; elim H8; intros; generalize (H11 k H9 H2 H3);
unfold Rge in |- *; unfold Rgt in |- *; intro; elim H12;
auto with arith real.
intro; elimtype False; auto with arith real.
apply (lt_le_weak 0 k H1).
unfold frac_part_n_alpha in |- *; simpl in |- *; rewrite Rmult_0_l;
rewrite fp_R0; elim (base_fp (INR k * alpha)); intros;
unfold Rge in H4; elim H4; auto with arith real.
intro; elimtype False; auto with arith real.
Qed.

(* Specifications: *)
(**********)
Lemma tech_suc_M :
forall N n : nat,
N - first N <= n ->
n < last N ->
(exists k : nat,
0 < k /\
k < N /\
(frac_part_n_alpha n < frac_part_n_alpha k)%R /\
(frac_part_n_alpha k < frac_part_n_alpha (n + first N - last N))%R) ->
False.