(** Saccheri's three hypotheses *)
Definition hypothesis_of_right_saccheri_quadrilaterals := forall A B C D, Saccheri A B C D -> Per A B C.
Definition hypothesis_of_acute_saccheri_quadrilaterals := forall A B C D, Saccheri A B C D -> Acute A B C.
Definition hypothesis_of_obtuse_saccheri_quadrilaterals := forall A B C D, Saccheri A B C D -> Obtuse A B C.

(* Specifications: *)
Lemma per_sac__rah : forall A B C D,
Saccheri A B C D -> Per A B C -> hypothesis_of_right_saccheri_quadrilaterals.
Lemma acute_sac__aah : forall A B C D,
Saccheri A B C D -> Acute A B C -> hypothesis_of_acute_saccheri_quadrilaterals.
Lemma obtuse_sac__oah : forall A B C D,
Saccheri A B C D -> Obtuse A B C -> hypothesis_of_obtuse_saccheri_quadrilaterals.
Lemma per__ex_saccheri : forall A B D, Per B A D -> A <> B -> A <> D ->
exists C, Saccheri A B C D.
Lemma ex_saccheri : exists A B C D, Saccheri A B C D.
Lemma ex_lambert : exists A B C D, Lambert A B C D.
Lemma saccheri_s_three_hypotheses :
hypothesis_of_acute_saccheri_quadrilaterals \/ hypothesis_of_right_saccheri_quadrilaterals \/ hypothesis_of_obtuse_saccheri_quadrilaterals.
Lemma not_aah :
hypothesis_of_right_saccheri_quadrilaterals \/ hypothesis_of_obtuse_saccheri_quadrilaterals -> ~ hypothesis_of_acute_saccheri_quadrilaterals.
Lemma not_rah :
hypothesis_of_acute_saccheri_quadrilaterals \/ hypothesis_of_obtuse_saccheri_quadrilaterals -> ~ hypothesis_of_right_saccheri_quadrilaterals.
Lemma not_oah :
hypothesis_of_acute_saccheri_quadrilaterals \/ hypothesis_of_right_saccheri_quadrilaterals -> ~ hypothesis_of_obtuse_saccheri_quadrilaterals.
Lemma lam_per__rah : forall A B C D,
Lambert A B C D -> (Per B C D <-> hypothesis_of_right_saccheri_quadrilaterals).
Lemma lam_acute__aah : forall A B C D,
Lambert A B C D -> (Acute B C D <-> hypothesis_of_acute_saccheri_quadrilaterals).
Lemma lam_obtuse__oah : forall A B C D,
Lambert A B C D -> (Obtuse B C D <-> hypothesis_of_obtuse_saccheri_quadrilaterals).
Lemma t22_11__per : forall A B C D,
Saccheri A B C D -> (CongA A B D B D C <-> Per A B C).
Lemma t22_11__acute : forall A B C D,
Saccheri A B C D -> (LtA A B D B D C <-> Acute A B C).
Lemma t22_11__obtuse : forall A B C D,
Saccheri A B C D -> (LtA B D C A B D <-> Obtuse A B C).
Lemma t22_12__rah : forall A B C,
A <> B -> B <> C -> Per A B C ->
(SumA B C A C A B A B C <-> hypothesis_of_right_saccheri_quadrilaterals).
Lemma t22_12__aah : forall A B C P Q R,
Per A B C -> SumA B C A C A B P Q R ->
(Acute P Q R <-> hypothesis_of_acute_saccheri_quadrilaterals).
Lemma t22_12__oah : forall A B C P Q R,
Per A B C -> SumA B C A C A B P Q R ->
(Obtuse P Q R <-> hypothesis_of_obtuse_saccheri_quadrilaterals).
Lemma t22_14__bet_aux : forall A B C P Q R,
hypothesis_of_right_saccheri_quadrilaterals ->
~ Col A B C -> TriSumA A B C P Q R -> Acute A B C -> Acute A C B -> Bet P Q R.