intros; split; intro.
cut (frac_part_n_alpha a = frac_part_n_alpha (first N)).
intro; apply (tech_fp_alp_irr a (first N) H2).
elim (Rle_le_eq (frac_part_n_alpha a) (frac_part_n_alpha (first N))); intros;
clear H3;
generalize (H1 (first N) (first_0 N (prop_N N)) (first_N N (prop_N N)));
generalize (first_n N a (prop_N N) H H0 prop_alpha);
intros; apply H2.
split; auto.
intros; rewrite H1; apply (first_n N b (prop_N N) H2 H3 prop_alpha).
Qed.

(* Specifications: *)
(**********)
Lemma eq_first_M_N :
forall N M : nat,
M = first N + last N ->
((forall b : nat,
0 < b -> b < M -> (frac_part_n_alpha (first N) <= frac_part_n_alpha b)%R) <->
first N = first M).