Proof with Geometry.
intros.
cut (~ Col Q A B)...
unfold not in |- *; intro.
unfold inter_ll in *.
DecompAndAll.
assert (A<>B);try (unfold not;intro;subst A)...
assert (P<>Q);try (unfold not;intro;subst P)...
assert (Col B Q M).
eapply col_trans_1 with (B:= A)...
assert (Col A Q M).
eapply col_trans_1 with (B:= B)...
assert (Col Q P B).
eapply col_trans_1 with (B:=M)...
assert (Col Q P A).
eapply col_trans_1 with (B:=M)...
assert (Col P A B).
eapply col_trans_1 with (B:=Q)...
assert (parallel A B P Q).
unfold parallel, S4, Col in *.
uniformize_signed_areas.
rewrite H1.
ring_simplify.
Geometry.
intuition.
Qed.
(* Theorem aux_co_side_1 : forall A B P Q M : Point, Q <> M -> inter_ll M A B P Q -> S Q A B <> 0. Proof with Geometry.  intros. unfold not in |- *; intro. assert (Col Q P Q)... unfold inter_ll in *. DecompAndAll. assert (Q = M). eapply inter_llunicity;try apply H6... intuition. Qed. *)
Hint Resolve aux_co_side_1: Geom.

(* Specifications: *)
Theorem co_side_elim_1 :
forall A B P Q M : Point,
Q <> M ->
inter_ll M A B P Q ->
P ** M / Q ** M = S P A B / S Q A B.