Proof with Geometry.
intros...
cases_equality M A...
rewrite H3...
rewrite H3 in H0...
rewrite H3 in H2...
assert (~ Col Q A M)...
unfold not in |- *; intro...
assert (Col Q M A)...
assert (Col Q M P)...
assert (Col Q A P); eauto with Geom...
assert (Col A M Q)...
assert (Col A M B)...
assert (Col A B Q); eauto with Geom...
cases_equality P M...
rewrite <- H5 in H1...
assert (Col P A B)...
rewrite H6...
assert (P ** M = 0)...
rewrite H7...
field...
cases_equality P Q...
rewrite H6...
field...
assert (~ Col P A M)...
unfold not in |- *; intro...
assert (Col P M A)...
assert (Col P M Q)...
assert (Col P A Q); eauto with Geom...
apply co_side_main...
Qed.
Hint Resolve co_side: Geom.

Theorem inter_unicity :
forall A B P Q M : Point,
~ parallel P Q A B -> Col A B M -> Col P Q M -> A = Q -> A = M.