Proof with finish.
intros A B C X1 X2 X3 HNC HPar1 HPar2 HPar3.
apply cop_npar__inter_exists.
apply coplanar_perm_2, coplanar_trans_1 with C; Col; Cop.
intro HNPar; apply HNC.
assert (HFalsePar : Par B C A C)
by (apply (par_trans B C B X1 A C); finish; apply (par_trans B C A X3 B); finish).
apply par_id_2...
Qed.

(* Specifications: *)
Lemma not_col_par_col2_diff : forall A B C D E F,
~ Col A B C -> Par A B C D -> Col C D E -> Col A E F -> A <> E.
Lemma construct_triangle : forall A B C,
~ Col A B C -> exists D, exists E, exists F,
Col B D F /\ Col A E F /\ Col C D E /\
Par A B C D /\ Par A C B D /\ Par B C A E /\
Par A B C E /\ Par A C B F /\ Par B C A F /\
D <> E /\ D <> F /\ E <> F.
Lemma diff_not_col_col_par4_mid: forall A B C D E,
D <> E -> ~ Col A B C -> Col C D E -> Par A B C D ->
Par A B C E -> Par A E B C -> Par A C B D -> Midpoint C D E.
Lemma altitude_is_perp_bisect : forall A B C O A1 E F,
A <> O -> E <> F -> Perp A A1 B C -> Col O A1 A -> Col A E F -> Par B C A E -> Midpoint A E F ->
Perp_bisect A O E F.