Proof with Geometry.
unfold on_line_d.
intros.
DecompAndAll.
assert (~A=Y).
unfold not;intro.
subst A.
intuition.
assert (T:exists Y0 : Point,
Col Y0 A Y /\
A ** Y0 = C ** D /\ weak_3_parallelogram A Y0 D C).
apply on_line_dex_spec_strong_f...
DecompExAnd T SS.
assert (A<>SS).
unfold not;intro;subst SS.
basic_simpl.
assert (C=D)...
assert (A**Y / A**SS = (S A P Q)/(S4 A P SS Q)).
apply co_side_ter...
cases_equality P Y.
subst P.
unfold not;intro.
assert (Col A SS Q).
eapply (par_col_col_1).
apply H8.
Geometry.
assert (Col A Y Q).
eapply col_trans_1 with (B:=SS)...
intuition.
eapply common_point_not_par.
2:apply H3.
Geometry.
auto.
auto.
unfold not;intro.
assert (Col P Q A).
eapply col_trans_1 with (B:= Y)...
assert (Col A P Q)...
rewrite <- H9.
rewrite H8.
clear H8.
replace (S4 A P SS Q) with (S4 C P D Q).
auto.
replace (S4 C P D Q) with (- S4 P C Q D).
2:Geometry.
replace (S4 A P SS Q) with (- S4 P A Q SS).
2:Geometry.
replace (S4 P C Q D) with (S4 P A Q SS).
auto.
eapply l2_11b_strong_strong_strong...
Qed.

Lemma elim_length_ratio_on_line_2 :
forall (A C D P Q Y : Point),
on_line Y P Q ->
~ Col A P Q ->
C <> D -> parallel A Y C D ->
A ** Y / C ** D = S A P Q / S4 C P D Q.