(** The two following lemmas constitute Theorem 21.11 *)

(* Specifications: *)
Lemma mid2_sac__perp_lower : forall A B C D M N,
Saccheri A B C D ->
Midpoint M B C -> Midpoint N A D ->
Perp A D M N.
Lemma mid2_sac__perp_upper : forall A B C D M N, Saccheri A B C D ->
Midpoint M B C -> Midpoint N A D -> Perp B C M N.
Lemma sac__par_strict1423 : forall A B C D, Saccheri A B C D -> Par_strict A D B C.
Lemma sac__par_strict1234 : forall A B C D, Saccheri A B C D -> Par_strict A B C D.
Lemma sac__par1423 : forall A B C D, Saccheri A B C D -> Par A D B C.
Lemma sac__par1234 : forall A B C D, Saccheri A B C D -> Par A B C D.
Lemma lam__par_strict1234 : forall A B C D, Lambert A B C D -> Par_strict A B C D.
Lemma lam__par_strict1423 : forall A B C D, Lambert A B C D -> Par_strict A D B C.
Lemma lam__par1234 : forall A B C D, Lambert A B C D -> Par A B C D.
Lemma lam__par1423 : forall A B C D, Lambert A B C D -> Par A D B C.
(** The four following constitute Theorem 22.3 *)
Lemma mid2_sac__lam6521 : forall A B C D M N,
Saccheri A B C D ->
Midpoint M B C -> Midpoint N A D ->
Lambert N M B A.
Lemma mid2_sac__lam6534 : forall A B C D M N,
Saccheri A B C D ->
Midpoint M B C -> Midpoint N A D ->
Lambert N M C D.
Lemma lam6521_mid2__sac : forall A B C D M N,
Lambert N M B A ->
Midpoint M B C -> Midpoint N A D ->
Saccheri A B C D.
Lemma lam6534_mid2__sac : forall A B C D M N,
Lambert N M C D ->
Midpoint M B C -> Midpoint N A D ->
Saccheri A B C D.