Definition same_side' := fun A B X Y =>
  X <> Y /\ forall l, IncidentL X l -> IncidentL Y l -> same_side A B l.

(* Specifications: *)
Lemma OS_distinct : forall P Q A B, OS P Q A B -> P<>Q.
Lemma OS_same_side' : forall P Q A B, OS P Q A B -> same_side' A B P Q.
Lemma same_side_OS : forall P Q A B, same_side' P Q A B -> OS A B P Q.
Lemma outH_out : forall P A B, outH P A B -> Out P A B.
Lemma incident_col : forall M l, IncidentL M l -> Col M (P1 l)(P2 l).
Lemma col_incident : forall M l, Col M (P1 l)(P2 l) -> IncidentL M l.
Lemma Bet_Between_H : forall A B C, Bet A B C -> A<>B -> B<>C -> Between_H A B C.
Lemma axiom_cong_5' : forall A B C A' B' C', ~ Col_H A B C -> ~ Col_H A' B' C' -> Cong A B A' B' -> Cong A C A' C' -> CongA B A C B' A' C' -> CongA A B C A' B' C'.
Lemma axiom_hcong_4_existence : forall A B C O X P, ~ Col_H P O X -> ~ Col_H A B C -> exists Y, CongA A B C X O Y (* /\ ~Col O X Y *) /\ same_side' P Y O X.
Lemma same_side_trans : forall A B C l, same_side A B l -> same_side B C l -> same_side A C l.
Lemma same_side_sym : forall A B l, same_side A B l -> same_side B A l.
Lemma axiom_hcong_4_uniqueness : forall A B C O P X Y Y', ~ Col_H P O X -> ~ Col_H A B C -> CongA A B C X O Y -> CongA A B C X O Y' -> same_side' P Y O X -> same_side' P Y' O X -> outH O Y Y'.
Lemma axiom_conga_comm : forall A B C, ~ Col_H A B C -> CongA A B C C B A.
Lemma axiom_congaH_outH_congaH : forall A B C D E F A' C' D' F' : Tpoint, CongA A B C D E F -> Between_H B A A' \/ Between_H B A' A \/ B <> A /\ A = A' -> Between_H B C C' \/ Between_H B C' C \/ B <> C /\ C = C' -> Between_H E D D' \/ Between_H E D' D \/ E <> D /\ D = D' -> Between_H E F F' \/ Between_H E F' F \/ E <> F /\ F = F' -> CongA A' B C' D' E F'.
Lemma axiom_conga_permlr: forall A B C D E F : Tpoint, CongA A B C D E F -> CongA C B A F E D.
Lemma axiom_conga_refl : forall A B C, ~ Col_H A B C -> CongA A B C A B C.