Proof with Geometry.
intros.
assert (D <> Y).
unfold not;intro;subst D...
unfold not;intro.
assert (C ** Y / D ** Y = S C A B / S D A B)...
assert (S C A B = S D A B).
unfold parallel in H6.
unfold S4 in H6.
assert (S C A B = - S A C B)...
rewrite H8.
RewriteVar (S A C B) H6.
ring_simplify.
Geometry.
rewrite H8 in H7.
assert (C ** Y = D ** Y).
RewriteVar (C ** Y) H7.
field...
Geometry.
assert (C = D).
assert (C ** D + D ** Y = C ** Y)...
rewrite <- H10 in H9.
assert (C ** D = 0)...
RewriteVar (C ** D) H9...
Geometry.
Qed.

(* Specifications: *)
Lemma col_par_1 : forall A B C,
Col A B C -> parallel A B B C.
Lemma col_par_2 : forall A B C,
Col A B C -> parallel A B C B.
Lemma col_par_3 : forall A B C,
Col A B C -> parallel B A C B.
Lemma col_par_4 : forall A B C,
Col A B C -> parallel B A B C.