Ltac eCol := eauto with col.

(* Specifications: *)
Lemma bet_out : forall A B C, B <> A -> Bet A B C -> Out A B C.
Lemma out_dec : forall P A B, Out P A B \/ ~ Out P A B.
Lemma out_diff1 : forall A B C, Out A B C -> B <> A.
Lemma out_diff2 : forall A B C, Out A B C -> C <> A.
Lemma out_distinct : forall A B C, Out A B C -> B <> A /\ C <> A.
Lemma out_col : forall A B C, Out A B C -> Col A B C.
Lemma l6_2 : forall A B C P, A<>P -> B<>P -> C<>P -> Bet A P C -> (Bet B P C <-> Out P A B).
Lemma bet_out__bet : forall A B C P, Bet A P C -> Out P A B -> Bet B P C.
Lemma l6_3_1 : forall A B P, Out P A B -> (A<>P /\ B<>P /\ exists C, C<>P /\ Bet A P C /\ Bet B P C).
Lemma l6_3_2 : forall A B P, (A<>P /\ B<>P /\ exists C, C<>P /\ Bet A P C /\ Bet B P C) -> Out P A B.
Lemma l6_4_1 : forall A B P, Out P A B -> Col A P B /\ ~ Bet A P B.
Lemma l6_4_2 : forall A B P, Col A P B /\ ~ Bet A P B -> Out P A B.
Lemma out_trivial : forall P A, A<>P -> Out P A A.
Lemma l6_6 : forall P A B, Out P A B -> Out P B A.
Lemma l6_7 : forall P A B C, Out P A B -> Out P B C -> Out P A C.
Lemma bet_out_out_bet : forall A B C A' C', Bet A B C -> Out B A A' -> Out B C C' -> Bet A' B C'.
Lemma out2_bet_out : forall A B C X P, Out B A C -> Out B X P -> Bet A X C -> Out B A P /\ Out B C P.
Lemma l6_11_uniqueness : forall A B C R X Y, R<>A -> B<>C -> Out A X R -> Cong A X B C -> Out A Y R -> Cong A Y B C -> X=Y.
Lemma l6_11_existence : forall A B C R, R<>A -> B<>C -> exists X, Out A X R /\ Cong A X B C.
Lemma segment_construction_3 : forall A B X Y, A <> B -> X <> Y -> exists C, Out A B C /\ Cong A C X Y.
Lemma l6_13_1 : forall P A B, Out P A B -> Le P A P B -> Bet P A B.
Lemma l6_13_2 : forall P A B, Out P A B -> Bet P A B -> Le P A P B.
Lemma l6_16_1 : forall P Q S X, P<>Q -> Col S P Q -> Col X P Q -> Col X P S.
Lemma col_transitivity_1 : forall P Q A B, P<>Q -> Col P Q A -> Col P Q B -> Col P A B.
Lemma col_transitivity_2 : forall P Q A B, P<>Q -> Col P Q A -> Col P Q B -> Col Q A B.
Lemma l6_21 : forall A B C D P Q, ~ Col A B C -> C<>D -> Col A B P -> Col A B Q -> Col C D P -> Col C D Q -> P=Q.
Lemma not_col_exists : forall A B, A<>B -> exists C, ~ Col A B C.
Lemma col3 : forall X Y A B C, X <> Y -> Col X Y A -> Col X Y B -> Col X Y C -> Col A B C.
Lemma colx : forall A B C X Y, A <> B -> Col X Y A -> Col X Y B -> Col A B C -> Col X Y C.
Lemma out2__bet : forall A B C, Out A B C -> Out C A B -> Bet A B C.
Lemma bet2_le2__le1346 : forall A B C A' B' C', Bet A B C -> Bet A' B' C' -> Le A B A' B' -> Le B C B' C' -> Le A C A' C'.
Lemma bet2_le2__le2356 : forall A B C A' B' C', Bet A B C -> Bet A' B' C' -> Le A B A' B' -> Le A' C' A C -> Le B' C' B C.
Lemma bet2_le2__le1245 : forall A B C A' B' C', Bet A B C -> Bet A' B' C' -> Le B C B' C' -> Le A' C' A C -> Le A' B' A B.
Lemma cong_preserves_bet : forall B A' A0 E D' D0, Bet B A' A0 -> Cong B A' E D' -> Cong B A0 E D0 -> Out E D' D0 -> Bet E D' D0.
Lemma out_cong_cong : forall B A A0 E D D0, Out B A A0 -> Out E D D0 -> Cong B A E D -> Cong B A0 E D0 -> Cong A A0 D D0.
Lemma not_out_bet : forall A B C, Col A B C -> ~ Out B A C -> Bet A B C.
Lemma or_bet_out : forall A B C, Bet A B C \/ Out B A C \/ ~Col A B C.
Lemma not_bet_out : forall A B C, Col A B C -> ~Bet A B C -> Out B A C.
Lemma not_bet_and_out : forall A B C, ~ (Bet A B C /\ Out B A C).
Lemma out_to_bet : forall A B C A' B' C', Col A' B' C' -> (Out B A C <-> Out B' A' C') -> Bet A B C -> Bet A' B' C'.
Lemma col_out2_col : forall A B C AA CC, Col A B C -> Out B A AA -> Out B C CC -> Col AA B CC.
Lemma bet2_out_out : forall A B C B' C', B <> A -> B' <> A -> Out A C C' -> Bet A B C -> Bet A B' C' -> Out A B B'.
Lemma bet2__out : forall A B C B', A <> B -> A <> B' -> Bet A B C -> Bet A B' C -> Out A B B'.
Lemma out2_out_1 : forall B C D X, Out B X C -> Out B X D -> Out B C D.
Lemma out2_out_2 : forall B C D X, Out B C X -> Out B D X -> Out B C D.
Lemma out_bet_out_1 : forall A B C P, Out P A C -> Bet A B C -> Out P A B.
Lemma out_bet_out_2 : forall A B C P, Out P A C -> Bet A B C -> Out P B C.
Lemma out_bet__out : forall A B P Q, Bet P Q A -> Out Q A B -> Out P A B.
Lemma segment_reverse : forall A B C, Bet A B C -> exists B', Bet A B' C /\ Cong C B' A B.
Lemma diff_col_ex : forall A B, exists C, A <> C /\ B <> C /\ Col A B C.
Lemma diff_bet_ex3 : forall A B C, Bet A B C -> exists D, A <> D /\ B <> D /\ C <> D /\ Col A B D.
Lemma diff_col_ex3 : forall A B C, Col A B C -> exists D, A <> D /\ B <> D /\ C <> D /\ Col A B D.