intros; generalize (contradiction1 N k H H0); intro;
cut
(~ (frac_part_n_alpha k < frac_part_n_alpha (first N))%R /\
~ (frac_part_n_alpha k > frac_part_n_alpha (last N))%R).
intro; elim H2; intros; split.
apply (Rnot_lt_ge (frac_part_n_alpha k) (frac_part_n_alpha (first N)) H3).
apply (Rnot_gt_le (frac_part_n_alpha k) (frac_part_n_alpha (last N)) H4).
apply
(not_or_and (frac_part_n_alpha k < frac_part_n_alpha (first N))%R
(frac_part_n_alpha k > frac_part_n_alpha (last N))%R H1).
Qed.

(**********)
Lemma absurd_first :
forall N k : nat,
0 < k ->
k < first N + last N ->
(frac_part_n_alpha (first N) <= frac_part_n_alpha k)%R.