Proof with finish.
intros.
permutation_intro_in_hyps.
assert (Par A B Q P /\ Cong A R P Q /\ Cong B R P Q) by (apply triangle_mid_par_flat_cong_aux with C; assumption).
assert (Par A C R P /\ Cong A Q P R /\ Cong C Q P R) by (apply triangle_mid_par_flat_cong_aux with B; Col).
assert (Par C B Q R /\ Cong C P R Q /\ Cong B P R Q) by (apply triangle_mid_par_flat_cong_aux with A; Col).
spliter.
repeat split...
Qed.

(* Specifications: *)
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 .