Section Orientation.
Context `{T2D:Tarski_2D}.
Context `{TE:@Tarski_euclidean Tn TnEQD}.
Definition proj := fun  T A B P => A <> B /\ (~Col A B T /\ Perp A B T P /\ Col A B P \/ Col A B T /\ P = T).
Definition eqo := fun A B P A1 B1 P1 => ~Col A B P /\ ~Col A1 B1 P1 /\
forall C C1 B2 M B' C' K,
Perp A B C A  -> Per P C A -> Perp A1 B1 C1 A1 -> Per P1 C1 A1 ->
Out A1 B1 B2 -> Cong A B A1 B2 ->
Midpoint M A A1 -> Midpoint M B2 B' -> Midpoint M C1 C' -> Midpoint K B B' ->
Bet C A C' \/ OS A K C C'.
Definition eq_o := fun A B P A1 B1 P1 => ~Col A B P /\ ~Col A1 B1 P1 /\
forall C C1 B2 M B' C' K,
Perp A B C A -> proj P A C C -> Perp A1 B1 C1 A1 -> proj P1 A1 C1 C1 ->
Out A1 B1 B2 -> Cong A B A1 B2 ->
Midpoint M A A1 -> Midpoint M B2 B' -> Midpoint M C1 C' -> Midpoint K B B' ->
Bet C A C' \/ OS A K C C'.

Lemma per_preserves_bet_aux1 : forall P Q A B C B' C', P <> Q -> Bet A B C ->
Col P Q A ->
Per B B' P -> Col P Q B' ->
Per C C' P -> Col P Q C' ->
P <> A -> P <> B' -> P <> C' ->
Bet A B' C'.