Proof with Geometry.
intros.
assert (Th := (on_line_dex_spec P Q C D H0)).
elim Th;intro Y;intros;clear Th.
decompose [and] p;clear p.
exists Y.
repeat split;try assumption.
apply parallel_side_eq_weak_weak_weak_para...
cut (parallel C D P Y)...
eapply col_par_par.
apply H0.
Geometry.
Geometry.
Qed.

(* Specifications: *)
Lemma on_line_dex_spec_strong_ter :
forall P Q C D : Point,
parallel P Q C D -> P<>Q ->
(P=D -> C=D) -> (Col C P Q -> P**C <> C**D) ->
exists Y : Point, Col Y P Q /\ P ** Y = C ** D /\ weak_2_parallelogram P Y D C.