Proof with eTarski.
intros.
assert (exists x, Bet A C x /\ Cong C x C D)...
DecompExAnd H2 x.
assert (Bet B C x)...
assert (x=D).
eapply construction_unicity;try apply H1...
subst x...
Qed.

(* Specifications: *)
Lemma between_exchange2 : forall A B C D,
Bet A B D -> Bet B C D -> Bet A C D.