Ltac assert_all := treat_equalities; assert_cols_perm; assert_diffs; assert_congs_perm.

(* Specifications: *)
Lemma col_permut132 : forall A B C, Col A B C -> Col A C B.
Lemma col_permut213 : forall A B C, Col A B C -> Col B A C.
Lemma col_permut231 : forall A B C, Col A B C -> Col B C A.
Lemma col_permut312 : forall A B C, Col A B C -> Col C A B.
Lemma col_permut321 : forall A B C, Col A B C -> Col C B A.
Lemma col123_124__col134 : forall P Q A B, P <> Q -> Col P Q A -> Col P Q B -> Col P A B.
Lemma col123_124__col234 : forall P Q A B, P <> Q -> Col P Q A -> Col P Q B -> Col Q A B.
Lemma triangle_mid_par_strict : forall A B C P Q, ~Col A B C -> Midpoint P B C -> Midpoint Q A C -> Par_strict A B Q P.
Lemma triangle_mid_par_strict_cong_aux : forall A B C P Q R, ~Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par_strict A B Q P /\ Cong A R P Q /\ Cong B R P Q .
Lemma triangle_par_mid : forall A B C P Q, ~ Col A B C -> Midpoint P B C -> Par A B Q P -> Col Q A C -> Midpoint Q A C.
Lemma triangle_mid_par_strict_cong_1 : forall A B C P Q R, ~Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par_strict A B Q P /\ Cong A R P Q.
Lemma triangle_mid_par_strict_cong_2 : forall A B C P Q R, ~Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par_strict A B Q P /\ Cong B R P Q.
Lemma triangle_mid_par_strict_cong_simp : forall A B C P Q, ~ Col A B C -> Midpoint P B C -> Midpoint Q A C -> Par_strict A B Q P.
Lemma triangle_mid_par_strict_cong : forall A B C P Q R, ~Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par_strict A B Q P /\ Par_strict A C P R /\ Par_strict B C Q R /\ Cong A R P Q /\ Cong B R P Q /\ Cong A Q P R /\ Cong C Q P R /\ Cong B P Q R /\ Cong C P Q R.
Lemma triangle_mid_par_flat_cong_aux : forall A B C P Q R, B <> A -> Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par A B Q P /\ Cong A R P Q /\ Cong B R P Q.
Lemma triangle_mid_par_flat_cong_1 : forall A B C P Q R, B <> A -> Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par A B Q P /\ Cong A R P Q.
Lemma triangle_mid_par_flat_cong_2 : forall A B C P Q R, B <> A -> Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par A B Q P /\ Cong B R P Q.
Lemma triangle_mid_par_flat_cong : forall A B C P Q R, B <> A -> C <> A -> C <> B -> Col A B C -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par A B Q P /\ Par A C P R /\ Par B C Q R /\ Cong A R P Q /\ Cong B R P Q /\ Cong A Q P R /\ Cong C Q P R /\ Cong B P Q R /\ Cong C P Q R.
Lemma triangle_mid_par_flat : forall A B C P Q, B <> A -> Col A B C -> Midpoint P B C -> Midpoint Q A C -> Par A B Q P.
Lemma triangle_mid_par : forall A B C P Q, A <> B -> Midpoint P B C -> Midpoint Q A C -> Par A B Q P.
Lemma triangle_mid_par_cong : forall A B C P Q R, B <> A -> C <> A -> C <> B -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par A B Q P /\ Par A C P R /\ Par B C Q R /\ Cong A R P Q /\ Cong B R P Q /\ Cong A Q P R /\ Cong C Q P R /\ Cong B P Q R /\ Cong C P Q R.
Lemma triangle_mid_par_cong_1 : forall A B C P Q R, C <> B -> Midpoint P B C -> Midpoint Q A C -> Midpoint R A B -> Par B C Q R /\ Cong B P Q R .