proposition: 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.
proof: Proof. intros. Name x the symmetric of P wrt Q. assert_all. assert (~ Col A P C) by (intro; search_contradiction). assert_diffs. assert (Parallelogram_strict A P C x) by (apply mid_plgs with Q;auto). assert_all. assert_pars_perm. assert (Cong A x B P) by (apply cong_transitivity with P C; Cong). assert (Par A x B P) by (apply par_col2_par with P C; Col). assert (HElim : Parallelogram A x B P \/ Parallelogram A x P B) by (apply par_cong_plg_2; assumption). induction HElim. Name M the intersection of the diagonals (A B) and (x P) of the parallelogram H22. treat_equalities. search_contradiction. assert_pars_perm. assert (Par P Q A B) by (assert_diffs; apply par_col_par_2 with x; Col; Par). split. apply par_not_col_strict with x; Col; Par. intro. assert_cols_perm. apply H. ColR. assert_congs_perm;split;CongR. Qed.
imports: GeoCoq.Tarski_dev.Annexes.quadrilaterals_inter_dec