Proof with Tarski.
intros.
cases_col A B C.
assert (exists C', ~ Col A B C').
eapply l6_25...
DecompEx H1 C'.
assert (  exists P : Point,
(exists T : Point, Perp A B P A /\ Col A B T /\ Bet C' T P)).
apply (l8_21_aux A B C');auto.
DecompEx H1 P.
DecompEx H3 T.
exists P.
exists C.
intuition.
eapply l8_21_aux;auto.
Qed.

(* Specifications: *)
Lemma perp_symmetry : forall A B C D, Perp A B C D -> Perp C D A B.
Lemma perp_commutativity : forall A B C D, Perp A B C D -> Perp B A D C.
Lemma perp_left_commutativity : forall A B C D, Perp A B C D -> Perp B A C D.
Lemma perp_right_commutativity : forall A B C D, Perp A B C D -> Perp A B D C.
Lemma perp_in_left_commutativity : forall A B C D X,
Perp_in X A B C D -> Perp_in X B A C D.
Lemma perp_in_right_commutativity : forall A B C D X,
Perp_in X A B C D -> Perp_in X A B D C.
Lemma perp_in_commutativity : forall A B C D X,
Perp_in X A B C D -> Perp_in X B A D C.
Lemma perp_in_symmetry : forall A B C D X,
Perp_in X A B C D -> Perp_in X C D A B.