Require Export GeoCoq.Elements.OriginalProofs.lemma_NCorder.

Section Euclid.

Context `{Ax:euclidean_neutral}.

Lemma lemma_oppositesideflip : 
   forall A B P Q, 
   TS P A B Q ->
   TS P B A Q.
Proof.
(* Goal: forall (A B P Q : @Point Ax) (_ : @TS Ax P A B Q), @TS Ax P B A Q *)
intros.
let Tf:=fresh in
assert (Tf:exists r, (BetS P r Q /\ Col A B r /\ nCol A B P)) by (conclude_def TS );destruct Tf as [r];spliter.
(* Goal: @TS Ax P B A Q *)
assert (nCol B A P) by (forward_using lemma_NCorder).
(* Goal: @TS Ax P B A Q *)
assert (Col B A r) by (forward_using lemma_collinearorder).
(* Goal: @TS Ax P B A Q *)
assert (TS P B A Q) by (conclude_def TS ).
(* Goal: @TS Ax P B A Q *)
close.
Qed.

End Euclid.


