Proof with finish.
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;finish).
assert_all.
assert_paras_perm.
assert_pars_perm.
assert (Cong A x B P) by eCong.
assert (Par A x B P) by (apply par_col2_par with P C; finish).
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 H23.
treat_equalities.
search_contradiction.
assert_paras_perm.
assert_pars_perm.
assert (Par P Q A B) by (assert_diffs; apply par_col_par_2 with x; finish).
split.
apply par_not_col_strict with x...
intro.
assert_cols_perm.
apply H.
ColR.
assert_congs_perm;split;eCong.
Qed.

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.