Ltac Cong := eauto 3 with cong.

(* Specifications: *)
Lemma betH_to_bet : forall A B C , BetH A B C -> Bet A B C /\ A <> B /\ B <> C /\ A <> C.
Lemma betH_line : forall A B C, BetH A B C -> exists l, IncidL A l /\ IncidL B l /\ IncidL C l.
Lemma bet_identity : forall A B, Bet A B A -> A = B.
Lemma morph : forall l m, EqL l m -> (forall A, IncidL A l <-> IncidL A m).
Lemma point3_online_exists : forall A B l, IncidL A l -> IncidL B l -> exists C, IncidL C l /\ C <> A /\ C <> B.
Lemma not_betH121 : forall A B, ~BetH A B A.
Lemma cong_identity : forall A B C , Cong A B C C -> A = B.
Lemma cong_inner_transitivity : forall A B C D E F, Cong A B C D -> Cong A B E F -> Cong C D E F.
Lemma other_point_on_line : forall A l, IncidL A l -> exists B, A <> B /\ IncidL B l.
Lemma bet_disjoint : forall A B C, BetH A B C -> disjoint A B B C.
Lemma addition_betH : forall A B C A' B' C', BetH A B C -> BetH A' B' C' -> CongH A B A' B' -> CongH B C B' C' -> CongH A C A' C'.
Lemma outH_trivial : forall A B, A<>B -> outH A B B.
Lemma same_side_refl :forall l A, ~ IncidL A l -> same_side A A l.
Lemma same_side_prime_refl: forall A B C, ~ ColH A B C -> same_side' C C A B.
Lemma outH_expand: forall A B C, outH A B C -> outH A B C /\ ColH A B C /\ A<>C /\ A<>B.
Lemma construction_uniqueness : forall A B D E, BetH A B D -> BetH A B E -> CongH B D B E -> D = E.
Lemma out_distinct : forall A B C, outH A B C -> A <> B /\ A <> C.
Lemma out_same_side : forall A B C l, IncidL A l -> ~IncidL B l -> outH A B C -> same_side B C l.
Lemma between_one : forall A B C, A <> B -> A <> C -> B <> C -> ColH A B C -> BetH A B C \/ BetH B C A \/ BetH B A C.
Lemma betH_dec : forall A B C, A <> B -> B <> C -> A <> C -> BetH A B C \/ ~ BetH A B C.
Lemma cut2_not_cut : forall A B C l, ~ColH A B C -> cut l A B -> cut l A C -> ~cut l B C.
Lemma strong_pasch : forall A B C l p, ~ ColH A B C -> IncidP A p -> IncidP B p -> IncidP C p -> IncidLP l p -> ~ IncidL C l -> cut l A B -> cut l A C /\ ~ cut l B C \/ cut l B C /\ ~ cut l A C.
Lemma out2_out : forall A B C D, C <> D -> BetH A B C -> BetH A B D -> BetH B C D \/ BetH B D C.
Lemma out2_out1 : forall A B C D, C <> D -> BetH A B C -> BetH A B D -> BetH A C D \/ BetH A D C.
Lemma betH2_out : forall A B C D, B <> C -> BetH A B D -> BetH A C D -> BetH A B C \/ BetH A C B.
Lemma segment_construction : forall A B C D, exists E, Bet A B E /\ Cong B E C D.
Lemma lower_dim_e : exists A, exists B, exists C, ~ (Bet A B C \/ Bet B C A \/ Bet C A B).
Lemma outH_dec : forall A B C, outH A B C \/ ~outH A B C.
Lemma out_construction : forall A B X Y, X <> Y -> A <> B -> exists C, CongH A C X Y /\ (outH A B C).