(** This is exterior angle theorem *)

(* Specifications: *)
Lemma l11_41 : forall A B C D,
~ Col A B C ->
Bet B A D ->
A <> D ->
LtA A C B C A D /\ LtA A B C C A D.
Lemma not_conga : forall A B C A' B' C' D E F ,
CongA A B C A' B' C' ->
~ CongA A B C D E F ->
~ CongA A' B' C' D E F.
Lemma not_conga_sym : forall A B C D E F,
~ CongA A B C D E F ->
~ CongA D E F A B C.
Lemma not_and_lta : forall A B C D E F, ~ (LtA A B C D E F /\ LtA D E F A B C).
Lemma conga_preserves_lta : forall A B C D E F A' B' C' D' E' F',
CongA A B C A' B' C' ->
CongA D E F D' E' F' ->
LtA A B C D E F ->
LtA A' B' C' D' E' F'.
Lemma conga_preserves_gta : forall A B C D E F A' B' C' D' E' F',
CongA A B C A' B' C' ->
CongA D E F D' E' F' ->
GtA A B C D E F ->
GtA A' B' C' D' E' F'.
Lemma lta_trans : forall A B C A1 B1 C1 A2 B2 C2,
LtA A B C A1 B1 C1 ->
LtA A1 B1 C1 A2 B2 C2 ->
LtA A B C A2 B2 C2.
Lemma gta_trans : forall A B C A1 B1 C1 A2 B2 C2,
GtA A B C A1 B1 C1 ->
GtA A1 B1 C1 A2 B2 C2 ->
GtA A B C A2 B2 C2.
Lemma lea_left_comm : forall A B C D E F, LeA A B C D E F -> LeA C B A D E F.
Lemma lea_right_comm : forall A B C D E F, LeA A B C D E F -> LeA A B C F E D.
Lemma lea_comm : forall A B C D E F, LeA A B C D E F -> LeA C B A F E D.
Lemma lta_left_comm : forall A B C D E F, LtA A B C D E F -> LtA C B A D E F.
Lemma lta_right_comm : forall A B C D E F, LtA A B C D E F -> LtA A B C F E D.
Lemma lta_comm : forall A B C D E F, LtA A B C D E F -> LtA C B A F E D.
Lemma obtuse_sym : forall A B C, Obtuse A B C -> Obtuse C B A.
Lemma acute_sym : forall A B C, Acute A B C -> Acute C B A.
Lemma acute_col__out : forall A B C, Col A B C -> Acute A B C -> Out B A C.
Lemma col_obtuse__bet : forall A B C, Col A B C -> Obtuse A B C -> Bet A B C.
Lemma out__acute : forall A B C, Out B A C -> Acute A B C.
Lemma bet__obtuse : forall A B C, Bet A B C -> A <> B -> B <> C -> Obtuse A B C.
Lemma l11_43_aux : forall A B C, A <> B -> A <> C -> (Per B A C \/ Obtuse B A C) -> Acute A B C.
Lemma l11_43 : forall A B C, A <> B -> A <> C -> (Per B A C \/ Obtuse B A C) -> Acute A B C /\ Acute A C B.
Lemma acute_lea_acute : forall A B C D E F, Acute D E F -> LeA A B C D E F -> Acute A B C.
Lemma obtuse_gea_obtuse : forall A B C D E F, Obtuse D E F -> GeA A B C D E F -> Obtuse A B C.
(** In an isosceles triangle the two base angles are equal. This is Euclid: Book 1, Proposition 5. *)
Lemma l11_44_1_a : forall A B C, A <> B -> A <> C -> Cong B A B C -> CongA B A C B C A.
(** This is Euclid: Book 1, Proposition 18 *)
Lemma l11_44_2_a : forall A B C, ~ Col A B C -> Lt B A B C -> LtA B C A B A C.
Lemma not_lta_and_conga : forall A B C D E F, ~ (LtA A B C D E F /\ CongA A B C D E F).
Lemma not_gta_and_conga : forall A B C D E F, ~ (GtA A B C D E F /\ CongA A B C D E F).
Lemma not_lta_and_gta : forall  A B C D E F, ~ (LtA A B C D E F /\ GtA A B C D E F).
Lemma conga_sym_equiv : forall A B C A' B' C', CongA A B C A' B' C' <-> CongA A' B' C' A B C.
Lemma conga_dec :
forall A B C D E F,
CongA A B C D E F \/ ~ CongA A B C D E F.
Lemma lta_not_conga : forall A B C D E F, LtA A B C D E F -> ~ CongA A B C D E F.
(** If the base angles are equal, then the triangle is isosceles *)
Lemma l11_44_1_b : forall A B C, ~ Col A B C -> CongA B A C B C A -> Cong B A B C.
(** This is Euclid Book I, Proposition 19 *)
Lemma l11_44_2_b : forall A B C, LtA B A C B C A -> Lt B C B A.
Lemma l11_44_1 : forall A B C, ~ Col A B C -> (CongA B A C B C A <-> Cong B A B C).
Lemma l11_44_2 : forall A B C, ~ Col A B C -> (LtA B A C B C A <-> Lt B C B A).
Lemma l11_46 : forall A B C, A <> B -> B <> C -> (Per A B C \/ Obtuse A B C) -> Lt B A A C /\ Lt B C A C.
Lemma l11_47 : forall A B C H , Per A C B -> Perp_at H C H A B ->
Bet A H B /\ A <> H /\ B <> H.