Proof with Geometry.
intros.
assert (P <> Q).
eapply par_aux_1.
apply H...
assert (T := A2a P Q (S P U V / S4 P U Q V))...
elim T; intro O; intros...
decompose [and] p...
clear T p...
cut (O ** Q / P ** Q = - (S Q U V / S4 P U Q V))...
intro...
assert (S O U V = P ** O / P ** Q * S Q U V + O ** Q / P ** Q * S P U V)...
apply l2_9...
assert (P ** O / P ** Q = S P U V / S4 P U Q V)...
rewrite H2...
field...
clear H2; rename H5 into H2...
rewrite H2 in H4...
rewrite H3 in H4...
assert (S O U V = 0)...
rewrite H4; field...
exists O...
assert (P ** O / P ** Q = S P U V / S4 P U Q V)...
rewrite H2; field...
clear H2; rename H3 into H2...
assert (P ** Q + Q ** O = P ** O)...
rewrite <- H3 in H2...
assert (O ** Q / P ** Q = 1 - S P U V / S4 P U Q V)...
rewrite <- H2...
assert (O ** Q = - Q ** O)...
rewrite H4...
field...
assert (1 - S P U V / S4 P U Q V = (S4 P U Q V - S P U V) / S4 P U Q V)...
field...
rewrite H5 in H4...
clear H5...
unfold S4 in H4...
assert (S P U Q + S P Q V - S P U V = - S Q U V)...
assert (S P Q V = S P Q U + S P U V + S U Q V)...
rewrite H5...
assert (S P Q U = - S P U Q)...
rewrite H6...
assert (S U Q V = - S Q U V)...
rewrite H7...
ring...
rewrite H5 in H4...
rewrite H4...
unfold S4 in |- *...
field...
Qed.

Lemma inter_ll_ex :  forall P Q U V : Point,
~ parallel P Q U V -> exists Y, inter_ll Y P Q U V.