Proof with Between.
intros.
assert (exists P, Bet D A P /\ A<>P);Tarski.
DecompExAnd H1 P.
apply l5_2 with (A:=P)...
Qed.
(** Predicates to compare segment lengths. *)
Definition le := fun A B C D =>
exists y, Bet C y D /\ Cong A B C y.
Definition ge := fun A B C D => le C D A B.

Lemma l5_5_1 : forall A B C D,
le A B C D -> exists x, Bet A B x /\ Cong A x C D.